simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

Unity:物理コンストレイント

■前置き
このブログの一つ前のブログでも Unity に関する記事を定期的に書いてきました。
お仕事でも Unity 4 ~ Unity 5 での開発は行ってきており、Unity 歴はざっと 4 年ほどあります。
そんな私でも Unity について基礎ができているかと聞かれると、無いの一言しか返せませんでした。

基礎力が欲しい!
そんなとき「ゲーム開発を 1 から学ぼう」
unity3d.com

を見つけ、例の Dark skin にしたい欲求も重なって Unity Plus 年会員になって、無料で見られるビデオチュートリアルを視聴することを決めました。

チュートリアルを確認して得られた知見を簡単にまとめようと思います。

■Unity 基礎編

全24時間の動画を観終えるのに一週間丸々使いました。(平日ぶち抜きで)

内容について、ほとんど知っていましたが、今更存在に気付いた機能が一つだけありました。

Physics の Joint です。
物理エンジンのコンストレイントと言った方が昔の自分にはよく伝わります。

f:id:simplestar_tech:20181202171338g:plain
FixedJointを付けない状態と付けた状態の挙動の変化

Fixed Joint コンポーネントを追加することで、このように二つの Rigid Body をくっつけて物理計算を行うことができるようになります。

ほかにも Hinge Jointを付ければこのようなドアのような動きを作ることもできます。

f:id:simplestar_tech:20181202172533g:plain
Hinge Joint を小さい Cube に付けた時の様子

他にも Wheel Collider という、車輪のついたオブジェクトに適したものもあります。
倒した敵が地面を転がる Ragdall もあるよ!

これから作ろうとしているゲームでは欠かせない要素なのに、知らなかったなんて…
昔 Unity にコンストレイント機能はあるか先輩に尋ねて、そんなものはないと答えられたことを鵜呑みにしてしまっていた自分が恥ずかしい!

もし他にも Joint みたいな機能があったらいいなと思う人たちに、有益な情報として伝わるといいな