物理エンジンと衝突判定 (1/4)
作成:2014-05-31 09:56
更新:2014-05-31 09:56
更新:2014-05-31 09:56
■物理空間を用意しよう
Unityでゲームオブジェクトを動かすには、位置の値を書き換えればOK、と前に説明しました。が、これは物理エンジンを利用していない場合の話です。物理エンジンを利用したシーンでは別のやり方をしなければいけません。
説明に入る前に、まずは物理エンジンを利用したシーンを用意しておきましょう。以下のようにしてシーンにサンプルとなるゲームオブジェクトを作成しておきましょう。
●Plane
地面になるものです。<GameObject>メニューからPlaneを1つ配置し、以下のように位置と大きさを設定して下さい。
Position――X:0, Y:0, Z:0
Rotation――X:0, Y:0, Z:0
Scale――X:10, Y:1, Z:10
Rigidbodyなどは不要です。このPlaneは単に「ゲームオブジェクトが下に落下しないように用意した地面」なので、物理エンジンの影響などはとりあえず何も考えていません。
●Sphere
球のゲームオブジェクトですね。<GameObject>メニューからSphereを1つ作成して下さい。そして以下のように位置などを設定しておきます。
Position――X:0, Y:1, Z:0
Rotation――X:0, Y:0, Z:0
Scale――X:1, Y:1, Z:1
作成後、<Component>メニューから以下の2つのコンポーネントを組み込んでおきましょう。
Rigidbody――<Physics>メニュー内にあります。これを追加することで物理的な力の影響をうけるようになります。インスペクターの細かな値はとりあえずデフォルトのままでいいでしょう。
スクリプト――JavaScriptのスクリプトを作成し、Sphereに組み込んでおきます。ここで動かす処理を記述します。
他、ライトや、作成したゲームオブジェクトのマテリアルなどは適当に用意しておきましょう。
説明に入る前に、まずは物理エンジンを利用したシーンを用意しておきましょう。以下のようにしてシーンにサンプルとなるゲームオブジェクトを作成しておきましょう。
●Plane
地面になるものです。<GameObject>メニューからPlaneを1つ配置し、以下のように位置と大きさを設定して下さい。
Position――X:0, Y:0, Z:0
Rotation――X:0, Y:0, Z:0
Scale――X:10, Y:1, Z:10
Rigidbodyなどは不要です。このPlaneは単に「ゲームオブジェクトが下に落下しないように用意した地面」なので、物理エンジンの影響などはとりあえず何も考えていません。
●Sphere
球のゲームオブジェクトですね。<GameObject>メニューからSphereを1つ作成して下さい。そして以下のように位置などを設定しておきます。
Position――X:0, Y:1, Z:0
Rotation――X:0, Y:0, Z:0
Scale――X:1, Y:1, Z:1
作成後、<Component>メニューから以下の2つのコンポーネントを組み込んでおきましょう。
Rigidbody――<Physics>メニュー内にあります。これを追加することで物理的な力の影響をうけるようになります。インスペクターの細かな値はとりあえずデフォルトのままでいいでしょう。
スクリプト――JavaScriptのスクリプトを作成し、Sphereに組み込んでおきます。ここで動かす処理を記述します。
他、ライトや、作成したゲームオブジェクトのマテリアルなどは適当に用意しておきましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※作成したシーン。PlaneとSphereを配置する。
※関連コンテンツ
「JavaScriptではじめるUnityプログラミング入門」に戻る