[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
17
(2): 名前は開発中のものです。 [sage] 2018/06/23(土) 14:32:06.82 ID:z+j0CTeY(1/2) AAS
>>15
15(2): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/23(土) 11:04:08.74 ID:biCjVGhQ(1) AAS
>>10
「unity スマホ 2d」でgglと出てくる上3つくらいのWeb見るといいのかなと思いましたが、ここで質問している事は既に見ている上での質問だったでしょうか?

>>12
重力の場合、Rigidbodyだと重力が適用されているので、例えば何かオブジェクトを作成してRidgidbodyをアタッチして、プレイすると自然落下しますよね、もし12のコードにすると、毎回9.8を掛ける事になるので、とてつもない速さで落下してしまいます。
まぁやってみると解ると思うけど。
うそ教えちゃいけないよ。
>>12
12(2): 名前は開発中のものです。 [sage] 2018/06/23(土) 08:57:56.16 ID:P+CKIpjT(1) AAS
>>9
ありがとうございます。
てことは、例えば重力なんかの場合、加速度9.8m/s^2だったら、update()に書く場合、addforce(9.8 * Time.deltatime)でいいんでしょうか。
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で求める。
1-
あと 985 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.010s