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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Unity Shader--关于顶点偏移的一点发现
前言最近学习Shader的过程中,发现了一个问题,顶点偏移后转换到裁剪空间的效果和顶点转换到裁剪空间后再偏移的效果不同,写下此文,供同学者参考。正文1.顶点偏移后转换到裁剪空间的效果关键代码:o.pos = UnityObjectToClipPos(v.vertex + _Vec)2.顶点转换到裁剪空间后再偏移的效果关键代码:o.pos = UnityObjectToClipPos(v.vertex
[Unity3D]如何给物体添加阴影效果
阴影在3D游戏中是非常重要的一个细节,所以这一章我们专门介绍如何给物体添加阴影效果。 我们在运行前面的Demo的时候会有一种感觉,就是经过大树的时候会有阴影投射到方块上。 那么下面就来介绍一下如何给方块添加阴影。 灯光是阴影产生的一个非常重要的要素, 默认的灯光的ShadowType是NoShadows: 将其选中SoftShadow便可以产生柔和的阴影效果: 选中Hard
在3Dmax中导出模型到Unity里,rotation发生了改变该怎么办
别的帖子都是在3dmax里改这个那个的,给一个简单粗暴的方法,在unity里创建一个空物体,rotation为(0,0,0),把正方向调好了的模型(实际角度可能各种各样的)直接挂在空物体上,这个空物体直接拿去用就对了。...
初始Unity 3D——基本模型的创建
如何在场景创建简单的模型: 常用快捷键: Q:抓手工具 W:位移工具 E:旋转工具 R:缩放工具(改变模型长宽高) T:不知道叫啥,应该是综合性工具Ctrl+N:新建场景 Ctrl+S:保存场景 F:聚焦模型,前提是鼠标在场景视图中 。 。 。 注意事项:场景属于资源,在Assets文件夹中创建Scenes文件便于管理,同时养成经常Ctrl+S保存场景的好习惯
三维图形原理 为什么我的模型老破面/缺面
转自:http://www.flab3d.com/tutor-tag-free-subtag-view-top-t22.html 回想一下当年我们玩的PS或土星游戏机,我们会记得常常在画面里看到破面,缺面,或者旋转镜头时某个物体突然跑到另一个物体前面这类问题。在目前本地游戏靠越
Unity中在界面上显示3D模型的方法
我们在mmo中通常会有在GUI上面显示一个3D模型的需求,比如查看人物装备的界面。我网上搜索了下,搜到的结果都是直接绑定一个模型到UI的指定位置,最多添加一个摄像机以便控制2d渲染和3d模型渲染的先后层次关系。NGUI和Daikon Forge的Demo中也是这么做的。这么做比较直接简单,通过一个新的摄像机并指定渲染内容和层级确实也可以一定程度上解决模型和GUI的遮挡问题。但是这个方法并不完善,如
Unity3d教程之导入3dMax模型产生问题的解决办法
Unity3d教程之导入3dMax模型产生问题的解决办法 更新时间2013-06-29    来源:本站整理 Unity3d 导入3dMax模型会产生的问题,按照官方的说明,将max模型导成fbx档导入untiy似乎也不行?能解决吗?答案当然是肯定的,接下来小编将分享问题的解决办法。pc141-ps教程自学网(www.pc141.com) Unity3d 3.5破解版
导入模型和贴图的最佳实践
看文之前,有言在先:这篇文不一定是所有情况下的最佳实践,只是我探索出的一种可行的流程。仅适用于文中所描述的情况。任何项目要想做的“顺手”,好修改,有条理,一定要整个团队都有很好的数据规范素养,有一套完善详尽的数据规范和流程,不是单纯靠一个什么“最佳实践”的流程能解决的。对美术人员来说,贴图命名规范、模型命名规范、模型结构规范、模型错误检查、模型比例匹配、历史记录清理、位置归零、文件存放路径等等都是很
关于武器挂点错位的问题的解决方案
客户端发现导致问题的原因在于角色在播放完动作A后,因为表现中武器需要旋转移动,所以挂点的位置在动作A最后一帧已经偏移。而玩家在此时可能技能被打断,回到了战立或者行走的动作,此时武器挂点没有归位。最初我怀疑是unity的动作在处理混入渐变的时候导致,我把所有执行混入渐变的地方全部修改为直接播放。测试发现,问题依然存在。(此结论一年半前已经得出,但是当时解决无果)。  今天再次检查和调试
Unity3D 渲染物体世界坐标 WorldPosition Shader
一、场景准备,建立一个简单的场景,一个平板在xz平面,一个红色小圆球代表原点,创建一个半径0.5的小球C位置在(0, 0.5, 0)  二、创建Shader: Shader中,将物体的世界坐标作为颜色传给fragment shader, Shader代码如下: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityO