萌舞Android版Unity笔记整理 英语笔记整理展示图
即使你把ModelImporter.optimizeMesh设为false,Unity还是会尝试合并相同的顶点并破坏你模型的拓扑,这使得顶点动画无法正常工作,唯一的办法就是实现自定义模型格式的导出和导入。计算顶点动画时,用MeshFilter.sharedMesh的顶点作为源顶点,加上Morph的偏移最终保存到MeshFilter.mesh的顶点中去即可。
(二)透明排序
这个有点老生常谈了。上图从左到右依次为:1.AlphaTest2.AlphaBlendZWrite Off3.AlphaBlendZWrite On4.AlphaBlend排序可以看出只有经过排序的效果才是最理想的。在建模时需要美工对模型进行分层处理,要制定好命名规范以便程序员识别。画的时候先从外到内画所有背面,再从内到外画所有正面。正反两面的模型要分开各自存放,否则用CullFront|Back来回切换会很麻烦。Unity控制渲染顺序最简单的方法就是修改Material.renderQueue,好在Material的大量实例化并不会明显增加内存的负担。
(三)ConfigurableJoint和SkinnedCloth萌舞使用ConfigurableJoint来模拟头发和胸部。首先要把位移(xyzMotion)锁死,然后选择两个轴打开旋转(三个都打开会有错误),只有X轴可以双向设置参数(lowAngularXLimit是负角度时的参数,highAngularXLimit是正角度时的参数),利用这个特性可以限制披肩的长发只能向后飘而不会向前穿过身体,通过设置Joint.axis和Joint.secondaryAxis来确定Joint内部的轴向。所有Joint所在的GameObject都要放在根节点上,通过Joint.connectedBody连接到它原来的父节点。用SkinnedCloth实现裙子的效果很容易,建模时把顶点绑在腿上就行,进Unity以后再拿笔刷画顶点的系数,犯懒的话直接根据顶点的Y坐标推算也可以。
(四)动作MMD的舞蹈动作使用了IK,可以转BVH再转FBX,拿MotionBuilder过了一遍发现两分多钟的舞蹈居然有7M,萌舞有20多个舞蹈,加上音乐模型贴图APK会超过200M,这是无法容忍的。于是开始找原因,发现Unity的动画系统不能直接对Quaternion做Slerp,只能一个个分量分别插值,还要记录每个关键帧的inTangent和outTangent,不仅如此,由于这样插值有误差,Unity还会自动加帧。其他类型的游戏由于动作都比较短所以这个问题并不明显,对于萌舞来说却是致命的。于是只好自己写动画系统,顺便把IK实现了,这样会进一步压缩动作,对IK感兴趣的同学可以参考这个古老的网站,感觉网上绝大多数的代码都是照它写的。
接下来是骨骼映射和轴向转换,也就是实现MotionBuilder的核心功能。骨骼映射把名字对上就行了,轴向的话由于MMD采用的是世界0旋转而我们的人物是局部0旋转所以动画数据每个骨骼的旋转要左乘一个ReferencePose时它自身的世界旋转。
(五)防作弊与破解
单机游戏最怕的就是作弊,主要包括内存修改和存档修改。我写了一个AES-256加密版的PlayerPrefs,存档中的所有数据都是用的时候解出来改完立刻存回去,全局变量里不留痕迹。key是基于DeviceID生成的,所以存档也不能共享。
为了防止APK被人重新签名发布,需要在程序内部验证当前APK的签名,显然这件事不应该在Java里做,反正我是能看懂混淆后的Java代码,况且Unity项目Java代码就那么一丁点。利用AndroidJavaClass和AndroidJavaObject很容易实现在Unity中验证APK的签名,你可以在多个地方粘贴验证的代码,IL汇编比混淆后的Java难读一些,不过诚心想破解的人终有一天还是会成功的。
(六)图片背景在OnPreCull里用Graphics.DrawTexture画背景图应该是最简单的方法,而且如果有了背景图,就可以把Camera的clearFlags改为DepthOnly,这样理论上效率会更高。
更多阅读
人教版小学英语单词表(五年级下册词汇) 人教版五年级下册英语
五年级下册词汇人教版小学英语五年级下册单词表(三会)Unit1eatbreakfast:[i:t]['brekfəst]吃早饭haveEnglishclass上英语课playsports:[plei][spɔ:ts]进行体育运动eatdinner:[i:t]['dinə]吃晚饭when:[hwen]什么时候even
英语900句(英音版和美音版)音频和译文 英语口语900句音频
《英语900句》的英音版和美音版汇选了日常生活中最常用的基本句型,对学习英语口语和掌握英语的基础知识很有帮助。英语900句(英音版)音频和译文英语900句英音版第一册(001-150句)英语900句英音版第二册(151-300句)英语900句英音版第
(美国版)盗墓笔记漫画--!!!慎!!!下!!! 盗墓笔记漫画
人物设定很抢眼 特别是瓶子 第一眼看到 啊 瓶子就该是这样的赶脚画风偏写实 比亚版的来说血腥恐怖一些 这是为了符合美国人口味吧全彩页很霸气至于内容 改的是面目全非 跟小说和亚版的差了不是一个次元
人教版八年级上英语1-9单元测试 八年级英语单元测试题
八年级上英语1-10单元测试姓名____________ 分数___________二、单项选择题 (25分)( ) 1. He spends two hours the violin every day.A. play B. plays C. to play D. playing( ) 2. She was born the evening May 5, 1996.
第二版新视野大学英语读写教程4第四册课后答案 新视野读写第二版答案
新视野大学英语读写教程第四册课后答案Unit OneIII.1. idle 2. justify 3. discount 4. distinct 5. minute6.accused 7. object 8. contaminate 9. sustain 10. worshipIV.1. accusing... of 2. end up 3. came upon