程序几何体就是用代码建模的几何体。
通常情况下,制作3D mesh(3D网格模型)是手动操作美术软件如Maya、3DS Max或者Blender等完成的,而本文要介绍的做法却是使用程序指令构建mesh。
这可以在运行时间(mesh直到终端用户运行程序时才完成)、编辑时间(当应用正在开发时,使用脚本或工具)或在3D美术包(使用脚本语言如MEL或MaxScript)里完成。
程序生成mesh的优点在于:
多样性:可以用随机变量生成mesh,也就是说,你可以避免重复制作几何体。
可扩展性:mesh的细节程度可以由终端用户的机器性能或偏好来决定。
可控制性:不了解3D建模软件的游戏/关卡设计师可以理好地控制关卡的外观。
速度:一个对象可以简单迅速地生成多个变体。
谁说的?
以下是本人的背景:我是一名3D美工转游戏程序员再转独立开发者,我认为思考如何用脚本制作出一样东西是非常有趣的。当然,这种乐趣不是谁都能体会,不过没关系。
参考:http://gamerboom.com/archives/76484(分享数字建模方法——从平面到盒子(1))
本文中出现的所有案例都是使用C#和Unity制作的。所有重要的概念都可以转化为你自己习惯的语言/引擎。
你必须掌握C#的基础,如果还懂一些3D几何体的知识就更好了。
不确定自己的知识储备是否足够的人可以做下面的测试:
1、什么是class、function、array,以及loop?
2、如果我用C#语言写出来,你会不会认得出?
3、你了解3D向量是什么吗?(Unity中的Vector3结构)
4、你知道如何获得从一个点到另一点的方向吗?
怎么样?全部会吗?那就太好了。
不太会?那你可能得去学习一下《官方Unity脚本教程》和“基础C#教程”。
参考:https://gamerboom.com/archives/76616(分享数字建模方法——创造位面(2))