原地址:http://blog.sina.com.cn/s/blog_6ad33d3501011ekx.html

之前在项目中,没有怎么接触过美术的软件(之前的美术团队很犀利,被他们宠坏了)。在自己公司的《忍》项目和另外一个项目中都遇到美术导出资源的设置问题。我现在就把他们归纳下:

 
1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:
   1)导出资源时,只导出一个文件,保留模型,骨骼和所有的动作帧(把所有的动作,比如idle,attack,hit等等全部做成一个长动画),导出之后,放入unity3d,在project 窗口中选中FBX文件,在Inspector 窗口中,找到Split Animations选项,在该子选项下,拆分整个长动作为数个子动作。
        
   2)导出的资源是分成模型,和多个动作的文件。一个FBX是模型,其他的是动作文件。导出模型时候,删除所有的动画,注意,是删除所有的动画哦,连T-POS都要删掉,然后导出成一个FBX文件。这个FBX就是模型资源。然后同样的max资源,把其中的模型删除,保留骨骼和其中某一段动作,比如idle的30帧,删除其他的动作帧,然后再导出成一个FBX,这个FBX就是该骨骼的一个动作。
 
 
      注意,动作文件是跟着骨骼走的,相同的骨骼可以使用同一个动作资源。一般项目中,同职业啊,或者同种族等,男生一套骨骼,女生一套骨骼,这样动作资源就共享了。
 
方法一的优缺点:
优点:操作简单,美术操作起来不易出错。
        如果项目中,不需要游戏中切换动画,比如只有一个人,而且不需要后期更新。那么这么做比方法2省掉了每个动作中的骨骼大小
缺点:不灵活,单个资源太大,更新,修改,和加载都是问题
 
方法二的优缺点:
优点:组合方式灵活,单个资源控制到很小,加载,更新,修改的代价都很小。而且如果项目中,角色非常多,而         且这些角色是相同的骨骼,那么动作文件就全部可以共享。和方法1相比,改一个动作只需要更新一个小小的动作FBX文件,而上面的方式,需要更新所有的角色的所有FBX文件。
缺点:导出操作复杂,美术操作易出错
        如果项目中,不需要游戏中切换动画,比如只有一个人,而且不需要后期更新。那么这么做比下面的方法省   掉了每个动作中的骨骼大小
 
 
2.各种设置
  1.Bake Animation
     Bake Animation 要勾选上
  2.Curve Filters 勾选上
  3.Constant Key Reducer 勾选上
    动画的制作一般分为手K,和真人动作捕捉,前者一般是动画师手动可以控制每秒帧的数目(一般30帧每秒),倒出来的资源大小还是比较合适的,《忍》就属于这样的项目。这样在美术们导出动作文件时,可以不,用选择Reducer,但是跳舞项目中,动作是真人捕捉的,不勾选一套动画导出有8M,勾选上之后立马编程2M,然后根据美术的要求适当的调高Reducer下面的4个滑条。
    动画帧是记录的是每一帧骨骼的位移啊。旋转等等信息。当本帧的位置,和上一帧的位置差小于Translation Precision的大小。那么就删掉这个关键帧,同理其他的3个就是旋转,缩放和其他(比如顶点动画等)。
  4.Cameras 不勾选
  5.Light 不勾选 
  6.要导出贴图和材质,需要勾选Embed Media 

unity3d中资源文件从MAX或者MAYA中导出的注意事项的更多相关文章

  1. unity3d 资源文件从MAX或者MAYA中导出的注意事项

    unity3d 资源文件从MAX或者MAYA中导出的注意事项     1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:    1) 导出资源时,只导出一个文件,保留模型,骨骼和所 ...

  2. 【转】unity3d 资源文件从MAX或者MAYA中导出的注意事项

    转自游戏开发主席   1.首先,Unity3d 中,导出带动画的资源有2种导出方式可以选择:    1) 导出资源时,只导出一个文件,保留模型,骨骼和所有的动作帧(把所有的动作,比如idle,atta ...

  3. 从Maya中把模型搬运至网页的过程

    虽然利用threejs来在网页中渲染3d模型不是第一次折腾了,但是还是遇到了各种问题.总结下我所遇到的问题,希望能给正在使用threejs的小伙伴一个帮助. 一.所使用的软件与开发环境 Maya201 ...

  4. 怎样从一个DLL中导出一个C++类

    原文作者:Alex Blekhman    翻译:朱金灿 原文来源: http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx 译 ...

  5. Delphi编程中资源文件的应用

    Delphi编程中资源文件的应用/转自 http://chamlly.spaces.live.com/blog/cns!548f73d8734d3acb!236.entry一.引子: 现在的Windo ...

  6. Android中资源文件夹res/raw和assets的使用

    Android中资源文件夹res/raw和assets的使用 2011-12-08 11:05 494人阅读 评论(0) 收藏 举报 androidxml存储stringencodinglayout ...

  7. [转]VB中资源文件.res的使用方法详解

    来源:https://blog.csdn.net/miaozk2006/article/details/82417156 在几乎所有的Windows应用程序中都拥有资源文件,这些文件定义使用应用程序将 ...

  8. 从Maya中导入LightMap到unity中

    导入步骤 1.在Maya中为每一个模型烘焙好帖图(tif格式),会发现烘焙好的图和UV是一一对应的 2.把模型和烘焙帖图导入到Unity中 3.选中材质,修改Shader为 Legacy Shader ...

  9. maya中MFnMesh.h使用说明的翻译

    由于最近要修改一个maya中的deformer脚本,于是开始系统学习openMaya的一些知识,当然少不了得把一堆头文件说明看一遍.首先把MFnMesh.h这个文件翻译一下吧,不废话,上译文: 首先M ...

随机推荐

  1. http请求过程简要

    一次http请求主要分为3个大步. 建立tcp连接. 这里就发生了经典的tcp三次握手.做个类比解释下,tcp好比http的秘书,和厂家(服务器端)做买卖.老板(http)叫秘书(tcp)去联系一下, ...

  2. 8、面向对象以及winform的简单运用(事件与winform入门)

    事件 Visual studio中对可视化窗体控件的事件处理机理: 所有的.NET Framework可视化窗体控件的预定义事件,都会某一对应的“事件名+Handler”委托类型的变量.与此事件相关的 ...

  3. 第二十五课:jQuery.event.trigger的源码解读

    本课主要来讲解jQuery.event.trigger的源码解读. trigger = function(event, data, elem, onlyHandlers){ if(elem & ...

  4. 【C#】依赖于SharpZipLib的Zip压缩工具类

    上班第二天下班,课外作业,实现一个ZIP压缩的工具类.本来想用Package,但是写完了才发现不能解压其他工具压缩的zip包,比较麻烦,因此本工具类依赖了第三方的库(SharpZipLib  vers ...

  5. css知识点补充、css属性、

    1.媒体查询的css代码的优先级要比其他的高! 2.text-overflow: 定义文本溢出父级元素如何处理!    clip/ellipsis/string 3.overflow: visible ...

  6. 通过url链接登录其他系统

    目的:A系统通过链接跳转到其它系统(如B系统)并登录   技术方案 1.A系统用户登录B系统方案    1.A系统用户账号已经和B系统账号绑定,直接模拟登录    2.A系统用户账号未和B系统账号绑定 ...

  7. CentOS7 安装 Mono

    官网参考:http://www.mono-project.com/docs/getting-started/install/linux/#centos-7-fedora-19-and-later-an ...

  8. tarjan算法--求无向图的割点和桥

    一.基本概念 1.桥:是存在于无向图中的这样的一条边,如果去掉这一条边,那么整张无向图会分为两部分,这样的一条边称为桥无向连通图中,如果删除某边后,图变成不连通,则称该边为桥. 2.割点:无向连通图中 ...

  9. BZOJ-1008 越狱 数论快速幂

    1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 6192 Solved: 2636 [Submit][Status] ...

  10. poj 3261 二分答案+后缀数组 求至少出现k次的最长重复子序列

    #include "stdio.h" #define maxn 20010 int wa[maxn],wb[maxn],wv[maxn],ws[maxn]; int rank[ma ...