一.什么是Houdini和数字化资产
Houdini是一款三维计算机图形软件,由加拿大Side Effects Software Inc.(简称SESI)公司开发。本来他只是一款平平无奇的三维图象软件,面世很多年过去了,突然仿佛一夜之间在游戏领域变得炙手可热,锅外工作室人手一套,锅内大厂也是纷纷开发出houdini的工作流。这都是归功于houdini的一个特性,程序化建模。
数字资产(Digital assets)是指企业或个人拥有或控制的,以电子数据形式存在的,在日常活动中持有以备出售或处于生产过程中的非货币性资产。其实在游戏和houdini的范畴,特指Houdini用程序生成的那些游戏里面用到的模型。
二.为什么要用Houdini程序化建模
程序化建模能使得很多往日人工花费大量精力的模型,能在非常短的时间内生成,比较典型的就是一个大城市的公交马路系统,山体森林等等,甚至今年的腾讯Houdini分享会,直接展示了PS4游戏《漫威蜘蛛侠》整个伦敦城的houdini生成工作流。
这个游戏整个城市都是借助houdini的能力程序化生成的,确实如果光靠人力一个一个建模,要还原出伦敦的规模,可能不止花费多100倍的精力。
未来的游戏,必定是朝更大的世界观,更丰富的地图前进的,谁拥有了低成本生成巨量地图资源的技术,谁就能对不掌握这个技术的对手进行降维打击了。一方一年能制作出一个街区,但是另一方一年做出整个城市了。
三、如何使用Houdini生成数字资产。
要想流畅的使用Houdini生成数字资产,需要花费时间对其进行系统性的学习,对其掌握的专业程度,决定了使用houdini造成的威力。这里我试探性的尝试用Houdini16.5.30生成一个简单的路面,作为一次houdini的探索。
3.0 生成路面的思路与要求
程序化生成路面的思路是描点,点连成曲线,曲线生成曲折的路面,然后输出模型到Unity目录。
而要求,则是程序搭建好之后,在任意5分钟之内,就能新生成任意一条指定路线形状,指定宽度,指定长度的一条路的模型,导入到Unity中。
3.1 建立背景板
因为要描点,所以需要给描点的地方,配置一个背景板,有没有这个背景板不影响描点,但是可以作为描点的参照。
新建一个材质,材质texture填上一张游戏的小地图:
和一张小地图图片:
分别建立这三个节点,用来显示材质:
效果如下:
3.2 描点
一般是照着小地图描点,我这里为了展示点,把小地图隐藏了。
3.3 直线变曲线,中间均匀分布更多节点
3.4 曲线变曲路面
其中还用attribrandomize节点,来对路的宽度进行一个随机的不规则处理,用来模拟曲折小路的效果。
3.5 配置uv,用来正确识别贴图
3.6 输出fbx模型文件到Unity项目工程中
3.7 搭建好程序后,再次新建一条新的路的费时
描路径点花费1分钟,输出Unity模型,调整位置上贴图花费2分钟。也就是说,程序搭建好之后,新增一条已有材质的路径,包括对原有路径的任意调整,都会在5分钟之内,会是是十分简单的。
3.8 hip源码(Houdini16.5.350)
4.总结
经过这次初步尝试,一是更加认识到,houdini作为将来游戏中开发工作流中的重要性,二是完成这个探索途中,面临了太多问题,总结原因就是使用者的专业程度,会很大限制houdini这个工具的发挥。而目前,我自己的houdini专业水平就很堪忧,看来,一步一个脚印才是硬道理。
另外,锅内中文Houdini参考资料几乎没有,以后有空可以开一个坑,中文的Houdini全面的学习博客系列。