Unityでオブジェクトを配置してマップを作る

前回までで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とかで作って読み込んで
もっと広いマップを作りたいですね。

////////////////////////////////////////
ー広告ー



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です