游戏地址


玩法说明

WASD 控制角色移动

更新内容

- 初步完成了角色移动(攻击状态)

开发心得

独立做游戏 其实最耽误时间的就是在自己的短板上, 对于我来说 就是3D建模和动作制作. 足足耽误了我好几周


关于游戏建模

对于程序出身,3D像素风可能是最后一块乐土了, 从网上虽然可以很容易找到很多模型,但是风格不统一 且后期无法去修改(因为不会).  所以做3D像素风 是个不错的选择.

主要参考的游戏

我的世界


大名鼎鼎 无需多说

魔方世界(Cube World)

 
3DM上有专区, 不如我的世界,但是也有不少人在玩儿.  其内部模型有工具可以提取, 很方便做参考

Trove
这个国内知道的人应该不多了, 具说已经被360代理 但是国服目前无望. 每次玩儿要FQ 并且各种卡.  但是角色动画处理的很好,目前模型动画 正在"参考" (就是抄)
 

石炉(Stonehearth)

 
新兴游戏,很多模型和动画可以借鉴.


建模工具选择

建模工具 市面上有三款

MagicaVoxel
 

VoxelShop
 
Qubicle



MagicaVoxel: 
使用最简单,最开始一直在用. 内部建模自带美颜, 让你感觉自己做出来的都特好看,但是导到Unity里面 根本就不是那么回事.. , 但是可以保存palette, 让多个模型公用一个纹理.
但是有一个致命的缺点: 没有层级!!  对于复杂模型的制作简直是噩梦.

VoxelShop:
优点: 有层级!!  使用相比MV 要复杂很多,并且快捷键很变扭用起来, 还有一个问题就是 分层级的模型导入3DMax后坐标点位置很怪 不方便后期处理

Qubicle:
收费的,看着应该很好,但是没有钱用..


目前理想的工作流

经过N长时间的摸索总结, 最好的建模工作流是

(这个才是精华,拿走不谢)

在VoxelShop中建模,导出为qubicle格式, 然后通过 一个小工具 把qubicle的格式转成mv的格式, 然后再在MV里面 上色和切模型,再导出3DMAX



模型蒙皮加绑定骨骼

这块东西折腾了我好久,主要是完全不懂 一切从头学. 最开始感觉用Blender就可以了 小,免费 并且自己需要的功能又不多. 不过学了一阵子 发现蒙皮好复杂 最终放弃了. 还是选择了3DMAX

这部分参考三个比较长的教程:




动画制作 首先要做好关键Pose  俗称的K帧吧应该,

跑步,走路动画 是基础的基础 也是最难的.  我是参考这张图, 同时吧Trove和CubeWorld的游戏 录屏, 回放一遍一遍看,然后一帧一帧存下来

 

 
一帧一帧参考, 慢慢体会.  同时也不断的熟悉3DMax.  



Unity中动画制作

这部分就简单了,参考以下教程即可

Unity 4.0 - Mecanim Animation Tutorial





Rig的选择

Unity中导入FBX可以选择两种 AnimationType, Generic和Humanoid
 
如果使用Humanoid, 需要参考我之前写的帖子, Bipe模型需要设置对.   目前我是采用的Generic, 因为在制作左右走时候 在上身模型中会产生错位, 如果采用Humanoid的话 我又不能手动修复这部分.

不过我还再考虑是否要切回去 , 因为使用Humanoid的好处 是 我可以直接Down一些其他人的动画 然后直接用. 很方便. 并且做AvatarMask也很方便.




AvatarMask

这个是个很高级的功能, 主要实现的功能 就是我V1中的样子.目前只做了腿部动画, 下个版本会做上身动画. 这样我把两个动画混合在一起  PPAP! 

比如我有三个职业 战法弓, 移动都是同一个, 用AvatarMask就可以共享腿部动画, 上身分别去做.  具体的看上面的视频, 最后一个挥手动画的制作.








如果这篇文章对您有帮助,或者您想资助我制作这款独立游戏. 就赏杯咖啡钱吧~

感谢
 



Infinite V1 Release Note的更多相关文章

  1. Infinite V2 Release Note

    游戏地址 PLAY 玩法说明 - WASD 控制角色移动 - 按下J键 进入攻击模式(WASD 可以继续移动) 更新内容 - 完成角色锁定目标后边移动边攻击 开发心得 状态机的设计 最初的设计很乱, ...

  2. glibc 2.x release note

    glibc 2.x release note,参见: https://sourceware.org/glibc/wiki/Glibc%20Timeline https://www.gnu.org/so ...

  3. RocketMQ Release Note(RocketMQ升级日志译文)

    RocketMQ升级日志 1 4.2.0 原版Release Note 1.1 New Feature 支持传输层安全性 客户端支持log4j2 PushConsumer支持条数与大小维度的流控 1. ...

  4. Paddle Release Note

    Paddle Release Note 重要更新 飞桨paddle框架2.0.0版本有如下重要更新: 编程范式:默认开启动态图模式进行模型开发和训练,通过动转静的方式进行模型部署和训练加速.如果需要使 ...

  5. cocos2dx release note

    [传送门] 发布说明: https://github.com/fusijie/Cocos2dx-ReleaseNote-zh/blob/master/SUMMARY.md 更新记录: https:// ...

  6. chromedriver release note

    ----------ChromeDriver v2.25 (2016-10-25)---------- Supports Chrome v53-55 Resolved issue 1547: Chro ...

  7. 【转载】MySQL5.6.27 Release Note解读(innodb及复制模块)

    新功能   问题描述(Bug #18871046, Bug #72811): 主要为了解决一个比较“古老”的MySQL在NUMA架构下的“swap insanity”问题,其表现为尽管为InnoDB ...

  8. Django 2.0 Release note阅读简记

    最前面就是大家都知道的这个版本开始只支持py3.4+,而且下一个大版本就不支持3.4,再就是建议所有插件开始放弃1.11 1.最惊艳的变化,就是URL配置正则表达式的简化,旧的: url(r'^art ...

  9. Django 1.11 release note简明解读

    1.首先1.11这个版本是一个LTS版本 2.第一个支持python3.6的版本,最后一个支持python2.*的版本 3.Deprecating warnings 默认不再显示,同时建议第三方包开始 ...

随机推荐

  1. C# 五、谈扩展方法的理解

    http://www.cnblogs.com/zhaopei/p/5678842.html

  2. Windows平台下为Python添加MongoDB支持PyMongo

    到Python官网下载pymongo-2.6.3.win-amd64-py2.7.exe 安装pymongo-2.6.3.win-amd64-py2.7.exe 参照官方的用例进行测试 打开命令提示符 ...

  3. Codeforces Round B. Buttons

    Manao is trying to open a rather challenging lock. The lock has n buttons on it and to open it, you ...

  4. event

    当一个事件被调用后,它会收到一个参数,第一个参数就是事件对象,事件对象包含type, target, timestamp三个. 类型:事件的名称,例如:点击目标:事件的目标元素时间戳:事件触发的时间

  5. 序列流 SequenceInputStream

    SequenceInputStream:序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末 ...

  6. 安卓中級教程(8):pathbutton中的animation.java研究(1)

    src/geniuz/myPathbutton/myAnimations.java package geniuz.myPathbutton; import java.util.ArrayList; i ...

  7. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-2 工程及程序构架介绍

    视频简介: 该视频介绍iCore3应用开发平台出厂源代码中ARM部分程序构架. 源视频包下载地址: http://pan.baidu.com/s/1jHGnc7k   银杏科技优酷视频发布区: htt ...

  8. Xamarin.iOS Unified API 注意要点

    新数据类型 NATIVE TYPE 32-BIT BACKING TYPE 64-BIT BACKING TYPE System.nint System.Int32 (int) System.Int6 ...

  9. js 函数返回函数

    <script> var aa = function(fn, time, interval){ return function(){ if (typeof(fn) != 'function ...

  10. hibernate学习(6)——加载策略(优化)

    1. 检索方式 1  立即检索:立即查询,在执行查询语句时,立即查询所有的数据. 2 延迟检索:延迟查询,在执行查询语句之后,在需要时在查询.(懒加载) 2.  检查策略 1  类级别检索:当前的类的 ...