unity3D 旋转3D物体
2015-06-06 11:20
525 查看
Rotate3dObj在Update中调用,脚本挂在需要旋转的物体上即可
private float m_deltaX=0;
private float m_deltaY=0;
private void Rotate3dObj()
{
if (Input.GetMouseButton(0))
{
m_deltaX = Input.GetAxis("Mouse X");
m_deltaY = Input.GetAxis("Mouse Y");
}
if (m_deltaX > 0)
{
m_deltaX -= Time.deltaTime;
if (m_deltaX < 0)
m_deltaX = 0;
}
else
{
m_deltaX += Time.deltaTime;
if (m_deltaX > 0)
m_deltaX = 0;
}
if (m_deltaY > 0)
{
m_deltaY -= Time.deltaTime;
if (m_deltaY < 0)
m_deltaY = 0;
}
else
{
m_deltaY += Time.deltaTime;
if (m_deltaY > 0)
m_deltaY = 0;
}
gameObject.transform.Rotate(new Vector3(0, -1, 0), m_deltaX * 10, Space.World);
gameObject.transform.Rotate(new Vector3(1, 0, 0), m_deltaY * 10, Space.World);
}
private float m_deltaX=0;
private float m_deltaY=0;
private void Rotate3dObj()
{
if (Input.GetMouseButton(0))
{
m_deltaX = Input.GetAxis("Mouse X");
m_deltaY = Input.GetAxis("Mouse Y");
}
if (m_deltaX > 0)
{
m_deltaX -= Time.deltaTime;
if (m_deltaX < 0)
m_deltaX = 0;
}
else
{
m_deltaX += Time.deltaTime;
if (m_deltaX > 0)
m_deltaX = 0;
}
if (m_deltaY > 0)
{
m_deltaY -= Time.deltaTime;
if (m_deltaY < 0)
m_deltaY = 0;
}
else
{
m_deltaY += Time.deltaTime;
if (m_deltaY > 0)
m_deltaY = 0;
}
gameObject.transform.Rotate(new Vector3(0, -1, 0), m_deltaX * 10, Space.World);
gameObject.transform.Rotate(new Vector3(1, 0, 0), m_deltaY * 10, Space.World);
}
相关文章推荐
- Unity3D添加天空盒
- [Unity基础]GL图像库
- [UnityShader]使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- Unity3D教程:动画融合、动画层、动画混合、附加动画、程序动画、动画重放和取样
- unity手游开发--如何得到当前物体播放的动画
- Unity3D 项目用 git 做版本控制
- Unity5 如何做资源管理和增量更新
- InvokeRepeating("PlaySound",2.0f,0.5f) 2秒后每隔0.5秒调用
- [Unity3D]自己动手重制坦克舰队ArmadaTank
- Unity3d读取CSV中的文本到Rich Text中换行符不识别的问题
- 如何将Unity工程打包成apk
- Unity 5.0 IL2CPP
- Unity3D摄像机跟随人物
- Unity3d NGUI的drawcall,UISprite与UITexture
- [Unity3D]降低向Shader中传值的开销
- 【Unity3d学习笔记】刚体碰撞和关节
- 【Unity3d学习笔记】基本游戏地形
- Unity3d + NGUI 的多分辨率适配
- 【Unity3d学习笔记】基础引擎操作
- 使用Unity遇到的若干个坑