原地址: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. sql server 2008 操作数据表

    SQL Server表   表的类型:   ①临时表 临时表可用来处理中间数据或者用临时表 与其它连接共享进行中的工作.临时表只 能放在tempdb中. 私有临时表(#) 全局临时表(##)   ②系 ...

  2. 公司ERP系统重构那些事

    记一次会议,我提出插件化的想法,有支持也有反对,其中"系统架构师"表示插件化后的项目没什么意义,今天来讨论项目是否需要插件化的一些观点. 项目背景 公司内部"ERP&qu ...

  3. [bzoj 1027][JSOI2007]合金(解析几何+最小环)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1027 分析: 首先因为一个合金的和为1,所以考虑2个材料合金能否合成一个需求合金的时候 ...

  4. ibatis中的$和#的区别

    介绍 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * fr ...

  5. Timer中schedule()的用法

    schedule的意思(时间表.进度表) timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new M ...

  6. jS-模式之简单的订阅者和发布者模式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. 001-编译hadoop-2.5.2总结

    前两天废了很大的劲来对hadoop-2.5.2进行64位系统的手动编译,由于对linux系统环境以及hadoop本身的不熟悉,编译过程中也出现了很多的问题,在此记录一下,对自己以后再次编译和看到此文章 ...

  8. href="javascript:void(0)"

    javascript:是伪协议,表示url的内容通过javascript执行.void(0)表示不作任何操作,这样会防止链接跳转到其他页面.这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体 ...

  9. Linux Systemcall By INT 0x80、Llinux Kernel Debug Based On Sourcecode

    目录 . 系统调用简介 . 系统调用跟踪调试 . 系统调用内核源码分析 1. 系统调用简介 关于系统调用的基本原理,请参阅另一篇文章,本文的主要目标是从内核源代码的角度来学习一下系统调用在底层的内核中 ...

  10. leach-matlab

    http://www.oschina.net/code/snippet_860036_21044 clear;%清除变量 xm=100;%设置区域为100*100 ym=100; sink.x=0.5 ...