したい二乗の意味って?中心に向かって押さえつける動かしたい動かしましょう。動かしますよ!では、プレイヤーの移動のコード。Update()は毎フレーム呼ばれるところということで、遅延したくない入力を待たせるようにしてます。何か入力されてればinput_vがtrueになるよー、と。いうことでこのスクリプトの中身はFixedUpdate()内です。カメラ位置の話(4、5)の時に散々カメラ方向のベクトルは求めまくってるので、そこの説明は割愛します。基本はそのカメラ方向ベクトルの向きにRigidbodyで力を加えていくという流れ。カメラ方向ベクトルは今回は”tangent”って名前。変わって分かりづらいなぁと反省。Rigidbodyで色々試してたんだけど、どうも力を加えすぎると突拍子もないヤバい挙動になるし、速度出すぎて第三宇宙速度に簡単に到達するので速度制限設けました。プレイヤーのRigidbody.velocity.sqrMagnitudeを見て、その値が2500を超えたら力加えないよ!っていう条件。二乗の意味って?ところでこのsqrMagnitude。これはベクトルの長さの二乗なんですが、なぜ二乗?と。z×z$$ああ~ピタゴラスの定理で見たことあるぅ~\(x\)と\(y\)と\(z\)はそれぞれがそれぞれと直角に交わってる...ということは...はい!\(\vec{a}\cdot\vec{a}\)は長さ(の二乗)なんですね~本来の長さは\(\vec{a}\cdot\vec{a}\)のルートを取らなくちゃいけませんね~...しかし!ルート、平方根の計算って重いんです。内積は要素を掛けて足すだけ。b\)」とという性質もあるし。いうわけで、マジでベクトルの長さじゃないとダメなんだ!ってとき以外は内積をどうにかするだけでいいんですな。同じベクトル同士の内積にVector3.Dotを使って...とかしなくても、sqrMagnitudeで内積が出せるわけですな。いうことで、速度が50未満でしか力を加えない、として速度を制御してます。中心に向かって押さえつけるつぎ。「向心力掛けまっせ!」って意味です。向心力?回転運動するのに必要な力ですよ!遠心力は回転運動をやめようとする方向にかかっている(ように見える)力で、これと同じ大きさの力を反対向きにかけてやれば回転運動を続けるんですねぇ!それが向心力。遠心力の大きさ(スカラー)を法線ベクトルにかけて中心向きにしてやればOK、という式が22行目ですな。00またブログ始めました。Twitter→@Gchan_00Instagram→Gchan_00他にもSNSやってます俺公式LINE更新情報をプッシュ通知させることが出来ます。