游戏地址


玩法说明

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. js添加var和不加var区别

    var 声明的变量,作用域是当前 function 没有声明的变量,直接赋值的话, 会自动创建变量 但作用域是全局的. //----------------- function doSth() { a ...

  2. InstallShield制作升级安装包

    1. 在General Information里,修改Product Version为新的版本号,此版本号应大于旧的版本号.点击Product Code右面的{...},获取一个新的Product C ...

  3. 《Invert》开发日志04:工具、资源和服务

    这篇记录一下<Invert>用到的工具.资源和服务.秉承两个原则:一,绝不侵犯版权:二,尽量节省开支. 首先是工具.游戏引擎使用免费的Unity个人版: 编码IDE使用免费的VisualS ...

  4. 【Oracle】oracle中rownum的说明及使用技巧

    oracle中常用到ROWNUM,所以做一些本人对rownum的一些认识和使用技巧的记录,以便备查. 一.rownum的说明 rownum是oracle特有的一个关键字. (1)对于基表,在inser ...

  5. WebCrawler

    WebCrawler WebCrawler is a metasearch engine that blends the top search results from Google Search a ...

  6. ZeroMQ接口函数之 :zmq_init - 初始化ZMQ环境上下文

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_init zmq_init(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_init - 初 ...

  7. win7 64 安装mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

    今天想在在win7 64位环境下使用python 操作mysql 在安装MySQL-python 时报错: _mysql.c _mysql.c(42) : fatal error C1083: Can ...

  8. OpenERP ORM 对象方法列表

    OpenERP对象支持的字段类型有,基础类型:char, text, boolean, integer, float, date, time, datetime, binary:复杂类型:select ...

  9. python 进程和线程

    python中的进程.线程(threading.multiprocessing.Queue.subprocess) Python中的进程与线程 学习知识,我们不但要知其然,还是知其所以然.你做到了你就 ...

  10. ext3是对ext2文件系统的一个扩展高性能日志文件系统

    嵌入式开发者所做的最重要的决定之一就是部署哪种文件系统.有些文件系统性能比较高有些文件系统空间利用率比较高,还有一些文件系统设备故障或者意外断电后恢复数据比较方便. linux文件系统概念 分区 分区 ...