Unity - 3D环境中的2D角色

时间:2016-01-14 06:23:02

标签: unity3d 3d 2d sprite

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

角色将面向相机并保持与相机对中。我尝试使用仅仅2D精灵,但由于2D对象有自己的Rigidbody2D类和类似的,它对游戏世界的其余部分来说效果不佳。

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

谢谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

[解决]

我用Box Collider和Rigidbody创建了一个空的GameObject,然后将Sprite作为子对象。

答案 2 :(得分:0)

Sprites不限制使用3D刚体。对撞机的唯一限制。你不能在一个物体上同时拥有刚体和刚体2D,你不能在物体上同时拥有碰撞器和碰撞器2D,你不能将碰撞器2D添加到3D刚体,反之亦然。但你完全可以为Sprite添加任何类型的刚体或对撞机。

你制作了什么样的游戏?它是什么类型的?它只是一个使用3D物体的2D平台游戏吗?这是3D动作游戏吗?因为它与你使用的一种物理学有关。

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

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

3D角色的终极配方:使用胶囊对撞机!不要在意你使用什么样的视觉效果。如果它是一个精灵或模型或只是一个原始的3D对象,请不要关心 - 使用胶囊对撞机!总是

反之亦然。如果您制作2D游戏 - 仅使用2D对撞机。即使您使用的是3D模型。因为当你制作游戏时,一切都与游戏玩法的一致性有关。图形类型并不意味着什么。