统一。 "Stretching" 从预制实例化的对象
Unity. "Stretching" of an object instantiated from prefab
我正在尝试在道路上设置障碍物。为此,我通过生成道路的各个部分来生成一条道路,每个部分本身都会在其自身范围内生成多个障碍物。但是一些预制件在实例化后得到了奇怪的“拉伸”效果。不知道怎么解释,就录了个小视频link。此外,如果我通过“拖放”到场景来生成相同的对象,则此错误永远不会出现。
这是我生成障碍物的方式:
Vector3 size = GetComponent<Renderer>().bounds.size;
Vector3 pos = new Vector3(Random.Range(-0.3f*size.x,0.3f*size.x), 30, Random.Range(-0.3f*size.z,0.3f*size.z));
Debug.Log(pos + transform.position +"");
GameObject newBottle = Instantiate(minus_prefabs[Random.Range(0, minus_prefabs.Length)], new Vector3(transform.position.x+pos.x,transform.position.y + pos.y,transform.position.z+pos.z), Quaternion.Euler(0, 0, 0));
newBottle.transform.SetParent(transform);
发生这种情况是因为模型的父游戏对象在 X、Y 和 Z 上具有不同的大小。这会导致一些奇怪的拉伸。尝试进入您的预制件并将主要游戏对象的比例设置为 X:1 Y:1 Z:1
例如。
我也经常遇到这种情况。谢天谢地,它很容易修复!
编辑:实例化预制件时,还要确保它在每个轴上具有相同的尺寸。
作为一般规则,除非需要,否则请尽可能不要使用 1,1,1 以外的任何比例,并且它应该位于层次结构的叶节点或预制件上,而不是父节点。它会让事情变得更顺利。如果你需要改变网格的大小(因为新手建模者不知道如何在他们的建模程序中遵循 life-sized 缩放指标,或者你只是想让它变小或变大),你可以在FBX 上的导入设置。
我正在尝试在道路上设置障碍物。为此,我通过生成道路的各个部分来生成一条道路,每个部分本身都会在其自身范围内生成多个障碍物。但是一些预制件在实例化后得到了奇怪的“拉伸”效果。不知道怎么解释,就录了个小视频link。此外,如果我通过“拖放”到场景来生成相同的对象,则此错误永远不会出现。
这是我生成障碍物的方式:
Vector3 size = GetComponent<Renderer>().bounds.size;
Vector3 pos = new Vector3(Random.Range(-0.3f*size.x,0.3f*size.x), 30, Random.Range(-0.3f*size.z,0.3f*size.z));
Debug.Log(pos + transform.position +"");
GameObject newBottle = Instantiate(minus_prefabs[Random.Range(0, minus_prefabs.Length)], new Vector3(transform.position.x+pos.x,transform.position.y + pos.y,transform.position.z+pos.z), Quaternion.Euler(0, 0, 0));
newBottle.transform.SetParent(transform);
发生这种情况是因为模型的父游戏对象在 X、Y 和 Z 上具有不同的大小。这会导致一些奇怪的拉伸。尝试进入您的预制件并将主要游戏对象的比例设置为 X:1 Y:1 Z:1
例如。
我也经常遇到这种情况。谢天谢地,它很容易修复!
编辑:实例化预制件时,还要确保它在每个轴上具有相同的尺寸。
作为一般规则,除非需要,否则请尽可能不要使用 1,1,1 以外的任何比例,并且它应该位于层次结构的叶节点或预制件上,而不是父节点。它会让事情变得更顺利。如果你需要改变网格的大小(因为新手建模者不知道如何在他们的建模程序中遵循 life-sized 缩放指标,或者你只是想让它变小或变大),你可以在FBX 上的导入设置。