「Unityで電車を走らせる」第17回目です。
前回は、踏切を作成し、レイアウトに追加しました。
KoschyExpressVol.16 Unityで電車を走らせる【踏切の追加】http://www.koschyexpress.com/un016「Unityで電車を走らせる」第16回目です。前回は、複線用の直線線路と曲線線路の作成し、レイアウトを複線化しました。前回の動画はこちら。 今回は、私個人的に前から作りたかった踏切の作成にチャレンジしたいと思います。踏切の作成について、方針は次の通りです。<今回の変更点>・踏切の作成・単線用と複線用の踏切を作成する。・音が鳴ったり、遮断機が動いたり等のギミック等は今回は用意しない。それでは、作成をはじめましょう。まずは複線用の踏切から作成します。イチから作成するのは手間なので、例によって既存のも...
前回の動画はこちら。
今回は、既存の電車に中間車を追加し、電車を4両編成にしてみましょう。
作業の流れは次の通りです。
<今回の変更点>
・blender で中間車を作成する。
・中間車用のスクリプトを作成する。
・レイアウトに追加する。
・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両目を対象に指定することになります。
最後に中間車をレイアウトに追加します。車両も長くなってきたので、それに合わせて、線路も少し追加しました。詳細は動画にて。
中間車が追加されたことで、本物っぽくなってきました。また、迫力もでてきましたね。やはり連結されている電車を見るのいいものです。それでは、次回どうぞお楽しみに。