簡體   English   中英

攪拌機彈跳球計算

[英]Blender bouncing ball calculation

我正在嘗試制作一個腳本,用於對攪拌機中的彈跳球進行動畫處理-

關鍵因素是

  • 球直徑:25cm
  • 下降高度:1.7m
  • 速度0.8m / s

在每次轉彎(擊中地板)后,其速度應僅為其速度的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM