天天看點

Unity中關于作用力方式ForceMode的功能注解

功能注解:ForceMode為枚舉類型,用來控制力的作用方式,有4個枚舉成員,在以下舉例中均設剛體品質為m=2.0f,力向量為f=(10.0f,0.0f,0.0f)。

(1)ForceMode.Force:預設方式,使用剛體的品質計算,以每幀間隔時間為機關計算動量。設FixedUpdate()的執行頻率采用系統預設值(即0.02s),,則由動量定理

f•t=m•v

可得:10*0.02=2*v1,進而可得v1=0.1,即每幀剛體在X軸上值增加0.1米,進而可計算得剛體的每秒移動速度為v2=(1/0.02)*v1=5m/s。

(2)ForceMode.Acceleration:在此種作用方式下會忽略剛體的實際品質而采用預設值1.0f,時間間隔以系統幀頻間隔計算(預設值為0.02s),即

f•t=1.0•v

即可得v1= f•t=10*0.02=0.2,即剛體每幀增加0.2米,進而可得剛體的每秒移動速度為v2=(1/0.02)*v1=10m/s。

(3)ForceMode.Impulse:此種方式采用瞬間力作用方式,即把t的值預設為1,不再采用系統的幀頻間隔,即

f•1.0=m•v

即可得v1=f/m=10.0/2.0=5.0,即剛體每幀增加5.0米,進而可得剛體每秒的速度為v2=(1/0.02)*5.0=250m/s。

(4)ForceMode.VelocityChange:此種作用方式下将忽略剛體的實際品質,采用預設品質1.0,同時也忽略系統的實際幀頻間隔,采用預設間隔1.0,即

f•1.0=1.0•v

即可得v1=f=10.0,即剛體每幀沿X軸移動距離為10米,進而可得剛體每秒的速度為v2=(1/0.02)*v1=500m/s。

http://blog.csdn.net/quan2008happy/article/details/39299991

繼續閱讀