转载一篇用htc vive手柄旋转物体的代码
2017-03-31 10:06
232 查看
using UnityEngine; using System.Collections; public class lalala : MonoBehaviour { #region Value File [SerializeField] SteamVR_TrackedObject trackedObj; /// <summary> /// 想要移动的物体 /// </summary> [SerializeField] Transform moveObj; //当前位置 float currentPos = 0; //距离差 float disCurrent = 0; //Y轴距当前位置 float currentPosY = 0; //距离差 float disCurrentY = 0; [Tooltip("设置旋转角度,默认为100")] public float setRotateAngle = 100.0f; [Tooltip("设置上下移动距离,默认为0.5")] public float setMoveDistance = 0.5f; #endregion #region MonoMathod private bool isOnin = false; // Use this for initialization void Start() { } // Update is called once per frame void Update() { currentPos = this.transform.position.x; currentPosY = this.transform.position.y; var decive = SteamVR_Controller.Input((int)trackedObj.index); if ((decive.GetPress(SteamVR_Controller.ButtonMask.Trigger))&&isOnin) { //moveObj.position = new Vector3(0, this.transform.position.y, 0); //moveObj.rotation = Quaternion.LookRotation(this.transform.position); //moveObj.Rotate(new Vector3(0, 0, 0)); if (disCurrent > 0.001f) { print(111111); moveObj.Rotate(-Vector3.up * Time.deltaTime * setRotateAngle); } else if (disCurrent == 0) { return; } else if (disCurrent < -0.001f) { moveObj.Rotate(Vector3.up * Time.deltaTime * setRotateAngle); } //---------------------- //if (disCurrentY > 0.005f) //{ // moveObj.Translate(Vector3.up * Time.deltaTime * setMoveDistance); //} //else if (disCurrentY == 0) //{ // return; //} //else if (disCurrentY < -0.005f) //{ // moveObj.Translate(-Vector3.up * Time.deltaTime * setMoveDistance); //} } } void FixedUpdate() { disCurrent = this.transform.position.x - currentPos; //disCurrentY = this.transform.position.y - currentPosY; } void Awake() { trackedObj = GetComponent<SteamVR_TrackedObject>(); } #endregion private void OnTriggerEnter(Collider collision) { isOnin = true; } private void OnTriggerExit(Collider other) { isOnin = false; } }
相关文章推荐
- HTC Vive 实现使用手柄上下拖动 旋转物体的功能
- 转载的一篇,代码规范
- 转载的一篇关于如何优化JAVA代码及提高效率的文章
- (转载)探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
- [HTC Vive + Unity开发]——VRTK的研究——用手柄旋转物体(使用VRTK_Knob脚本)
- 控制物体旋转和缩放代码
- 转载的一篇关于如何优化JAVA代码及提高效率的文章
- 转载的一篇关于如何优化JAVA代码及提高效率的文章
- unity基础开发----物体位移和旋转实用代码
- 根据Steamvr sdk中拓展代码,构造Htc vive 手柄按钮事件结构
- 手指触摸旋转游戏物体和放大物体的代码实现
- 转载一篇关于 灰度共生矩阵 求特征值的代码
- UNITY3D 一行代码实现一个物体保持面向另一个物体(旋转)
- 【原创+转载】看到比较搞的一篇文章《重构代码的7个阶段》
- 002-实现Unity3d中触摸屏幕控制物体的旋转和缩放 代码实现
- 「代码家」的学习过程和学习经验分享(挺好的一篇文章,转载侵删)
- [unity3d]判断物体是否在视角内(巧妙的一篇转载)
- pyqt python thread signal slot 转载一篇感觉不错的代码,算做个笔记吧
- 转载:探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
- 一行代码实现一个物体保持面向另一个物体(旋转) .