【发布时间】:2015-08-06 21:17:43
【问题描述】:
我正在尝试在我的 Minecraft 克隆中进行简单的地形生成。每当我尝试运行脚本时,它都会将所有实例化的对象放在位置 0、0、0。这是我用于地形生成的 C# 代码:
using UnityEngine;
using System.Collections;
public class TerrainGen : MonoBehaviour {
public int radius;
public int maxHeight;
public GameObject block;
void Start ()
{
for (float x = 0; x < radius; x+=1)
{
for (float z = 0; z < radius; z+=1)
{
float y = Random.Range(1, maxHeight);
Vector3 v = new Vector3(x, y, z);
GameObject newBlock = Instantiate(block, v, Quaternion.identity) as GameObject;
Debug.Log("Block's Position: " + newBlock.transform.position + " | Wanted Position: " + v);
}
}
}
void Update ()
{
}
【问题讨论】:
-
你忘记了密码。
-
悬念要了我的命
-
对不起,我在粘贴代码之前不小心发布了它
-
@bloobchube - 出于好奇,尝试将
Vector3 v = new Vector3(x, y, z);替换为Vector3 v = new Vector3(100, 100, y)。然后会发生什么? -
Pikamander2 我做到了。所有的块仍然保持在 0, 0, 0。
标签: c# object unity3d instantiation gameobject