Vector3的使用
Vector3的使用
一、脚本概述
VectorTest 是一个基于Unity引擎的C#脚本,用于演示三维向量(Vector3)的基本操作,包括向量的初始化、夹角计算、距离计算、点积、叉积、插值、旋转、缩放、求模和规范化等操作。
二、脚本结构
1. 命名空间和类定义
using UnityEngine;
namespace TimeGhost.Assets
{
public class VectorTest : MonoBehaviour
{
// ...
}
}
- 命名空间:
TimeGhost.Assets - 类名:
VectorTest,继承自MonoBehaviour,这意味着它可以挂载到Unity的游戏对象上。
2. Start 方法
void Start()
{
Vector3 v = Vector3.right;
Vector3 v2 = Vector3.forward;
// 夹角计算
// Debug.Log(Vector3.Angle(v, v2));
// 距离计算
// Debug.Log(Vector3.Distance(v, v2));
// 点积计算
// Debug.Log(Vector3.Dot(v, v2));
// 叉积计算
// Debug.Log(Vector3.Cross(v, v2));
// 线性插值
// Debug.Log(Vector3.Lerp(v, v2, 0.5f));
// 旋转操作
// transform.Rotate(Vector3.up, 90);
// 缩放操作
// transform.localScale = new Vector3(2, 2, 2);
// 向量的模
// Debug.Log(v.magnitude);
// 规范化向量
Debug.Log(v.normalized);
}
-
功能:在第一帧更新之前调用,用于初始化向量操作。
-
向量初始化:
-
v 初始化为Vector3.right,即(1, 0, 0)。 -
v2 初始化为Vector3.forward,即(0, 0, 1)。
-
-
向量操作:
- 夹角计算:使用
Vector3.Angle 方法。 - 距离计算:使用
Vector3.Distance 方法。 - 点积计算:使用
Vector3.Dot 方法。 - 叉积计算:使用
Vector3.Cross 方法。 - 线性插值:使用
Vector3.Lerp 方法,插值比例为0.5f。 - 旋转操作:使用
transform.Rotate 方法,绕y 轴旋转90 度。 - 缩放操作:使用
transform.localScale 属性,将对象在三个坐标轴上都放大为原来的2 倍。 - 向量的模:使用
v.magnitude 属性。 - 规范化向量:使用
v.normalized 属性。
- 夹角计算:使用
3. Update 方法
void Update()
{
// 可在此添加每帧更新的逻辑
}
- 功能:在每一帧更新时调用,当前为空。如果需要在每一帧执行某些操作,可以在此方法中添加代码。
三、注意事项
- 部分操作(如夹角计算、距离计算等)被注释掉,取消注释即可执行相应操作。
-
Update 方法目前为空,可根据需求添加每帧更新的逻辑。

浙公网安备 33010602011771号