3.1 孔明锁结构组装三维动画设计

孔明锁,相传是三国时期诸葛孔明根据八卦玄学的原理发明的一种玩具,曾广泛流传于民间。它起源于古代汉族建筑中首创的榫卯结构,这种三维的拼插器具内部的凹凸部分(即榫卯结构)啮合,十分巧妙。孔明锁原创为木质结构,外观看是严丝合缝的十字立方体(图3-1)。孔明锁类玩具比较多,形状和内部的构造各不相同,一般都是易拆难装。拼装时需要仔细观察,认真思考,分析其内部结构。孔明锁看上去简单,其实内中奥妙无穷,不得要领,很难完成拼合,本章节将对孔明锁的组装展示动画进行虚拟现实交互设计,设计者可以通过每一个步骤的演示和操作,再运用UI界面操控演示动画,从不同的角度和方位去观察孔明锁的造型和结构,从而迅速地实现其形态的拼合和组装。

图3-1 孔明锁效果图

3.1.1 孔明锁模型、贴图、灯光与摄像机设计

(1)孔明锁模型设计 孔明锁模型的创建主要通过多边形建模实现,创建一个2×2分段的立方体,然后转换为可编辑多边形,根据物体的造型结构和特征,利用面挤出命令进行表现,在挤出过程中,要按照比例图的尺寸进行表现,这样后期模型动画组装过程才能确保精确,按照这个思路和方法,最终完成模型的制作(图3-2)。

图3-2 孔明锁模型建模

(2)孔明锁材质设计 按键盘上的M键,打开材质编辑器,利用标准材质球,在物体的漫反射通道分别添加一张文件贴图(图3-3),然后将材质赋予场景中的物体,并分别为物体添加UVW贴图坐标修改器,使材质贴图适配场景中的模型坐标,其中6个立方体的贴图坐标为长方体模式,其他3个平面物体的贴图坐标为平面模式,若贴图尺寸过大,可适当修改U向平铺和V向平铺的次数,调节贴图大小与场景适配即可,最终为场景中的物体添加不同的材质贴图,在视图中可以实时观察最终效果(图3-4)。

图3-3 材质设计图

图3-4 材质视图效果

(3)场景照明与摄像机设计 根据三点照明的设计原则,进行场景的照明设置(图3-5),其中1号位置为主光源(冷光),倍增值为0.7;2号位置为辅光源(暖光),倍增值为0.5;3号位置为背景光,倍增值为0.3。4号位置为目标摄像机的位置,主要用于定位场景构图和观察视角。

图3-5 灯光摄像机设置

3.1.2 孔明锁结构动画组装设计与贴图烘焙渲染

(1)孔明锁三维动画设计 在时间轴面板中,点击时间配置按钮(图3-6),设置动画的长度为325帧,帧速率为PAL模式(图3-7)。运用动画关键帧制作技术,为物体创建动画,具体动画时间分配如下:0~50帧,Box004组装动画设置;50~100帧,Box008组装动画设置;100~175帧,Box002组装动画设置;175~225帧,Box005组装动画设置;225~275帧,Box003组装动画设置;275~325帧,Box001组装动画设置。具体的组装动画设置细节,可根据自己的需要和创意进行表现设计,只要能把结构的组装过程展示完整即符合要求,中间不要有结构穿插和对位不准的情况发生,按照正确的组装顺序进行动画设计,具体组装过程可参考相关书籍的步骤或网络视频的介绍,以方便设计和制作的顺利完成。

图3-6 时间配置按钮位置

图3-7 时间配置面板

(2)刚体动画命名 完成动画设计后,为了能够让后期VRP软件识别物体动画模型,需要为模型创建刚体动画集合,按照动画展示的先后顺序,为每个物体创建一个vrp_rigid的刚体动画集合组(图3-8),这样在导出到后期软件中时,3ds Max设置的动画效果即可被VRP识别。

图3-8 刚体集合组命名

(3)渲染烘焙场景设置 点击渲染菜单下的渲染到纹理按钮,或者按键盘上的数字0键,都可以打开该对话框。在常规设置中,选择烘焙贴图渲染保存的路径,然后全选场景中的物体,在选定对象设置卷展栏中,设置填充数量为6(图3-9),添加Complete Map的贴图方式,目标贴图位置为漫反射颜色,贴图大小为512×512。在烘焙材质卷展栏中,设置新建烘焙对象为标准:(B)Blinn材质类型,在自动贴图卷展栏设置阈值角度为60,间距为0.01(图3-10),参数设置完成以后,单击“渲染”按钮进行贴图的烘焙渲染。

图3-9 渲染到纹理设置(1)

图3-10 渲染到纹理设置(2)

(4)导出面板设置 渲染完成后,在实用程序面板,点击“配置按钮集”,打开配置按钮集面板,将左边的[*VRPlatform*]模块用鼠标左键拖拽到右侧的实用程序面板(图3-11),然后在实用程序面板,点击[*VRPlatform*]按钮,即可弹出VRP导出面板(图3-12),单击“导出”按钮,弹出“导出”对话框(图3-13),其中含刚体动画模型为6个,这说明在动画设置中的刚体动画集合命名可以被识别,点击调入VRP编辑器按钮,即可调入到VRP软件中进行后期的UI设计和交互设计。

图3-11 配置按钮集

图3-12 导出面板

图3-13 导出对话框