前回までで3D空間を自由に移動できるようになりました。
今回は石のオブジェクトのプレファブコピーを複数配置
してみたいと思います。
Create→3D Object→Cube
で新しい立方体オブジェクトを作ります。
名前をCubePreにしました。
PositionとScaleを図のようにして
MaterialsにStoneのテクスチャを選択しました。
プロジェクトビューにD&Dしてプレファブ化。
ヒエラルキービューのCubePreはDeleteする。
プロジェクトビューでcreate→C#script
名前をMapMakerにしました。
//----------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MapMaker : MonoBehaviour {
public GameObject MapObject; //設計図を入れる箱をGameObject型変数で宣言
// Use this for initialization
void Start () {
GameObject MapPut = Instantiate(MapObject) as GameObject; //Instantiate関数でCubePreのコピーを作る。
MapPut.transform.position = new Vector3(-5, 3, 8);
MapPut = Instantiate(MapObject) as GameObject;
MapPut.transform.position = new Vector3(0, 3, 8);
MapPut = Instantiate(MapObject) as GameObject;
MapPut.transform.position = new Vector3(5, 3, 8);
MapPut = Instantiate(MapObject) as GameObject;
MapPut.transform.position = new Vector3(5, 8, 8);
MapPut = Instantiate(MapObject) as GameObject;
MapPut.transform.position = new Vector3(10, 8, 8);
}
// Update is called once per frame
void Update () {
}
}
//----------------------------------------------
Create Emptyで空のゲームオブジェクトを作る。
名前をMapKantokuにしました。
さっき書いたC#ScriptをMapKantokuにD&D。
MapKantokuのインスペクタビューのnoneって
なってるところにCubePreをD&Dして接続する。
では実行してみよー ^0^
プレファブコピーのCubePre(Clone)が
5こ作られてtransform.positionで指定した位置に
配置されました!
やったー ^^v
ちゃんと障害物として認識されているようで
ぶつかるとそれ以上進めないのです。
あとはマップファイルをCSVとかで作って読み込んで
もっと広いマップを作りたいですね。
////////////////////////////////////////
ー広告ー