3D场景中的物体摆放——道具屋经营物语的踩坑日志

精华03/17127 浏览开发心得
大家好~这里是道具屋经营物语。
我将在本帖分享一下在制作过程中遇到的问题和最后解决方法。将踩过的坑一一诉说[表情_微笑]
在游戏制作过程中,为了增加画面表现力,以及适配移动端的简便操作,在想到哪做到哪的胡乱设计下。选择了采用上方3D视口,下方操作菜单的GBA式UI布局。如下图:
TapTap
UI布局
当时我觉得这样一定会很酷吧哈哈哈(后面被UI和3D场景设计狠狠折磨)。

·3D场景的布局设计

那么上面的3D时候中的场景是怎么实现的呢,待我细细道来:
最初的场景就是地板和墙壁(请无视场景小物件,没有做关闭显示的功能[表情_微笑]
TapTap
设置之初就定好了场景大小(其实本来想做自定义家具摆放的,但是代码已经成为史山了[表情_豹哭],这里强调一下做规划文档的重要性[表情_微笑]
场景地面为7-7的网格地图,三面有墙,设置了墙的高度。墙壁也使用了相同的网格设置,用来设置窗户和门。再做一个场景物体按网格摆放的菜单,就可以对场景进行设置了。
TapTap
自己设置场景
       ·如何保存场景
       这时我们可以发现,每次重进游戏,上次做好的场景就会重置。(尝试过做一个按钮点击保存场景,但是无效[表情_叹气]。)。
      所以为了保存场景,我让塔拉拉将场景的布局,也就是所有的物体的位置坐标、旋转、缩放,用日志的方式输出在浏览器的控制台日志当中,也就是按F12会出来的菜单中,如下图:
TapTap
浏览器的控制台页面
之后再截图或复制给塔拉拉保存场景即可。手机浏览器的话的话可以将显示数据的功能做到游戏内,还可以加一个点击按钮全部复制到剪贴板的功能,然后复制给塔拉拉。
同时也可以将给场景中的物品添加贴图和更改颜色的功能一并实现了(塔拉拉生成的材质默认为PBR,也就是像现实中一样的材质,支持调整 金属度  粗糙度 颜色 甚至可以换  法线贴图  让物体看起来有凹凸感 )。
另外要夸一下塔拉拉打光的审美,场景中灯光加的不错,很有氛围感(就是帧数骤降,如果可以,只要太阳光,不要乱加点光源)。
TapTap
因为我们之前做的物品摆放是在网格地图上摆的,那么移动逻辑也从这方面实现,用寻路算法写一套移动逻辑就能在场景中移动了。
TapTap
这里推荐加一个观察者模式(类似unity编辑窗口查看的逻辑)。能够更好的查看3D场景(在塔拉拉里做游戏编辑器了属于是)。
TapTap
更好的查看场景布置
场景外的布局也是如法炮制。注意不要相信塔拉拉,自己手动布局。因为塔拉拉连Z轴的正负都分不清。
TapTap
场景外布局

相机跟随动画

相机动画与跟随系统 — 过渡插值系统、入场弧线动画(easeInOutQuart 1.5 秒)、玩家跟随(X 限幅、Z 固定距离)、观察者自由相机。
这些是塔拉拉说的。所谓相机跟随就是相机的移动逻辑,这个和塔拉拉说一句他就能做,优化的空间就在于过渡插值系统。给动画加入过渡动画,而不是匀速变化,会让观感变好很多。
具体逻辑就是相机运动过程中加入变速逻辑,如下图:
TapTap
相机移动
我这里用的是   慢-快-慢   的缓入缓出。更加的自然了。
以上就是我在taptap制造使用过程中对3D场景的一点点经验。希望能帮到大家[表情_开心]
欢迎大家来体验我整的这款还不完善的游戏,以上[表情_灵光一闪]
9
2
1