首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要在统一3D中使用iTween实现二维地板碰撞

要在统一3D中使用iTween实现二维地板碰撞
EN

Stack Overflow用户
提问于 2012-08-06 12:29:49
回答 1查看 966关注 0票数 1

我正在制作一个简单的2d侧滚动游戏使用Unity3D。当我说2d时,我的意思是它会出现在2d,所有的背景资产都将是2d,但主要角色将是3d。我想要的是不平整的地板。不会有真正的地板,只会出现在背景上,所以从技术上讲,我想假装地板碰撞。

我查看了iTween,看起来它可以做我想做的事情。我的想法是使用iTween创建一条与背景上地板的线条相匹配的线。然后,我会将主要字符x位置与行x位置匹配,然后得到此时的y行位置来设置字符y位置。

我唯一的问题是我看不出这条线的坐标。在iTween中有一个名为PointOnPath()的方法,但是为了获得坐标,我需要知道我的字符沿着这条线的距离是多少。这是我不知道的事情,因为我的角色并没有真正跟随这条线。

如果有人对我如何使用或不使用iTween来完成这一任务有任何想法,我们将不胜感激。

提前谢谢你,

约翰

EN

回答 1

Stack Overflow用户

发布于 2012-08-07 06:01:32

你可以利用Unity3D的碰撞。 BoxColliders 可以用来模拟平坦的地面,也可能是您描述的不均匀的地面,方法是将不同尺寸的BoxColliders放在一起。

如果您想模拟曲面碰撞,请考虑使用MeshCollider并导入基本的三维网格(来自Blender、3 3DSMax、Maya等)。有一个低的多数点,符合您的形状水平。

演示这一点的一个非常快速的方法是拖动两个多维数据集(GameObject->Create >Cube),选择它,然后右击MeshFilter和MeshRenderer上的->Remove组件,留下BoxCollider,您可以移动/旋转/缩放。

唯一的问题,我可以轻易地看到这一原因是有台阶/楼梯或微小的高度差异。统一的例子人物处理这一点,让玩家的碰撞作为一个胶囊形状,推动胶囊时,它的大小,楼梯在一定的高度。替代方案可以是在代码中修复楼梯碰撞处理,或者在两步之间的间隙中添加一个角度/倾斜的对撞机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11828314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档