http://blog.sysuschool.com/u/mygod/index.html
请稍候,载入中。。。
 
请稍候,载入中。。。
2023/12/18 8:49:00
博文:Unity3D实现虚拟校园行_场景篇

  自去年9月开始学习unity3D,已经有一年多了,中间还包括学习c#脚本语言,前面博文小结过学习c#unity3D的所感,本博文想小结下一个刚刚完成的unity3D作品的开发制作,这个作品实现了角色模型以第一或第三人称视角在校园行走,校园模型是10年前制作的,结合unity3D,也算圆了一个愿望,这也是当初学习unity的初衷所在。 

  虚拟校园行中按比例再现了附中的环境建筑,模型较10年前的添加了新高中教学楼(慎思楼),但没有制作风雨过道(钢结构走廊),也没有制作室内效果,本想制作图书室、讲学厅室内模型。作品中,玩家通过鼠标和键盘操纵角色行走,游览校园,为增加趣味,设置成游戏模式,当然也可以不玩游戏,纯粹游走校园,了解附中,游戏设置成打卡模式,隐藏了7个卡标志(旋转的楼名或场室名的立体对象),当角色游走到特定位置时触发标志的显示,用角色触碰标志,完成一个打卡任务,当所有标志触碰后,游戏通关,可重新开始。 

  作品逻辑虽简单,但小结起来也还是有许多东西,故打算分多篇进行,本篇说说环境模型。 

  校园三维模型用3dsMax完成的,大概是2012年左右,当时博学、审问、笃行楼算是制作的非常完整,宿舍楼(明辨楼)和高中教学楼(慎思楼)做的较粗糙,只做了一个轮廓,这次完善了慎思楼的制作,明辨楼保持了原状,甚至做了简化,去掉了楼顶的太阳能板等,这主要考虑尽量少增加作品的大小。 

  从3Dsmaxunity,这个过程较繁琐,由于之前用3dsmax主要做vray渲染,但现在给unity用,首先要做的是修改材质贴图,要将vary材质换成max标准材质,其他贴图如凹凸贴图、反射折射等全部都要去掉,工作量大且挺繁琐。 

  从3Dsmaxunity,需要一个导出fbx文件过程,为了避免出错和检查,基本上是一栋楼一栋楼分别导出的,导出时可以不勾选导出贴图,手动将贴图文件放到指定的unity的资源文件夹中,这样避免贴图的重复(不同的楼可能会用到相同的贴图,如地板瓷砖等),导入也是一个一个的导入,导入一个要检查模型和贴图是否有问题,如有问题,需要及时回3Dsmax进行模型和贴图的修改,再重新导出导入。其中有一个问题比较麻烦,在max中材质有双面材质,可以保障从面的背面看没有问题,但到了unity中,只认正面,从背面看则是空的,这导致从门洞和窗户看房间时,对面是空的,如果回3Dsmax修改会相当麻烦,只好在每个楼内塞了一个box 

  将所有模型导入unity后,还有两个工作比较重要,一个是场景的管理,一个是需要添加碰撞组件。 

  场景管理,就是对模型进行命名和分层,导入的模型都含有一堆的子对象,子对象可以不用管,但父物体一定要命名,到时不好查找,这里用楼名称的简写拼音,不要用中文(写脚本时用中文就麻烦了),最后建一个空对象,命名enu,环境的意思,将所有模型设为其子对象,这样在层次面板非常简洁。 

  二是碰撞组件的添加,没有碰撞组件,角色模型会没有支撑直接下落,还有角色可以穿墙而过,碰撞组件需覆盖每一个需要避免角色下落和穿墙的位置,一个模型可添加多个碰撞组件,分别调整组件的形状大小,这个工作需要在导入角色模型后进行测试,看看是否会发生下坠或穿墙的情况。 

  至此,环境模型算是初步搭建完成了,下一篇说说角色,即玩家操控的角色。

mygod | 阅读全文 | 回复(0) | 引用通告 | 编辑
发表评论:
请稍候,载入中。。。
公告
请稍候,载入中。。。
时间记忆
请稍候,载入中。。。
最新日志
请稍候,载入中。。。
最新评论
请稍候,载入中。。。
最新回复
请稍候,载入中。。。
我的好友
我的相册
站点信息
请稍候,载入中。。。
生活因感动而精彩,理想在创造中放飞
Powered by Oblog.