【问题标题】:Object size with no scale in UnityUnity中没有比例的对象大小
【发布时间】:2016-07-05 08:53:52
【问题描述】:

目前我正在创建需要动态生成地形的统一游戏。我有一个这样做的想法,芽我不知道检查我的地形的大小(确切宽度),以便在另一个地形旁边实例化它。我搜索了一些解决方案,但我发现的所有东西都对我不起作用。地形模型是在搅拌机中创建的,没有缩放。请注意,我是初学者。

public Renderer rend; 
public GameObject terr; 
public void SpawnChild(GameObject prefab, Vector3 relativePosition, Quaternion relativeRotation) 
{ 
GameObject childObj = Instantiate(prefab);
childObj.transform.parent = transform; 
childObj.transform.localPosition = relativePosition; 
childObj.transform.localRotation = relativeRotation;
childObj.transform.localScale = Vector3.one; 
} 

void Start () 
{ 
Vector3 center = rend.bounds.center; 
SpawnChild(terr, center, Quaternion.identity); 
}

【问题讨论】:

  • 我试过这个:public Renderer rend; public GameObject terr; public void SpawnChild(GameObject prefab, Vector3 relativePosition, Quaternion relativeRotation) { GameObject childObj = Instantiate(prefab); childObj.transform.parent = transform; childObj.transform.localPosition = relativePosition; childObj.transform.localRotation = relativeRotation; childObj.transform.localScale = Vector3.one; } void Start () { Vector3 center = rend.bounds.center; SpawnChild(terr, center, Quaternion.identity); }
  • 它生成的对象太远了
  • 切勿将代码放入 cmets,edit your question 并将代码放在那里。

标签: unity3d blender


【解决方案1】:

我的理解是你想实例化一个相邻的地形 你可以这样做:

Instantiate(prefab, transform.position + transform.scale, transform.rotation);

这应该在父对象的右上角创建 childObj,所以您可以做的是 childObj.transform.position.axis = transform.position.axis 和轴当然是您希望它与父对象相同的轴,所以可能是 x 轴。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2014-09-26
    • 2021-06-27
    • 2013-03-09
    相关资源
    最近更新 更多