「Unityで電車を走らせる」第17回目です。
前回は、踏切を作成し、レイアウトに追加しました。

前回の動画はこちら

 

今回は、既存の電車に中間車を追加し、電車を4両編成にしてみましょう。

作業の流れは次の通りです。

 

<今回の変更点>
・blender で中間車を作成する。
・中間車用のスクリプトを作成する。
・レイアウトに追加する。

 

それでは順番にはじめましょう。まずは blender で中間車両を作成します。中間車と先頭車の違いは運転席側部分の形状ですね。

ここの部分を修正しましょう。反対側と同じように面をフラットにし、ボディの色を整えます。

形をまっすぐにしただけで、左右対象にはなっていません。やや横着ですが、いずれ作り直すつもりなので、現状はこのままでいいでしょう。

 

次に、中間車用のスクリプトを作成します。スクリプトの内容としては、agent の目的地を先頭車(firstCar)にすることで、中間車が先頭車を追いかけるようにします。

 


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class FollowPlayer : MonoBehaviour {

	public GameObject firstCar;
	private NavMeshAgent agent;

	void Start () {
		agent = GetComponent();
	}

	void Update () {
		agent.destination = firstCar.transform.position;
	}
}

 

ただし速度調整が困難なので、Speed, Angular Speed, Acceleration は inspector で全車両統一しました(画像黄色部分)。また、3両目以降は追いかける対象となる First Car はその車両の一つ前の車両を指定(画像赤色部分)しています。つまり、3両目は2両目を対象に指定し、4両目は3両目を対象に指定することになります。

最後に中間車をレイアウトに追加します。車両も長くなってきたので、それに合わせて、線路も少し追加しました。詳細は動画にて。

中間車が追加されたことで、本物っぽくなってきました。また、迫力もでてきましたね。やはり連結されている電車を見るのいいものです。それでは、次回どうぞお楽しみに。