负一、​先说两句

本文索引是负一开头,那是因为这一小节是​最后加上来的。为了不牵一发动全身,就这样最好了。

写文章每次要自称的时候,麒麟子三个字打着太费劲,以后文章中,我就叫自己阿子吧​。

大家从今天开始,多习惯习惯。

零、效果展示

这两天在研究Cocos Creator 3D骨骼动画部分,网上找了些模型。为了方便查看模型的各个动作,所以顺便写了这个模型&骨骼动画查看器。

项目包含了以下几个内容

1、QFW(qilinzi framework)框架最新版

2、天空盒设置、内置10款天空盒

3、第三人称摄相机控制器

4、一个主角模型以及配套的40个动画

拿到这套代码的小伙伴们,可以很容易地制作属于自己的DNF类ACT RPG,MMORPG等。

在线演示地址:http://showcase.ukylin.net/modelviewer/


一、资源与动画

如上图,@Cast @BattleStand等以@开头的FBX文件,就是我们模型的动画文件。每一个动画文件是独立的,且与模型文件是分离的。

这样做的好处是方便我们按需动态加载,并且美术在进行FBX导出的时候,可以更直观地管理这些动画文件。

这个套路是从Unity3D中发展出来的。已经被证明是非常适合的动画资源管理方式。

这样的管理方式,在Cocos Creator 3D中,还有一个更大的好处,就是H5项目可以延迟加载动画。比如一些NPC或者怪物的不常用动画,就可以等到使用的时候才加载。(主角为了体验感,一般还是预加载完了的)

Cocos Creator 3D骨骼动画继承自动画基类,因此它的使用方式和普通动画没有区别。只需要将骨骼动画拖到SkeletalAnimationComponent中即可。

播放代码超级简单,示例如下:

let animState = this._anim.getAnimationState(animName);
animState.repeatCount = isLoop ? Infinity : 1;
this._anim.play(animName);

注:repeatCount的值 Infinity表示无限循环,其余值表示要播多少次。

二、阴影

Cosos Creator 3D在1.2以前,只支持了平面阴影(Planar Shadow),正好适合我们项目这个只有一个Plane的场景。开启阴影只需要设置两个地方

1、场景属性里面,planarShodows开关打开

2、对应的Mesh节点的ModelComponent的ShadowCastingMode设置为ON

三、天空盒设置

为了查看不同环境下的效果,阿子把天空盒设置功能也放进来了。配合主界面上的 UseSkybox和UseIBL开关,可以很好地调节场景氛围。

四、第三人称摄相机

第三人称摄相机是角色类3D游戏必备的功能,Cocos Creator 3D的CameraComponent并未提供,所以花了时间写了一下。主要用到的就是向量转角度,角度转向量相关操作。

按住鼠标右键拖拽,可旋转摄相机

鼠标滚轮可拉进拉远摄相机

五、QFW(qilinzi framework)框架更新

随着不断的功能学习,QFW也进行了不少升级,增加了许多便利性。这个会在后面专门用一篇文章来解释。

六、总结

Cocos Creator 3D在骨骼动画部分,已经做得比较完善。基于顶点纹理的骨骼蒙皮也可以很轻松地突破寄存器限制和实现Instancing。只是动画融合部分还未添加进来,导致角色动作衔接不够流畅。不过这个功能应该马上就会出了,不会等太久。

麒麟子Cocos Creator 3D研究笔记五:模型骨骼动画查看器相关推荐

  1. 麒麟子Cocos Creator 3D研究笔记七:骨骼动画上的挂接点

    注意手中的大棒 每个人心中有一个属于自己的游戏世界,麒麟子也不例外.拿到Cocos Creator 3D第一时间,就想撸点人物角色相关的.像换装.角色控制.血条.武器挂接之类的. 然而当我按照套路把角 ...

  2. 麒麟子Cocos Creator 3D研究笔记四:天空盒动态更换与IBL效果

    麒麟子Cocos Creator 3D研究笔记之材质IBL与天空盒动态切换 在线演示地址: https://showcase.ukylin.net/skybox/ 天空盒对于3D渲染场景来说,有着不个 ...

  3. 开始写一个新的专栏《麒麟子Cocos Creator 3D研究笔记》

    如题 麒麟子在2016年的时候,开启了自己的Cocos Creator之门,并发展出了自己的公司. 在Cocos Creator 3D来临之际,麒麟子再一次选择了提前跟进. 凭借着微弱的商业嗅觉,麒麟 ...

  4. 麒麟子Cocos Creator 3D研究笔记零:从零开始入门并发布微信小游戏

    编辑器状态截图 不要在意名字,我临时借用的小游戏APPID 一.前言 Cocos Creator,我回来了. 2016年6月,大家都觉得Cocos Creator 2D不够成熟的时候,我就开始商用了. ...

  5. 麒麟子Cocos Creator 3D研究笔记十:【qfw】开源的Extension Pack for Cocos Creator 3D

    零.写在前面 愿你活得烈马青葱,不为他人的目光所累 ---嗯! 阿子也不知道这个句子的原始出处,但就想把它分享给大家.专心写好自己的BUG,让别人说去吧! 在进入今天的正文之前,阿子想给大家聊聊最近使 ...

  6. 麒麟子Cocos Creator 3D研究笔记十一:实用Shader之单张纹理实现武器动态发光

    零.别看广告,看疗效 虽然标题叫武器发光,其实它还能实现魔法护盾.动态光柱等效果.别说话,看图! 阿子最近沉迷于学英语和写代码,可HIGH了. 一看时间,竟然已经十天没发稿了. 但这不能怪阿子,要怪就 ...

  7. 麒麟子Cocos Creator 3D研究笔记一:图片资源类型和加载

    图片资源在Cocos Creator 3D里面,有两种状态,一种用于3D纹理,另一种用于2D界面.如下图所示,sprite-frame用于2D,其余都用于3D. 如果你试图把一个标记为texture的 ...

  8. 麒麟子Cocos Creator 3D研究笔记九:初尝Shader并实现边缘光(RimLight)

    零.先看一些图 图1:边缘光因子检查 图2:黄色,一般用于霸体效果 图3:红色,一般用于特殊技能特效 图4:白色,一般用于受击效果 图5:绿色,一般用于人物,NPC选中时高亮 看着群里的小伙伴们都很热 ...

  9. 麒麟子Cocos Creator 3D研究笔记三:角色换装(无动画)

    零.效果展示 先来两张图 在线演示地址: https://showcase.ukylin.net/avatar/ 3D换装有两种情况,一种是身体各部件(如头发.上衣.裤子.手套.鞋子等身体各部分),另 ...

最新文章

  1. SAP OData的CSRF token在ABAP Netweaver服务器上是怎么生成的
  2. internetreadfile读取数据长度为0_【完结】TensorFlow2.0 快速上手手册
  3. C语言课程设计报告输出杨辉三角,C语言学习:在屏幕上输出杨辉三角
  4. python和php合成,Python照片合成的方法详解
  5. jquery字符串序列化方法总结
  6. 三星宣布华大九天成为其晶圆代工生态系统SAFE EDA合作伙伴
  7. 第三周作业(三)WordCount
  8. SELinux系列(一)——SELinux是什么
  9. 免费内网映射外网绑定,tcp端口转发(windows)
  10. 深入理解JavaScript系列(25):设计模式之单例模式
  11. CouchBase 入门
  12. 淘宝客淘客6合一系统小程序APP返利饿了么外卖美团代理分销系统
  13. html 小喇叭图标,找回丢失的小喇叭图标
  14. Java多线程,并发核心知识体系总结
  15. 鸿蒙系统用的什么代码,鸿蒙系统是用什么语言开发的?
  16. java xjc_java – XJC的最新官方版本是什么?我在哪里可以获得它?
  17. mysql 大批量数据查询_mysql 处理 多条件 大批量数据 查询
  18. Apache Calcite 论文翻译
  19. springboot2.0优雅关闭
  20. 女性入行大数据不比男性差,性别偏见不存在的

热门文章

  1. 花旗金融技术岗社招内推
  2. 华为ACL配置(基本ACL+高级ACL+综合应用)
  3. 聊聊程序员的成长与如何实现价值提升
  4. 基于目标检测的海上舰船图像超分辨率研究
  5. 实验四 进程同步与通信(一)进程同步与互斥1
  6. MATLAB:执行程序时调用bin文件夹下的.m文件,却显示找不到该文件
  7. 计算机有没有博士学位造假,72岁老人获博士学位遭质疑学历造假 校方辟谣
  8. 打开chm 打不开chm 解决 方案 方法
  9. 关于jquery.mloading加载loading效果
  10. js保留两位小数的方法