Unity3D 获取与设置对象Transform组件下的position,rotation
2016-03-23 10:28
459 查看
//获取对象Transform组件下的position float xx; float yy; float zz; xx = GameObject.Find("objName").GetComponent<Transform>().position.x; yy = GameObject.Find("objName").GetComponent<Transform>().position.y; zz = GameObject.Find("objName").GetComponent<Transform>().position.z; //设置对象Transform组件下的position GameObject.Find ("objName").GetComponent<Transform>().position = new Vector3(xx,yy,zz); //获取对象Transform 组件下的 rotation float rx; float ry; float rz; rx = GameObject.Find ("objName").GetComponent<Transform> ().localEulerAngles.x; ry = GameObject.Find ("objName").GetComponent<Transform> ().localEulerAngles.y; rz = GameObject.Find ("objName").GetComponent<Transform> ().localEulerAngles.z; //设置对象Transform组件下的 rotation GameObject.Find ("objName").GetComponent<Transform> ().rotation = Quaternion.Euler(rx, ry, rz);
其中postion的获取与设置比较简单,需要注意的是rotation的获取 不能直接用rotation.x 获取,这样得到的数是一个-1到1的小数,需要用localEulerAngles.x的方法获取
rotation的设置同样值得注意,需要用到四元数 Quaternion.Euler(x,y,z);的方式实现。切记,切记。
相关文章推荐
- unity3d中用2D背景当作图片
- Unity3D PoolManager缓冲池插件
- Unity 单指与双指Touch事件捕获
- Unity3D的特殊目录名称
- Unity Shaders and Effects Cookbook (2-2) 修改 UV 坐标实现 帧动画
- [Unity3D][转] 关于Assets资源目录结构管理
- [Unity] 2D开发学习教程
- Unity3D使用指定动态字体,导致打包的时候包的体积增大的解决办法
- 关于Unity3D粒子报!IsFinite(outDistanceForSort) !IsFinite(outDistanceAlongView)的解决方案
- 项目记录31--unity 简单分析LuaFramework_UGUI
- Unity3d 开发(十)使用uTomate自动化打包流程
- unity UGUI实现类似NGUI切换Sprite的方式
- unity UGUI实现类似NGUI切换Sprite的方式
- Unity3D -- 获取不重复的随机数
- Unity 由Verlet数值积分产生的头发运动
- 【Unity3D游戏开发】定制新建C#文件的头描述 (三三)
- Unity中使用摇杆控制
- Unity中使用摇杆控制
- unity,List元素第一个成员最好是string类型
- Unity3D