在面板中生成时预制的尺寸太小

时间:2019-04-05 12:42:30

标签: c# unity3d

我正在面板中生成预制件,但是它的大小像点一样小,但是当我在面板外部生成时,没有问题。请检查下面的图片和代码

enter image description here

public class RedKeyShapeSpawn : MonoBehaviour
{
    public GameObject redshapes;

    void Start()
    {
        GameObject redkeychild1 = Instantiate(redshapes, transform.position, 
transform.rotation) as GameObject; 
        redkeychild1.transform.SetParent(GameObject.FindGameObjectWithTag
("ShapePanel").transform, false);

    }


    void Update()
    {

    }
}

RedKeyShapeSpawn脚本已附加到RedKey1spawn对象

2 个答案:

答案 0 :(得分:1)

问题是,当您在面板内生成对象时,它将继承父位置并将其用作参考(x,y和z是相对的)。 例如,如果您的面板位于原点(0,0,0),或者您在代码中设置了绝对位置,则应该能够解决此问题。

PS。旋转和缩放相同

答案 1 :(得分:1)

此问题的罪魁祸首可能是ShapePanel的转变。如果该对象的变换不是1x1x1,则添加为面板子对象的任何对象都将受到它的影响。

请考虑将预制件作为面板的子代,然后相应地调整其比例。然后,当您生成预制件并将其添加为面板的子代时,RedKey的比例应符合您的预期。