Unity实现物体沿自身的任意轴向旋转

一、创建一个需要旋转的物体

二、编写控制该物体的脚本

using UnityEngine;
using System.Collections;

public class Test_ElectricFan : MonoBehaviour 
{
	public bool isOpen=false;			        //是否开始旋转
	public int speed=2;					//旋转的速度


	// Use this for initialization
	void Start () 
	{
	
	}
	
	// Update is called once per frame
	void Update () 
	{
		if(isOpen)
		{

			RotateAxisOfSelf(SelfAxis.Y,speed);
		}

	}

	/// <summary>
	/// 让物体绕自身的轴旋转
	/// </summary>
	/// <param name="AxisX">自身的轴</param>
	private void RotateAxisOfSelf(SelfAxis selfAxis,int speed=2)
	{
		switch(selfAxis)
		{
		case SelfAxis.X:
			this.transform.Rotate (new Vector3(1*Time.deltaTime*speed,0,0));
			break;
		case SelfAxis.Y:
			this.transform.Rotate (new Vector3(0,1*Time.deltaTime*speed,0));
			break;
		case SelfAxis.Z:
			this.transform.Rotate (new Vector3(0,0,1*Time.deltaTime*speed));
			break;
		default:
			this.transform.Rotate (new Vector3(1*Time.deltaTime*speed,0,0));
			break;

		}
	
		 
	}



	//枚举轴
	enum SelfAxis
	{
		X,
		Y,
		Z,

	}

}

三、将编写好的控制物体的脚本添加给需要沿自身任意轴旋转的物体上,然后运行程序,接着点击IsOpen打钩此时物体开始旋转

猜你喜欢

转载自blog.csdn.net/xiaochenXIHUA/article/details/83414415