之前按照论坛的两个教程学了点基础
我现在大改对unity做一个游戏有了初步认识,我并不想完全按照教程敲一遍,我想把我自己想做到的效果自己做一遍不会的地方参考教程,我认为这个效率比较高,自己能搞保持较高的热情,前提是需要把前两个教程看完。
首先说下我的需求:
1.2d
2.任务左右行走,跳动,爬墙
3.地图目标能够击毁
首先创建游戏工程
第一步画图,做动画(图片需要png)
默认Assets文件夹已经存在的,在此文件夹下新建三个文件夹
scripts(放代码)
textures(放图片等资源)
prefabs(存放组件,相当于插件吧,比如把人物和一些动作(受到攻击掉血、按键跳动等)绑定起来形成类似对象一样的东西独立存储方便管理及调用)
因为动画用三方组件,需要下载,如下
全部导入,可能包里还自带了一样实例之类的,无所谓,我全要
把图片直接拖到textures文件夹里
选择图片文件,在属性栏里修改sprite mode :multiple,然后点击sprite Editor ,点击apply
unity目前用到比较NB的能力了 自动切图,点击slice,关闭切图窗口,会发现自动拆分好了,只需要修改下名称
右键slice之后的图片 create/anima2D/spriteMesh
然后全部拖动到Mesh文件夹
在Hierarchy文件夹右键你的scene新建create empty (这个相当于文件夹来用)
形成这样的文件夹结构,然后把我们的mesh拖到对应的文件夹里
可能你也注意到乱作一团的元素了,自己w e r 整理下
还是有些奇怪对不对,此时需要设置每个元素的涂层属性,比如左手左腿不能遮挡右手右腿之类的
随便选中一个身体组件,在Inspector中点击sortingLayer ,选择addSortingLayer
点击加号起个名字,然后点击每一个组件,把sortingLayer改成你新建的,并给他设置一个order in layer值
不过我的还是显示左右腿混在一起,因为我的腿是真空的透明的{-_-}|||,以后再改吧
下面创建骨骼
在player下create empty起名bones,并添加bone
起名JJ,作为全身骨骼的起点(我暂时也不确定是不是可以直接创建躯干骨骼)
从JJ伸展出身体的骨骼,我命名为body_bone,并做出调整。
加骨骼这东西真是一言难尽。。。
大概就是按常理骨骼之间的关系,身体长出头部jj长出leg
骨骼设置好之后,需要把骨骼与sprite对应起来
选中sprite以leg为例,在把对应的bone拖动到Inspector中set bone属性上即可
绑定完骨骼之后,需要给sprite蒙皮,蒙皮这个操作可能因为我的图像素太低而显得很奇怪
选择一个sprite 以body为例
还是由于我的图太槽,导致系统识别有点问题,所以过程我都懒得写了啊。。
点击slice 自己摸索调整3个参数,点击apply预览效果,大改就是点要贴合图片上的节点,尤其有个要注意的是关节地方要多放点,我理解是会拉伸防止变形太严重
为了便于录制动画,给骨骼添加IK关节以方便调整骨骼
给bones再添加一个空的子对象,命名为IK
选中IK,右键添加一个IK Limb对象
把IK Limb对象重命名为arm_right,并移动到手腕的位置
把前臂的骨骼拖拽到IK对象的Inspector中的Target框中,并去掉Orient Child的勾勾,抛开字面意思,我觉得这个的意思是是否不允许子骨骼的自由变换,当然要允许了,要不然手和武器怎么自由变动
返回场景视图中移动IK对象看看效果,可以发现,手臂的骨骼会随它而进行关节性的变化,圈圈变成了蓝色,而且骨骼根部的小黑点也变成了蓝色,表示绑定了关节
结果是非常诡异的,有种皮影戏的感觉
总的来说如果你的游戏需要的动画不多的话不建议用这个做,真心感觉不如关键帧动画来得快呢,还容易拉伸图片失真
我又试了一张完整像素高的图,成果喜人,我甚至酶切图
好玩好玩