ブログ

Unity入門講座[9]加速装置を作ろう!

(今回はこんなことを学びます)

・ある物体に触れるとBallが加速する方法

・物体に画像を貼り付ける方法

 

(物体に画像を貼り付ける方法)

・まず、「Hierarchy」→「Create」→「3D Object」→「Cube」で新たに物体を1つ作成してください。

・名前は「AccelPoint」に変更してください。

・Scale(大きさ)は「X=3, Y=0.01, Z=2」にします。

・Position(位置)は「X=0, Y=0.005, Z=0」にします。

 

スクリーンショット 2015-10-06 21.26.01

次に、AccelPointに貼り付ける画像をUnityにインポートします。

・「Assets右クリック」→「Import New Asset….」で画像を取り込んでください。

・物体に色を付ける時に使用する「Material」を作成してください。

・「Material」の名前も「AccelPoint」に変更します。

スクリーンショット 2015-10-06 21.34.52

・インポートした画像をMaterialの「Albedo」横の四角にドラッグ&ドロップしてください。

スクリーンショッ2ト 2015-10-06 21.35.07

スクリーンショット 2015-10-06 21.35.22

・「Material(名前;AccelPoint)」を物体(名前;AccelPoint)にドラッグ&ドロップしてください。

スクリーンショット 2015-10-06 21.35.31

物体に画像が付いたことを確認してください。

スクリーンショット 2015-10-06 21.54.03

この画像を微調整しましょう。

・「AccelPoint」の「Rotation」を「Y=90」にして、上むきの矢印画像にします。

スクリーンショット 2015-10-06 21.57.32

(ちょっとポイント!)

・MateriaのAccelPointを選択します。

・「Tiling」の数値を変えると、画像を細かく配置することができます。(床にタイルを敷き詰めるようなイメージです。)

スクリーンショット 2015-10-06 22.00.49

これで画像の準備ができました。

次は、スクリプト(台本)の準備です。

 

(加速装置のスクリプト)

・まず「C# Script」を作成し、名前を「AccelPoint」に変更します。

スクリーンショット 2015-10-06 22.16.48

・作成した「AccelPoint」スクリプトをダブルクリックします。

・手本を参考にコードを書いてみましょう。

スクリーンショット 2015-10-06 22.21.36

(コード)

*今回のコードは一行が長いので横スクロールで表示します↓

using UnityEngine;
using System.Collections;

public class AccelPoint : MonoBehaviour {

	void OnTriggerEnter(Collider other){
		other.gameObject.GetComponent<Rigidbody>().AddForce(new Vector3(0,0,10),ForceMode.VelocityChange);
	}
}

 

・コードが書けたら、スクリプト(台本)を物体に適用します。

スクリーンショット 2015-10-06 22.23.14

・物体のAccelPointを選択

・「is Trigger」にチェックを入れます。

*これで、AccelPoint に他の物体が触れた時、「OnTriggerEnter」の命令ブロックが実行されるようになります。

スクリーンショット 2015-10-06 22.37.55

さあ、これで準備が整いました。

「再生ボタン」を押して確認してみましょう。

BallがAccelPointに触れた瞬間、加速すれば成功です。