ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
**Viacheslav Bushuev 讨论为他即将发布的游戏Rabbit Story (Steam)创建Low poly环境的方法.** ***** ![](https://box.kancloud.cn/55f9011982d39d5103a1f57c3961409e_1024x538.png) *Hi, my name is Slava Bushuev, and today I would like to tell you how I developed the graphics of Rabbit Story – the game I’ve been currently working on.* Hi,我是Slava Bushuev,今天我很乐意分享我是如何开发我现正在开发中的游戏Rabbit Story的图形效果。 *I started the developing process in summer 2016. I decided then that I was going to finish the game in two weeks! I was still working in Allods Team back then, so I only had free time in the evenings and during weekends. And yet I felt so motivated as if Tyler Durden was holding a gun to my head, saying that if I didn’t do it in two weeks, I was a dead man! Of course I never made it for that deadline, but still I managed to finish the first part in three weeks.* 我的开发进程始于2016年夏天。我曾决心要两周内完成游戏!那时候我还在Allods Team工作,所以我的空闲时间只有晚上以及周末。然而我如此目的明确就像Tyler Durden拿着枪指着我的脑袋,说如果我不能在两周内完成,我就会变成一具尸体!当然我并没在deadline内完成它,但是我仍设法在三周内完成第一阶段。 ![](https://box.kancloud.cn/29f267344aaa593babbb4572ccc88681_1024x576.png) ![](https://box.kancloud.cn/a71779f6baa09ea11471db4a8a4cd42f_1024x576.png) ![](https://box.kancloud.cn/ed27a2bbb9d3db81c9529cb51daa7a6d_1024x576.png) ![](https://box.kancloud.cn/16d6b3443d3e8fad60e6c228aaf1f7cf_1024x576.png) ![](https://box.kancloud.cn/91bfb48f245551b2c7e3fe253b529389_1024x576.png) *My primary profession is a level designer, and I am also a lighting artist. This is why I put the main focus on level design. Initially, Rabbit was supposed to travel the world, and the story was told through dialogues and environment. The problem was that even if it had been possible to build up the locations in such short notice, I still wouldn’t have had the time to create the models.* 我的本职是一名关卡设计师,同时也是一名灯光师。这就是我首先把主要精力放在关卡设计的原因。最开始,Rabbit应该环游世界,并且通过对白与环境传达故事。而问题在于即使能在那么短的距离内建立(流程?游戏世界?),我依旧没有足够的时间制作模型。 *This is why I decided to purchase a complete setting and build the game on it. I couldn’t find anything suitable in Unreal Engine 4 Marketplace so I decided to look through Unity Asset Store. Toon Environment Pack instantly grabbed my attention with its simplicity, curious stylization, angular fir trees, and appealing colors.* 这就是为什么我决定购买一套完整配置(素材)并在其上(利用其)构建游戏。我无法在UE4的MarketPlace找到合适的东西,所以我决定到Unity Asset Stroe 去找找。Toon Environment Pack因为他的简单朴素而引起了我的注意,不寻常的风格,棱角分明(造型分明?轮廓分明?)的冷杉树,以及富有吸引力的色彩。 ![](https://box.kancloud.cn/42fc685e4770a6a96f2024ceaa06367f_764x480.png) *This is what my first attempt to design the world looked like.* 这是我初次尝试的场景效果。 ![](https://box.kancloud.cn/b8212c950f59b2d452bef1822225b422_1022x581.png) *Not so bad for the first try. Developing a game is an iterative process, so in order to learn how to do something, you first need to do it as you can. After the first attempt, you build the second iteration, and so on, until you achieve the desired quality. While working on my project I came across a game called Hob developed by Runic Games, and I loved the way rectangular grass looked in it.* 初次的尝试并不糟糕。 游戏开发是一个迭代的过程,所以为了便于学习如何做一些事情,你首先需要去做你做得到的。在初次尝试之后,你再进行第二次的迭代开发,重复这样,直到你取得期望的品质。 在我的项目开发的时候,我碰到了一个叫Hob的开发者开发的一个名为Runic Games的游戏,我喜欢看起来像这样的矩形草地。 ![](https://box.kancloud.cn/1177945b8747ba5e1152c8d5b40755d1_1920x1200.png) *I decided to create something similar for Rabbit Story.* 我决定为Rabbit Story做点类似的东西 ![](https://box.kancloud.cn/9582284df0bc85c511de39187b45984e_1022x581.png) *This is a game screenshot after the first three weeks of development. I must give proper respect to Unreal Engine 4 whose lighting system allowed me to create a smooth, nicely colored picture.* 这是第一周开发之后的游戏截屏。我必须对UE4予以适当的尊重,因为它的光照系统允许我创建平滑而漂亮的彩色图像。 *However, the detailing was obviously not sharp enough, especially for the full-screen mode.* 然而,这细节显然是不够的,特别是在全屏模式下。 *At that stage, the development was paused – the first version of the game was ready.* 在这个阶段,我暂停了开发——而游戏的第一个版本也已经完成。 *I kept pondering over what could be done in order to improve the picture quality of Rabbit Story without investing into expensive and complex models, but nothing occurred to me.* 我一直思考如何不依赖更复杂而昂贵的模型去提高Rabbit Story的画面效果,但是我没想到。 ![](https://box.kancloud.cn/5ea4580d59535fb8742e31404f37880b_1024x552.png) ![](https://box.kancloud.cn/a1f9a06c6453af1de639c249fae4967a_1024x552.png) ![](https://box.kancloud.cn/4ed59422d7d10d40e5dfc1d5c2185b8f_1024x552.png) ![](https://box.kancloud.cn/8476f6986cb84b932bfec9cb98ca3a75_1024x552.png) ![](https://box.kancloud.cn/bd528a020a1ca0f0c10b2d96942de3a2_1024x552.png) ![](https://box.kancloud.cn/37550601ba90b6b371d577de907f8845_1024x552.png) ![](https://box.kancloud.cn/fc2e1e16ed050e28cf0034f46b46cd38_1024x552.png) ![](https://box.kancloud.cn/acfde2478fee89e8e7d0170e1bc78d79_1024x551.png) *At the end of that summer, a new World of Warcraft add-on – Legion was released. Together with my friends, I tried it out; WoW had always been beautifully designed, but this time the graphics quality increased significantly. Especially I was impressed by the way Blizzard’s artists had filled the locations with greenery. That was the moment when I realized that despite of Rabbit Story’s simple stylized graphics, I can still fill it with greenery in the way they do that in AAA games these days. Luckily, I had plenty of experience in that after having worked on Skyforge and Armored Warfare!* 在夏天结束的时候,一个新的 World of Warcraft 插件 Legion 发布了。我和朋友一起尝试了它,WOW从过去开始就一直有着精美的设计,但是现在的图形精度已经大幅度的增加。而暴雪的艺术家在各处填充的绿色植被令我印象深刻。就在那一刻,我意识到尽管Rabbit Story是简单风格化图形效果,我依旧可以像他们这些天制作AAA游戏一样的方式填充大量的绿色植被。非常幸运的是,这在我有过 Skyforge 和 Armored Warfare 的工作经验后。 *After certain experimentation with the graphics, I got this picture:* 在经过一系列尝试后,我得到了这样的效果: ![](https://box.kancloud.cn/c0c720d10d9d7eb01b02ad32808078dc_1317x770.png) *The main changes included approximately 10x increase of triangle count for the fir trees and the addition of small filling grass.* 主要的变化包括了为冷杉树增加了约10倍三角面和添加了小的草丛。 *For a final touch, I added more details to the road, some dried bushes, branches, and flowers. The flowers are actually the most important detail – they add bright and necessary accents to the scene.* 在最后,我给小路添加了更多的细节,一些干枯的矮灌木、树杈以及花朵。花朵实际上是最重要的细节,它们是使得场景变得鲜活的重要存在。 ![](https://box.kancloud.cn/46bd4b588ee27056ac3c29f3f315b858_2414x1300.png) ## **Model Development 模型的制作** *Rabbit Story has a fixed camera angle; sometimes it moves in the cutscenes but the general angle never changes.* Rabbit Story进行了摄像机角度的修正,有些时候会进行过场动画演出,但是一般情况下镜头角度都不变。 *This allowed me to design single-oriented assets which made the task much easier.* 这使得我进行面向单一视角(single-oriented?)设计资源的任务变得简单。 *They used the same technology in Diablo 3; in one of their announcements, Blizzard called it 2.5D. Apart from saving your time, this technology allows you to use less triangles on models.* Diablo 3使用了类似的技术,在暴雪的公开发表中,他们将其称之为2.5D。不同于为他们节省时间(的技术),这个技术使得他们可以在模型上使用更少的三角面。 ![](https://box.kancloud.cn/92b97151633bc546e4a4b92d261b1f59_905x595.png) ![](https://box.kancloud.cn/2c91364fd32305d2e5f3370d78d4d84b_384x583.png) Also, all models are slightly inclined in relation to the camera. This way they look better from above. They used the same method in The Legend of Zelda: A Link Between Worlds. 此外,所有的模型都是略微倾斜的朝向摄像机。 这样会使得从上面朝下看起来效果更好。塞尔达传说:众神的三角力量2使用了类似的技术。 ![](https://box.kancloud.cn/b0afd0abb55d2a72edb5e2f205f55946_560x220.png) ![](https://box.kancloud.cn/b0afd0abb55d2a72edb5e2f205f55946_560x220.png) *All flower and herb models are created with geometry – they don’t have textures; only materials of different colors.* 所有的花草都直接用模型进行造型,并没有使用任何贴图纹理,仅仅是用了不同漫反射颜色的材质。 ![](https://box.kancloud.cn/259346e86724e7a27199237b6005fa5d_1030x482.png) *Advantages of this method: Fast development; no need in creating UV layout or drawing the textures. Models of this type are not much heavier for the performance; they have more triangles but they have no alpha channel which facilitates their rendering in the engine.* 这种做法的优点有: 开发快速,不需要创建UV以及绘制贴图 这种类型的模型的性能开支(相较于其他类型)并不会大太多;他们需要使用更多的三角面,但是并没有使用透明通道使之更易于在引擎中进行渲染。 ## **Light and Post-Processing 光照和后处理** *This is what the picture looks like without the light:* 这是没有光照时的画面效果: ![](https://box.kancloud.cn/14f2ef6377f0b0cd69eced26d650ded8_2414x1300.png) *And this is what it looks like after Unreal Engine applies Ambient Occlusion to it. It can be seen quite clearly how it highlights the volume and the details which are usually drawn in the textures.* 而这是在UE中应用Ambient Occlusion(AO)的效果。这使得体积感得到增强,而这通常是绘制在纹理上的细节。 ![](https://box.kancloud.cn/18bfb98b71ab853c4bca453a388cffb5_2414x1300.png) *The final picture with the light and post-processing.* 这是启用后处理和光照之后的最终效果 ![](https://box.kancloud.cn/4f1bd39d2c91c5abda626c474210fed7_2414x1300.png) ## **Optimization 优化** *Unreal Engine 4 uses deferred rendering. This roughly means that each layer of a frame (color, normal map, light, depth, etc) is rendered separately and is stored in the video card memory. Then they are put together in a single image on the screen.* UE4使用了延迟渲染(deferred rendering)。 这意味着在每帧中所有层(颜色,法线贴图,光照,深度等)都将分别渲染并储存在显存中。然后再将他们合并成一张完整的图像并显示在画面上。 ![](https://box.kancloud.cn/107bc3c5c4fd1090613239e5d0d4b19a_1024x551.png) ![](https://box.kancloud.cn/04eab8f318967a63f88897703d015662_1024x551.png) ![](https://box.kancloud.cn/25d91996fa51fe713b9daa988d0c1c5a_1024x551.png) ![](https://box.kancloud.cn/3a1b1ee77ec2990119f1ecab95f70f49_1024x551.png) ![](https://box.kancloud.cn/f652024c6dbcbc9f6fe918be19d3d450_1024x551.png) ![](https://box.kancloud.cn/c3e555f30d547c3880cc1fe600a8096c_1024x551.png) ![](https://box.kancloud.cn/d3a9d01672d3e432d555b8b8008dc78e_1024x551.png) *One of the advantages of this rendering method is that it provides the possibility of dynamic lighting with multiple sources of light, and great scope of options for picture post-processing, for instance, adding blur to the background.* 这种渲染方式的优点之一是他为多个动态光源提供了可能性,以及扩大了图像后处理的选择范围,例如添加景深模糊。 *Its drawback though is that it has high requirements for the video card and its memory, especially when processing high-definition graphics (e.g. 4k).* 而它的缺点是对显卡和显存有更高的要求,特别是进行高清图像处理的时候(例如4K) *In order to have 60fps in the game, each frame has to rendered within 16 milliseconds. The faster one frame is rendered, the higher is fps.* 为了让游戏能达到60fps的帧率,每一帧都必须在16ms内渲染。每帧渲染得越快,就会有越高的帧率。 *Below is displayed an example of Rabbit Story render statistics for one frame.* 下面展示的是Rabbit Story渲染一帧的统计数据。 ![](https://box.kancloud.cn/366a18d91d1396bfaacfebd1df370b95_740x788.png) *BasePass is the rendering time of the scene geometry, and as it can be seen from the diagram (orange part), it’s just 25% of the overall rendering time of the frame – the rest is the light and post-processing.* BasePass是渲染场景几何体的时间,并且从图中可以看出(橙色的部分),它仅仅占用了这一帧渲染总时长的25%,其余都是灯光和后处理。 *Even though the number of triangles has increased by more than 400%, it almost didn’t affect the performance, thanks largely to the instanced static mesh.* 尽管三角面的数量增加了4倍,它对性能却几乎没有影响,这主要得益于实例化的静态网格。 ![](https://box.kancloud.cn/342450cc46be03c68e75fb6df94252cd_1024x549.png) ![](https://box.kancloud.cn/3a1b1ee77ec2990119f1ecab95f70f49_1024x551.png) ![](https://box.kancloud.cn/eedf26ea8ced697b86b759124cfbc38d_1024x549.png) ![](https://box.kancloud.cn/b2a284181309e1262409f07ebb2ae240_1024x576.png) ![](https://box.kancloud.cn/260593f8feb911c4c270bf67a37f179a_1024x576.png) ![](https://box.kancloud.cn/d3a9d01672d3e432d555b8b8008dc78e_1024x551.png) ![](https://box.kancloud.cn/e1b0b671e6725aaef1a29a36e076b858_1024x549.png) Thank you for your attention. And don’t forget to check my game. Viacheslav Bushuev, Level designer 原文地址:https://80.lv/articles/tips-on-low-poly-game-environments/