赞 | 31 |
VIP | 0 |
好人卡 | 0 |
积分 | 142 |
经验 | 2021 |
最后登录 | 2024-5-5 |
在线时间 | 756 小时 |
Lv4.逐梦者
- 梦石
- 9
- 星屑
- 5193
- 在线时间
- 756 小时
- 注册时间
- 2017-5-18
- 帖子
- 206
|
本帖最后由 zeniusi193 于 2022-8-22 03:23 编辑
翻这问题串可以解决大部份Unity内关於这块的问题
https://forum.unity.com/threads/ ... l-inaccurate.77025/
之后关於normal法线
首先你这里,如果在档杆边上,应该是同时print了1.0和0.22,而你因为只有一行只显示了0.22。。。
然后
Normal 法线是个3维数值
(虽然2d可以闭眼不看其中一个数字)
代表一个面向,如果没有特定一个基准
就是按世界xyz轴来算
每一个平行於xyz轴的线都是(1/0/0)(0/1/0)这类的数字
所以你这个和地面的碰撞就会是1.0
(如果另外定基准就是按那个基准来算,详细可以找一下3D法线和法线贴图的概念了解一下)
你人物面向障碍物不是平行於xyz上
那自然会是一个类似(0/0.22***/0.*****)的东西
把xyz全print 出来
再把你地面各种转一下角度看看碰撞结果就知道了
Normal可以跟角度转换
查一下转换公式会更好理解
(我忘了是sin还是cos还是tan~~~~~
后面做按斜率改变材质之类的东西
(比如草地及墙壁,下雨在材质上是会积水还是有流水)
normal 这块就很重要,可以多花时间看看 |
评分
-
查看全部评分
|