游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   18803836360

点击缓慢转向目标点

个人分类: 代码篇 | 2018-9-8 20:36

[code]csharpcode:

ref上说明eulerAngles的三个变量,x,y,z表示三个绕坐标轴旋转的角度(注意是绕世界坐标轴,不是绕自身的),另外顺序是z,x,y。如果角度超过360的话,要用Rotate来代替,用四元数来旋转。

这三个x,y,z的值其实也就是inspector上的transform里的Rotation对应的三个值

所绕角度的话是顺着坐标轴看,按逆时针旋转的角度

 

另外一个localEulerAngles  是以父亲的坐标为参考的,剩下的都是一样
using UnityEngine;
using System.Collections;

public class RoateTest : MonoBehaviour {
	private Vector3 tar;//目标角度
	float wantQua;//旋转的角度

	void Update () {
		
		float curQua = transform.eulerAngles.y;//当前角度 的y值
		Debug.Log(curQua);
		Debug.Log ("==================");
		if (Input.GetMouseButton(0)) {
			RaycastHit hit;
			Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
			if (Physics.Raycast(ray,out hit)) {
				tar = hit.point;
				transform.LookAt (tar);
				wantQua = transform.eulerAngles.y;//目标点角度的值
				Debug.Log(wantQua);
				Debug.Log ("==================");
			}
		}

		//差值角度
		curQua = Mathf.LerpAngle (curQua, wantQua, 0.1f);//当前角度到目标点每次移动1/10
		Debug.Log(curQua);
		Debug.Log ("==================");
		transform.eulerAngles = new Vector3 (0, curQua, 0);
		Debug.Log (transform.eulerAngles.y);

	}
}
给出一个开始点,一个目标点,获取开始点与目标点的欧拉y

让目标从开始点到目标点进行一个差值变化,将这个变化量赋值给目标物体

0 0

作者的其他最新博客

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

关闭

站长推荐 上一条 /1 下一条

返回顶部