查看: 14667|回复: 2
打印 上一主题 下一主题

请问,unity 如何获取当前物体的方向呢

[复制链接]

2206

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32449
精华
23

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-10-18 08:38:02 |只看该作者 |倒序浏览
请问,unity 如何获取当前物体的方向呢
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2012-10-18 14:22:18 |只看该作者
参考一下:



Vector3向量既可以用来表示位置,也可以用来表示方向。在数学与物理中,既有大小又有方向的量叫做向量(亦称矢量),与标量相对。



在立体三维坐标系中,分别取与x轴、y轴,z轴方向相同的3个单位向量i,j, k作为一组基底。若a为该坐标系内的任意向量,以坐标原点O为起点作向量OP=a。由空间基本定理知,有且只有一组实数(x,y, z),使得 a=向量OP=xi+yj+zk,因此把实数对(x,y, k)叫做向量a的坐标,记作a=(x,y, z)。这就是向量a的坐标表示。其中(x,y, k),也就是点P的坐标。向量OP称为点P的位置向量。



首先是Vector3的变量

1)x,y,z  this[int index]

三个轴向,也可以用Vector3 i=[0,2]的整数来表示。



2)normalized (Read Only)

返回从坐标轴原点(0,0,0)到点P(x,y,z)的方向,向量的长度为 1。也就是说返回的向量的点P(x,y,z)到原点(0,0,0)的距离为1。这个很多时候被用来指示一个方向,然后再乘以想要的距离就可以得到我们想要的位置坐标。只能读取。



3)magnitude (Read Only)

返回向量的长度,也就是点P(x,y,z)到原点(0,0,0)的距离。最常用的是用来返回物体的移动速度

speed=rigidbody.velocity.magnitude;



只能读取。如果想自行规定距离可以先normalized然后乘以距离

speed=speed.normalized*objSpeed;



4)sqrMagnitude (Read Only)

返回向量的长度的两次方。大家知道向量的长度是用勾股定理计算出来的,计算机计算两次方和开跟的运算量比加减法要费时的多。所以如果是想比较两个向量的长度的话,用sqrMagnitude可以快很多。
回复

使用道具 举报

2206

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32449
精华
23

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-10-18 17:12:37 |只看该作者
好全面 谢谢圈主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-30 11:48 , Processed in 0.106639 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部