2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【ゲームエンジン】Unity初心者質問スレBuild1

17 :名前は開発中のものです。:2018/06/23(土) 14:32:06.82 ID:z+j0CTeY.net
>>15
うそ教えちゃいけないよ。
>>12
FixedUpdate(){
AddForce(Vector3.up * -9.8f);
}
で、rigidbody.mass=1ならvelocityが1秒後に9.8になる。Time.deltaTimeをかける必要はない。どんどん加速はするけど、それは実際の重力と同じ加速。

重力をやりたいなら、
FixedUpdateに
AddForce(Vector3.up * -9.8f.ForceMode.Acceleration);
て書いとけば、massに左右されず、rigidbodyのUseGravityと同じ結果になる。


引力はmassが馬鹿でかいし重力定数はくそ小さい。rigidbody.massは使わずに、
M1自分、相手m2として、fixedUpdate内で
F = G*m1*m2 / r^2
を相手m2 = 1として求めて、
AddForce(自分方向の単位ベクトル * F,ForceMode.Acceleration);
てしてやるといい。m2=1と言うのは、引力の公式から、自分が相手に与える加速度のみを取り出したと思えばいい。ForceMode.Accelerationと相性がいい。
Rigitbody.massを1のままにしとけば
AddForce(自分方向の単位ベクトル * F);
でも結果は一緒。もちろんFはm2=1で求める。

総レス数 1001
330 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200