游戏地址


玩法说明

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. Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)

    org.apache.jasper.JasperException:xxx.jsp(1,1) Page-encoding specified in XML prolog (UTF-8) is diff ...

  2. SOAPUI使用教程-MockServices工作原理

    在soapUI的可让您只需从WSDL基础服务创建一个基于WSDL服务的符合标准的模拟.被称为“MockService”,这可以直接从内部的soapUI运行,命令行浇道,或甚至标准servlet容器. ...

  3. 用介个新的blog咯..

    之前csdn实在是太卡了.. 只要一写比较长的blog就卡的要死.. 转过来这吧,比较好吧.. 原blog地址 啊为啥域名叫darklove呢.. 这是很久之前创建的.. 简单来说是一个和clearl ...

  4. android Context 持有导致的内存泄漏

    Context使用场景 为了防止Activity,Service等这样的Context泄漏于一些生命周期更长的对象,可以使用生命周期更长的ApplicationContext,但是不是所有的Conte ...

  5. SQL Server 存储过程

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  6. Python实战:扫描key完整性

    之前在国际版本中,需要支持中英文切换功能,在如此繁多的源文件里要查找源文件里的key是语言资源包是否对应. 正好运用在之前学的python,写了个工具,支持自定义替换标签,批量处理源文件.现在看来,效 ...

  7. *HDU2473 并查集

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  8. 区间dp

    转载:http://www.cnblogs.com/ziyi--caolu/archive/2013/08/04/3236035.html

  9. virtualenv

    问题:python开发过程中,需要安装各类依赖 逐个安装依赖,操作复杂,并可能会出现版本不一致的问题 解决:virtualenv可以有效解决上述问题 使用方法: 安装: pip install vir ...

  10. 关于string.format() 转

    string.format()函数用来生成具有特定格式的字符串,这个函数有两个参数,第一个参数为格式化串:由指示符和控制格式的字符组成.第二个参数是对应格式中每个代号的各种数据. 格式字符串可能包含以 ...