我再次回来,第二篇UNITY开发日志第一篇关于环境装饰优化的开发日志意外地取得了成功。我感到非常高兴 :)
如果您想阅读包含所有截图(以及添加背景图像的图片)的博客文章,请在此阅读
游戏的主要内容是您现在可以将钻石装饰品、您的熔炉、锯子、等等放在新的海洋区域和农场中。此区域的最初计划是作为纯绘图物,仅仅希望它可能会变得可以放置。幸运的是,我已经成功了 ;)
无论如何,我需要将格子系统扩大,并确保它与用户的老版游戏文件兼容。这需要大量的编码,而且我还需要仔细调整。另外,我也建立了一个全新的工具来绘制地形,标记出不能放置东西的地方。那些摇滚、花朵、碎石、水和类似的东西都会被我手绘标记出来。做这件事花了很多时间,但现在已经完成了:我尝试了几种方法,但最终我选择了这个方法。稍后我会介绍相关内容。
艺术家也给出了新的农场背景图像的最终版本,并且它很棒。背景有更多的人物性,例如,山顶岩石中的人脸等。我们最终做成了一个分层的东西。让它在不同视角下正常工作的确是有困难,但最后它成功了! :D
除了这些,我还设置了很多畸变区域,使得玩家可以进入和离开不同的区域。例如,从底层洞穴到上层洞穴,从农场到海滩、城市、交叉点等等(带有闪闪的指示器标志)。我还改进了瀑布的转换,瀑布物体现在可以和河面平滑融合了。很高兴它没那么难看了。
我还需要重建动物伴侣的寻路设置,因为你家里的牛、鸡、马等等,现在可以跟随你下到新区域,而不是在农场边缘卡顿,并且在不停循环的teleport到你身边时会bug:)
另外有很多其他的修改和添加,但是太难记住了。
新的背景
像我上面提到过的,模型师给出了新的农场背景图像的最终版,它真的很棒。背景图像不再是普通的简单背景,而是一个用手绘技术绘制的有层次感的背景。有5-6层,远离玩家的背景是白色,是因为很远。然后每一层后面颜色都会变深。
有三个山脉层,前两个是远处的深灰色,最后一个是白色。前方的山脉有花朵,有个石头岩石背景。在最前面有个树林,树形图像是单独绘制的,可以自由摆放。图像最前面,树枝被分割成两半,左右结合,来避免图像重复出现。
让它在不同视角下正常工作确实有困难,因为视角会在近化和远化时会有很大变化。我的第一项是制作一个校准工具,但是最终我还是把它放弃了。最终,我选择让树的高度与前方山脉结合在一起,让玩家的视角更高时,树的高度会变得更高。当玩家下降视角时,树的高度也会随之提高。这样做简单很多,而我也没有去试图在不同视角下校准图像。
我还改进了瀑布的转换,我之前把瀑布和河面放在一起,但是没法很好地融合。这时我制作了一个瀑布的定制材质,让瀑布和河面之间的界限可以渐渐消失。而且这次的效果确实比之前要好。
重新建立格子系统
我们在之前的游戏中已经可以在任何地方放置工具,例如锅炉、锯子、喷水器、护树人等等。在新加入的海洋区域中,我想让同样的地方可以放置工具。最初我不想让它可以放置是因为区域太大了,而且想过地形会不太合适。但是,经过性能优化,我的确发现以前的性能优化可以处理我们想要的内容。
我需要花很多时间来重新建立格子系统来让它能够兼容之前的游戏版本,并且要在这么大的区域中做到这一点,我需要一个非常好的工具来标记出不能放置物品的位置。最终我做了一个手绘标记工具。它现在可以在两种视角下工作:你可以从上方视角标记面积较大的地区,将地图背景画为红色,然后你还可以从在场景视角中标记小区域,当在地景视角下标记时可以很容易的修正边界。如果在两种视角下标记的话,有助于提高绘制速度:)
除了这些,对于我来说更困难的是优化工具和背景,因为背景需要在不同的视角下都需要兼容,简直没有想象。这需要非常好的视觉效果来让我看起来很自然:)
我还花了些时间来标记出不能放置道具的位置,因为前面提到,这部分内容需要重新建立了。标记是使用一个非常好用的程序来绘制红色区域,以标记不能放置物品的位置。最终在新世界上全部标记完成了,真是个很大的工程:)
我还修复了蓝色的格子网,使得它看起来更美观。蓝色的格子网原来是可以看到的,但是现在你可以很容易的看到它;尤其是在新加入的海洋区域中,因为那里有很多种各样的高地和低地,有很多的水边和水中的物体,如果放置道具的位置不正确的话就会有非常不好的效果。最终我做了一个能根据当前的视角调整的工具,并且在高地时可以隐藏:)
其他功能
我还有许多其他的项目,要优化和添加功能。在新世界中加入背景,这真的是一个有价值的地步。但是新的背景还需要很多新的功能来让它更优雅和美观。例如,我需要在不同的视角下都要有不同的背景颜色和效果,我还要让地形更平滑,而不是原来的矩形状:)但是,还有很多其他的内容需要实现,但是我太累不想在这个文本里再写更多了:)
为了让玩家可以进入不同的区域,我还创建了很多的畸变区域,用来连接不同的游戏区域。例如,从底层洞穴到上层洞穴,从海滩到农场、城市、交叉点等等(带有闪闪的指示器标志)。这个新的区域感觉真的很美观了,因为你可以在更大的视角下查看了。
而且我还改进了瀑布和河面的过渡效果,让它们更自然了。
我还改进了动物寻路的系统,因为之前的系统只有农场的寻路,其他区域没有寻路系统。现在这已经完善了,我可以在任何地方有跟随我的牧场动物了。
另外,我还有很多其他的修改和添加功能,会在日后逐渐完成:)
新的背景
因为之前的背景太单调,感觉非常不自然,所以我还加了一个新的背景给了艺术家,让他设计一张新的背景图像。当我得到背景图像后,我还需要让它工作在任何视角下。背景有多个层次,有不同的颜色和效果,让背景感觉更饱满。背景也有了个个人的感觉,因为背景中有个有花朵和个石头岩石背景。在背景中还有个树林,但背景中的树形是单独绘制的,而不是一次绘制整个背景。背景的树枝被分割成左右两半,为了避免背景图像循环和重复出现。在新背景中,有了一个分层的效果,让背景不会感觉很平坦,感觉很自然了:)
但是,新的背景在不同视角下需要调整,不然背景看起来会很不自然。例如,背景在上视角时会看起来很远,不需要高度,反之。为此,我使用了一个新的方法来优化背景,让背景在不同视角下都感觉自然和美观。
而且,瀑布和河面的过渡效果我都已经完善了,让背景更自然和合理。现在瀑布和河面是可以逐渐过渡的,而不是一下子切换:)
所以,新背景的效果和美观现在达到了更高的水准了;而且新的背景现在也感觉更自然了!
瀑布过渡效果
我有一个关于瀑布过渡效果的修改。瀑布和河面的过渡效果以前很难看,所以我想尽各种方法让瀑布和河面之间过渡更自然和和谐。最终,我使用了一个新的材质,让瀑布和河面之间过渡更自然了。现在瀑布和河面之间的界线已经和谐了。
另外,我还有一个新的蓝色的格子网,我使用了一个新的方法来隐藏格子网,让蓝色格子网在高地时更加自然:)
如何建立一个格子遮阻工具(对于其他Unity开发者)
如果你想建立一个类似的工具,以下是如何建立。跳过这部分内容,除非你感兴趣于Unity的开发内容。
组价
阻碍物是一个MonoBehaviour,放在Terrain GameObject上。保存的数据只有一个阻碍物数组blockedTilesX和blockedTilesY。每对入出对是一个阻碍物。
在游戏启动后的ApplyToGrid方法中,扫描每对,将世界坐标转换为格子坐标,转换完成后,会在gridMapSimplifiedCanPlaceHere布尔图中将相应元素设置为True。
在Placement系统中已经有一个gridMapSimplified层,现在只需要新加入一个阻碍物的概念在此图中建立新的阻碍物图gridMapSimplifiedCanPlaceHere布尔图。如果两者都True,才表示放置物品是允许的。
编辑器工具
编辑器工具包括:
一个自定义的Unity Editor inspector,放在组件上,一个场景画面处理程序,覆盖鼠标在勾画状态下。处理程序在顶视图和正视图中都工作同样的方式。
当你点击鼠标左键时,会根据鼠标当前所指的坐标,取当前地形所在的坐标,对应位置的gridIndex就会被设置为红色。在勾画工具中你可以选择不同的画笔大小和类型:)
你可以使用 Ctrl + 空白键来清除勾画区域的阻碍物。
你可以在顶视图和正视图中使用T键切换视图。
现在,勾画工具有这么几个不同的模式:
- 普通画笔:用 Ctrl + 左键来勾画和 Ctrl + 右键来清除。
-
方框填充:用 Ctrl + Shift + 拖拽块来勾画,填充格子网。
-
其他功能
还有一个新的蓝色的阻碍网功能,基于之前的瀑布过渡效果。阻碍网现在会在高地时隐藏,而且在瀑布底部的过渡处,也会很自然的结合。现在,这个新功能和之前瀑布过渡效果都变得很自然和美观了。
而且,我还增加了一个Warp区域使得玩家可以在不同的区域之间快速移动。现在,玩家可以轻松地在海滩和farm之间移动,甚至在其他区域之间也可以进行快速移动。
而且,我还在游戏中加入了新的动物寻路系统,让动物可以在所有区域内跟随玩家,而不是只有在农场区域内。
新的背景已经成为游戏的一个亮点,而这些新的功能和修改也会让游戏更加美观和自然。
评论 (0)