新手求大神帮助啊.unity3d里面怎么实现物体绕某一点跟随鼠标旋转
1个回答
展开全部
如题,我想做两个按键,让一个模型能够绕一个轴正负方向旋转,按其中一个按键一次就旋转30度,再按一次这个按键就再旋转30度,也就是按4次就能-60度到60度.
现在只能实现转一次,而且按钮的位置也不会改,求大神帮忙看看,最好告诉我用什么语句,提示提示思路啥的也行。
我用itween插件,虽然能设置动画和指定角度,但是不会写按键触发,也只能旋转一次。宣雨松那个教程全是用JS写的,我都用的C#...
现有的代码贴下..
using UnityEngine;
using System.Collections;
public class rotate : MonoBehaviour {
//碰撞的游戏对象
private CharacterController controller = null;
//旋转速度,暂时不用..private float rotateSpeed = 5.0f;
void start()
{ //获取角色控制器对象
controller = GetComponent<CharacterController>();
}
void OnGUI()
{ //暂无法控制此按键在游戏中位置?!
if(GUILayout.RepeatButton("向右旋转"))
{ //绕Y轴旋转
//暂时不用transform.Rotate(0,-rotateSpeed,0);
this.transform.rotation = Quaternion.Euler(0,0,-30);
}
if(GUILayout.RepeatButton("向左旋转"))
{
//暂时不用transform.Rotate(0,rotateSpeed,0);
this.transform.rotation = Quaternion.Euler(0,0,30);
现在只能实现转一次,而且按钮的位置也不会改,求大神帮忙看看,最好告诉我用什么语句,提示提示思路啥的也行。
我用itween插件,虽然能设置动画和指定角度,但是不会写按键触发,也只能旋转一次。宣雨松那个教程全是用JS写的,我都用的C#...
现有的代码贴下..
using UnityEngine;
using System.Collections;
public class rotate : MonoBehaviour {
//碰撞的游戏对象
private CharacterController controller = null;
//旋转速度,暂时不用..private float rotateSpeed = 5.0f;
void start()
{ //获取角色控制器对象
controller = GetComponent<CharacterController>();
}
void OnGUI()
{ //暂无法控制此按键在游戏中位置?!
if(GUILayout.RepeatButton("向右旋转"))
{ //绕Y轴旋转
//暂时不用transform.Rotate(0,-rotateSpeed,0);
this.transform.rotation = Quaternion.Euler(0,0,-30);
}
if(GUILayout.RepeatButton("向左旋转"))
{
//暂时不用transform.Rotate(0,rotateSpeed,0);
this.transform.rotation = Quaternion.Euler(0,0,30);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询