Skip to main content

第三部分:立体感与深度

我们需要找到一个办法让我们的地图呈现出高低起伏的效果。

  • 寻找一个呈现立体感的办法

 

立体感的来源



立体感

现在仔细思考一个问题,到底立体感是怎么来的?在什么情况下,我们会说一个东西是立体的呢?

我会这样简单的概括:

image.png

 

 

如果一个物体有,它给人的感觉就是立体

image.png

 

 

或者

 

当一个物体在 X, Y, Z 三个方向上的大小都不是 0,它给人的感觉就是立体

 

 


如果这样的话,我们只需要找到一个办法,让那张平面地图根据情况,一部分变高,一部分变低,它就有立体感了。

 

一部分变高,一部分变低

你了解顶点的概念,你知道顶点在3D建模软件中被移动和链接来构成网格,变换形状。

image.png

Blender 3D视口,展示一个被拉起一角的平面

 

如果能够在 Unity 和 VRChat 像建模软件那样,将一个平面的顶点进行上下移动,那么就可以让一个平面的物体呈现出立体感。虽然你不能在 Unity 和 VRChat 中直接拖动顶点,但是着色器可以实现这个效果。

一些功能强大的着色器,或者为此(顶点位置变换)专门设计的着色器会提供通过 Height Map 变换顶点位置的功能。在本书中,将使用 Poiyomi Toon 作为示例着色器。

Height Map 是一张用灰度表示高度信息的图片,白色代表高处黑色代表低处。它常用于3D建模中生成地形、凹凸效果或形状变化。

本书使用 Poiyomi Pro 9.2.1VSB3DM 所需的功能在 Poiyomi Toon 免费版本中同样提供 || Vertex Option -> Height Map


 

哪里应该变高,哪里应该变低

你是一个人类如果你不是的话,说明VRCD的技术部门需要加班了 ;(,分辨距离对你来说不是一件难事。虽然你不能精确的测算出某一个物体或者某一点与你的距离,但是你可以清晰的感觉到哪个更近,哪个更更远。

image.png

一张正交视角下的图片

我们是否有一种办法,可以测算两点之间的距离呢?如果我们能知道地图摄像机与地面或某个物体上任意一点的距离,我们就可以根据这个距离