组件 Vector3结构体

本文介绍了Unity中组件的概念,包括Runtime组件和Editor组件,并详细讲解了Vector3结构体的使用,如表示位置、旋转、缩放,以及相关的数学操作,如单位向量、模、点乘、距离计算、插值和四元数的应用等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组件

  两种组件:Runtime类型组件(正常组件,控制 游戏物体)

            Editor组件(对unity编译器进行拓展)

  Runtime类型组件脚本继承关系:MonoBehaviourBehaviourComponent:Object

Vector 3结构体(x,y,z

  除了可以表示向量,也可以表示一个物体的位置,旋转,缩放

  Vector 3=new Vector 3(1,1,1);创建一个结构体,向量为(1,1,1)

  //得到v的单位向量

  Debug.Log(v.normalized);

  //得到v的模

  Debug.Log(v.magnitude);

  //得到v的模的平方(用来做向量的比较)

  Debug.Log(v.sqrMagnitude);

  Debug.Log(Vector3.zero);相当于创建(0,0,0

           (Vector3.forward)         ( 0,0,1)

           (Vector3.up)             (0,1,0)

           (Vector3.right)           (1,0,0)

  //向量点乘(计算两个向量的夹角)

  Debug.Log(Vector3.Angle(Vector3.up,Vector3.forward);

  //计算两点距离

  Debug.Log(Vector3.Distance(Vector3.zero,Vector3.forward*10);

  //插值:0.1f

  // 0-10 1

  // 10-20 11        最大值减去最小值再加上最小值

  transform.position=Vector3.Lerp(transform.position,Vector3.forward*10,0.1f);

  //画线

  Void Update()

  {

Debug.DrawLine(transform.position,Vector3.up*10,color.red);

//画射线

Debug.DrawRay(tansform.position,Vector3.up*10,color.blue);

  }

  //四元数

  Quaternion q=Quaternion.Euler(0,0,90);

  //空旋转

  q=Quaternion.identity;

  //朝向一个向量

  Public Transform CubeTrans;

  //拿出面向cube的向量

  Vector3 dir =Cubetrans.position-transform.position;

  q=Quanternion.LookRotation(dir);

  Transform.rotation=q;

  //四元素插值

    Transform.rotation=Quatenion.Lerp(transform.rotation,Quaternion.Euler(0,transform.eulerAngles.y+90,0),0.1f);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值