motoh's blog

主に趣味の電子工作やプログラミングについて書いていきます

Unityで物理実験ができるようになるまで

今までUnityで物理実験を行ってきましたが、Unityの使い方については一切触れませんでした。そこで今回は、Unityで物理実験ができるようになるまでのステップを紹介したいと思います。

過去記事のいくつか
Unityで万有引力による運動の確認 - mizu-mi blog
Unityでモンキーハンティングの確認 - mizu-mi blog
Unityで運動量保存の法則を確認 - mizu-mi blog

 

 

Step1:Unityの基本を学ぶ

Unity公式HPチュートリアル「はじめてのUnityで、玉転がしゲームを作りながら以下のような基本を学ぶことができます。これだけで、物理実験に必要な知識のほとんどが揃います。

・プロジェクトの作成
・玉や壁の作成
・玉の移動
・カメラの移動
・UIの作成(スコアなどを画面に表示する)

2020.01.30 追記
玉転がしゲームを作成するチュートリアルはいつの間にか無くなっており、近い内容で以下のチュートリアルが用意されています(英語です)。

learn.unity.com

幸いなことに、チュートリアルの内容を日本語で丁寧に説明してくださっているブログがありましたのでこちらも紹介します。

baba-s.hatenablog.com

 

Step2:コンポーネントの扱いに慣れる

シミュレーションの仕様は、物体のオブジェクトに付加する各種コンポーネントの設定で決まります。これは、Step1で体験することができるので、その後は自分でいろいろ作ってみるとすぐに慣れてきます。

Transform
物体の位置、姿勢を決めるコンポーネント

Rigidbody
物体に物理特性を与えるコンポーネント。重力を加えるかどうかを設定したり、力(加速度)を加えたり、速度を与えたりできる。

Colider
物体同士の衝突をシミュレーションするためのコンポーネント

Phisic Material
物体の摩擦係数(静止摩擦係数、動摩擦係数)、及び反発係数を設定する。これはColiderに紐付けて使う。

ScriptC#):
Rigidbody
に力や速度を設定するには、スクリプトを書く必要がある(というか、スクリプトのおかげで、条件に応じて力や速度を変化させることができる)。

 

Step3:公開する(したい人だけ)

GIFアニメーション

私はUnity Recorderを使っています。アセットストアからダウンロードできます。
こちらの記事が参考になります。

qiita.com

軌跡描画

物体の軌跡を描画したほうがわかりやすい場合があります(惑星の軌道とか)。
こちらの記事が参考になります。

note.mu

 

リンク集のようになってしまいましたが、まとめると、Step1のチュートリアルだけでかなり遊べるようになりました。ゲームを作ろうとすると、もっとたくさんのことを学ぶ必要がありそうですが^^;