2 qq 33448356 qq_33448356 于 2016.03.31 20:02 提问

为什么Unity 3d中模型产生偏移?

在unity3d中确定位置坐标生成模型,调用生成模型,然而模型不再该确定的位置上。这个问题怎么解决?
怎样将模型调用出现在设定的位置上?

void search(string information)
{

    for (int i = 0; i < list.Count; i++)
        GameObject.Destroy((Object)list[i]);
    list.Clear();

    for (int i = 0; i < Remdata.Length; i++)
    {
        for (int j = 0; j < Remdata[i].Length; j++)
        {
            Regex reg = new Regex(Remdata[i][j]);

            if (reg.IsMatch(information))
            {

                //statics = resource[i];


                //GameObject gFbx1 = (GameObject)Instantiate(objs[i], new Vector3(0,0, 2),new Quaternion());
                gFbx1 = (GameObject)Instantiate(Remobjs[i]);       //调用模型
                //Debug.Log(gFbx1);
                //GameObject gFbx1 = (GameObject)Instantiate(objs[i]);       //调用模型
                //list.Add(gFbx1);


                switch (temp)
                {
                    case 0: gFbx1.transform.position = new Vector3(0, 0, 2); break;
                    case 1: gFbx1.transform.position = new Vector3(0, 2, 2); break;
                    case 2: gFbx1.transform.position = new Vector3(2, 0, 2); break;
                    case 3: gFbx1.transform.position = new Vector3(0, 5, 2); break;
                    case 4: gFbx1.transform.position = new Vector3(0, 0, 5); break;
                    default: break;
                    // list.Add(gFbx1);

                }
                list.Add(gFbx1);
                temp++;

            }
        }
    }


}

3个回答

devmiao
devmiao   Ds   Rxr 2016.03.31 23:41
tian36315
tian36315   2016.08.10 14:39

注意当对象存在层级关系的时候设置坐标有两种情况:
一种是全局位置,即处于整个世界坐标系的位置,另一种是局部位置,即相对于该对象的父级对象的位置。

KiTok
KiTok   2016.09.05 14:32

目测博主,代码中实例对象之后,也没有指定他的父级什么的,所有排除子父级错误的问题。那就是代码逻辑哪块有点问题。试着,在实例的开始,过程,结尾
都不要去干预。再试试

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!