最近用unity作2D游戏.虽然使用unity的游戏中有很多是2D的,但是目前的2.6版本还没有提供2D的功能,所以那些个2D游戏都是在3D下完成的,使用的是3D的坐标,因此要把平面的物体搬到三维空间里去. 本文介绍如何将平面带图层的角色创建到3ds max的场景中,并添加骨骼 概念:在2D动画中,角色的组件有前后顺序的相互遮挡,因为有图层;虽然坐标维度只有两个,但是图层可以作为第三个坐标来看.所以在3D中可以将纵向的深度的坐标作为图层来用,这里的角色看起来有点像皮影戏.这样在3D中创建平面,贴上贴图即可; 一 首先把2D图片中的角色身体组件搬到3D中,这里目前想到两种方法.第一种使用使用布尔创建对象,较简单 主要讲这种;第二种使用UVW展开 共同步骤: 将要放进场景中的部件在Photoshop中横平竖直的摆放好,去掉白色的背景图层.导出带alpha通道的png图片,若用 UVW展开 最好再导出个带白色背景的 第一种使用使用布尔创建对象: 首先创造一个和图片比例一样的平面,创建要使用的角色的材质;平时也不常用这软件,为了将alpha作为透明的值,我在几次尝试后,现将贴图中"漫反射颜色" "不透明度" 都设为带alpha的透明背景图图片,透明设置中使用alpha作为灰度图,相关设置: 在 漫反射颜色 中使用 在 不透明度 中使用 不知道有没其他方法. 效果: 这里说明一点,场景中组件材质设置为透明只是方便编辑.unity中的材质还是要另外设置 现要在取下身体组件了,在组件处,创建个此组件大小的方块,穿过平面 再选择布尔创建对象 拾取平面后是否继承材质的提示选"是".后使用交集 创建好了一个.将其移出来;其他的类似 第二种使用UVW展开 将和图片比例一样的平面的贴图设置成不带alpha背景的,把材质设透明一些便于观察. 在相应的组件位置创建合适的平面. 全选要成为身体组件的平面后,添加UVW展开修改器,如图 在 平面 操作中,把产生UV坐标的平面改变到正确角度和背景平面一样的大小,使产生的UV面和场景中身体组件一样的排列.就设置好了 二 按图层的顺序设置层次/深度的坐标,比如每层间隔一个单位 三 接着就创建骨骼了 三 在本例中将身体组件使用连接工具依附到对应的骨骼上即可;有些情况下可使用蒙皮,来达到更好的效果 最后添加IK后的结果,虽然还没摆得很好看,但至少可以把二维的角色,搬到场景中了
|