加入
发新帖
发表于 2014-1-3 14:43 | 查看: 3366| 回复: 14
2014-01-03_144218.jpg

如图,拼死没法把 t 赋给transform.localEulerAngles ;

收藏回复 显示全部楼层 道具 举报

发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

回复 显示全部楼层 道具 举报

发表于 2014-1-3 16:09
lancelot_gao 发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

Quaternion 根本不会用。。。

我如果要设置那个角度,就得自己亲自用 Quaternion 来转?

点评 回复 显示全部楼层 道具 举报

lancelot_gao 发表于 2014-1-3 17:40
程序里用欧拉角控制旋转也完全没问题,只是你不要在意inspector里的显示就好了,那和你程序里设置的数值表示的是同一个旋转方向。
lancelot_gao 发表于 2014-1-3 17:39
旋转逻辑
lancelot_gao 发表于 2014-1-3 17:37
不是,那个inspector上显示的欧拉角不听话,你可以无视他的显示数值,只要选择逻辑没有问题即可。
发表于 2014-1-3 17:39
lancelot_gao 发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

对应 transform.localEularAngles 的 inspector上显示的欧拉角才是正常的对的我需要的直接操作的。。。

回复 显示全部楼层 道具 举报

发表于 2014-1-3 17:40
lancelot_gao 发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

主要是我不旋转。。。我需要的是直接赋值。。。额。。。初始状态怎样我不在乎。。。

回复 显示全部楼层 道具 举报

发表于 2014-1-3 17:41
lancelot_gao 发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

inspector里的和  transform.localEularAngles 是一样的,这个是关键的

回复 显示全部楼层 道具 举报

发表于 2014-1-3 17:44
lancelot_gao 发表于 2014-1-3 16:04
欧拉角就这德行,多种数值可以对应一个角。要不乱,用Quaternion

因为  transform.localEularAngles 不能与我付给的 t 相等,t怎么赋  transform.localEularAngles 都是错的,于是游戏里就有问题, 达不到要求,
如果  transform.localEularAngles 仅仅是显示错误倒无所谓,但是  transform.localEularAngles 确实就是 物体的本地旋转情况

回复 显示全部楼层 道具 举报

发表于 2014-1-3 18:38
你看看运行这脚本时,还能不能手工旋转物体
可能这两个欧拉角度,是等价的
Unity只存四元组的值

回复 显示全部楼层 道具 举报

发表于 2014-1-5 14:21
彭必涛 发表于 2014-1-3 17:44
因为  transform.localEularAngles 不能与我付给的 t 相等,t怎么赋  transform.localEularAngles 都是错 ...

inspector显示值肯定和transform.localEulerAngles一样。
你在给transform.localEulerAngles赋值的时候,程序会自动给欧拉角做一个“格式化”,你的赋值和最终inspector上显示的值,表示的是同一个旋转。

你不用在乎inspector里面怎么显示,欧拉角就这德行,你在程序里面按照自己的逻辑控制旋转就可以了。

旋转本身就是三维空间的难点。现在我基本不用欧拉角,都是Quaternion

回复 显示全部楼层 道具 举报

发表于 2014-1-5 14:31
lancelot_gao 发表于 2014-1-5 14:21
inspector显示值肯定和transform.localEulerAngles一样。
你在给transform.localEulerAngles赋值的时候, ...

关键 inspector里面怎么显示的 才是我需要的,直观的。
那么这样的话,比如:
“我需要一个物体的朝向平行于XY轴,在Z轴上处于30度的位置”
用 Quaternion 该怎么操作呢?把 (0,0,30) 改成Quaternion, 再把这个Quaternion 赋给我的物体?

回复 显示全部楼层 道具 举报

发表于 2014-1-5 15:02
彭必涛 发表于 2014-1-5 14:31
关键 inspector里面怎么显示的 才是我需要的,直观的。
那么这样的话,比如:
“我需要一个物体的朝向平 ...

对,可以用Quaternion.Euler(x,y,z)将欧拉角转换为Quaternion,然后直接为transform.rotation/localRotation复制。

回复 显示全部楼层 道具 举报

发表于 2014-1-5 15:09
lancelot_gao 发表于 2014-1-5 15:02
对,可以用Quaternion.Euler(x,y,z)将欧拉角转换为Quaternion,然后直接为transform.rotation/localRotat ...

不行啊,还是有错:
2014-01-05_150826.jpg

好了,我也基本知道问题所在了。大抵就这样吧,以后我应该有解决方法了。

点评 回复 显示全部楼层 道具 举报

lancelot_gao 发表于 2014-1-5 15:14
欧拉角的(38,223,340)==(142,43,160)
lancelot_gao 发表于 2014-1-5 15:13
欧拉角的(38,223,340)==(142,43,160)
发表于 2014-3-22 07:25
在做角色動作,我也遇到相同問題了… 用transform.localEulerAngles,或transform. LocalRotation Quaternion效果都一個毛樣,死活動不了Z軸,動Z時自動變成動了Y軸...

回复 显示全部楼层 道具 举报

发表于 2014-3-22 07:31
LKF 发表于 2014-3-22 07:25
在做角色動作,我也遇到相同問題了… 用transform.localEulerAngles,或transform. LocalRotation Quaterni ...

我现在终于解决了,我使用的方案,是多加几个物体套一起,而不单独控制一个物体的三个量

回复 显示全部楼层 道具 举报

发表于 2014-3-22 07:35
彭必涛 发表于 2014-3-22 07:31
我现在终于解决了,我使用的方案,是多加几个物体套一起,而不单独控制一个物体的三个量

我也算解決了…

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 加入

搜索

繁體   

返回顶部