Unity3d 统一-三维环境中的二维角色

Unity3d 统一-三维环境中的二维角色,unity3d,3d,2d,sprite,Unity3d,3d,2d,Sprite,我正在统一制作一个3D游戏,玩家角色必须是2D精灵。现在,我的问题是:在3D环境中实现2D对象的最佳方式是什么 角色将面向摄影机并保持对摄影机居中。我试着只用一个2D精灵,但是因为2D对象有自己的Rigidbody2D类和类似的类,所以它在游戏世界的其他地方就不能很好地工作 我是否应该使用面向摄影机的平面,并将精灵渲染为其上的材质?让我知道你的想法和建议 谢谢。[已解决] 我用方块碰撞器和刚体创建了一个空的游戏对象,然后将精灵作为子对象。精灵不受3D刚体的限制。唯一的限制是对撞机。不能在一个对象

我正在统一制作一个3D游戏,玩家角色必须是2D精灵。现在,我的问题是:在3D环境中实现2D对象的最佳方式是什么

角色将面向摄影机并保持对摄影机居中。我试着只用一个2D精灵,但是因为2D对象有自己的Rigidbody2D类和类似的类,所以它在游戏世界的其他地方就不能很好地工作

我是否应该使用面向摄影机的平面,并将精灵渲染为其上的材质?让我知道你的想法和建议

谢谢。

[已解决]


我用方块碰撞器和刚体创建了一个空的游戏对象,然后将精灵作为子对象。

精灵不受3D刚体的限制。唯一的限制是对撞机。不能在一个对象上同时具有刚体和刚体2D,不能在对象上同时具有碰撞器和碰撞器2D,不能将碰撞器2D添加到三维刚体,反之亦然。但你完全可以给精灵添加任何类型的刚体或碰撞器

你做什么样的游戏?它是什么类型的?它只是一个使用3D对象的2D平台吗?是3D动作游戏吗?因为它与你使用的一种物理有关

首先,为什么你首先需要一个刚体?只有当你需要在游戏中模拟物理时才需要它。如果没有-你可以为你的角色编写你自己的移动算法,这样会更简单。据我所知,这实际上是一款类似3D动作的3D游戏,相机可以四处移动,角色的精灵应该始终面对相机。然后将模拟物理的游戏对象与容纳精灵的对象分开。下面是一个对象结构:

CharacterBody(刚体,碰撞器)
|
|_CharacterSprite(精灵,使精灵始终面向摄影机的组件)

3D角色的终极配方:使用胶囊碰撞器!不管你用什么样的视觉效果。不管它是精灵还是模型,或者只是一个原始的3D对象——使用胶囊碰撞器!总是


反之亦然。如果制作2D游戏,请仅使用2D碰撞器。即使您使用的是三维模型。因为当你制作一个游戏时,它是关于游戏性的一致性。图形的类型没有任何意义。

您还可以使用四元对象,并将精灵作为其材质的纹理,使用剪切渲染模式。
如果需要适当的阴影,您可能需要从精灵生成网格。

是的,在3D游戏中放置2D角色是完全正常的。只要使用一个四边形(就像你说的,一个小平面),并附加一个盒子碰撞器,如果这在你的游戏中是相关的。正如你所说,你没有使用Unity的(优秀的)“2D系统”来实现这个概念-坚持使用3D的东西。这个答案太长了:)在一个完全3D的游戏中使用2D元素是司空见惯的。这是解决方案,但解释得很好。