[英]Blender bouncing ball calculation
我正在嘗試制作一個腳本,用於對攪拌機中的彈跳球進行動畫處理-
關鍵因素是
在每次轉彎(擊中地板)后,其速度應僅為其速度的85%,高度應為其77%。
到目前為止我的代碼
# Variablen# Variablen
h = 1.7 # height
g = 9.81
t = 0 # time
v0 = 0.8 # velocity m / s
ctx.scene.frame_current = 1
ops.anim.keyframe_insert_menu(type='Location')
s = v0 * t # distance on x
boinks = 9
for x in range(1, boinks + 1):
t = t+math.sqrt(2*h/g)
s = t * v0
ctx.scene.frame_current = t*24
ops.transform.translate(value=(s, 0, -h))
ops.anim.keyframe_insert_menu(type='Location')
ctx.area.type = 'GRAPH_EDITOR'
ops.graph.select_leftright(mode='RIGHT')
ops.graph.handle_type(type='VECTOR')
ctx.area.type = 'TEXT_EDITOR'
v0 = v0*0.85
h = h * 0.77
t = t+math.sqrt(2*h/g)
s = t * v0
ctx.scene.frame_current = t*24
ops.transform.translate(value=(s, 0, h))
ops.anim.keyframe_insert_menu(type='Location')
ctx.area.type = 'GRAPH_EDITOR'
ops.graph.select_leftright(mode='RIGHT')
ops.graph.handle_type(type='FREE')
ctx.area.type = 'TEXT_EDITOR'
但是看起來有點不對勁。 我想我缺少了一些東西...
也許我不確定這是否對您有幫助,但是在為對象選擇位置fcurve的情況下,可以按T並選擇bounce ,這樣就完成了。 如果您想使用參數編寫代碼,這是毫無用處的,但是作為起點,它非常適合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.