中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 7753|回复: 4

oiramExporter 0.222 release

[复制链接]
发表于 2012-10-23 16:01:53 | 显示全部楼层 |阅读模式
本帖最后由 oiram 于 2012-10-25 15:53 编辑

Author: oiram
Project: Ogre exporter for 3ds max
Type: plugin
Name: oiramExporter
Supported Versions: 3ds max 9 to 2012
Version: 0.222 on 10/22/2012
Last modified on wednesday 24 of october, 2012 18:11
1. 增加了中文描述信息
2. 增加了使用方法



How to use:
使用方法:
1. copy files to "3dsmax\plugins\" directory
将插件的3个文件复制到3ds max的插件目录下
2. open max file
打开需要导出的max文件
3. File -> Export -> "Save as type" choose "oiramExporter(*.mesh, *.skeleton, *.material)" with any "File name"
选择菜单"文件",选择"导出",选择插件"oiramExporter(*.mesh, *.skeleton, *.material)",文件名任意,导出时不会以此为主
4. in target output directory, you could find a directory's name  as same as max file name
在导出的目录中,你可以看到一个目录的名称与max文件的名称相同,里面就是所有导出的文件了
5. use model view editor to render
使用模型查看器来观察模型或场景


Features:

common
通用
--------------
free:
免费版
1.  exporting only mesh, only material or only dot scene
    提高效率, 避免每次都全部导出, 支持只导出.mesh或.material或是.scene
2.  ogre version selection
     因为文件格式的细微的不同, 可以选择ogre的不同的版本1.8/1.7/1.6
3.  exporting progress dialog
     显示导出进度
4.  exporting information dialog
     显示导出的成功/失败/警告信息
5.  save/load animation configuration
     通常美术导出动画时, 需要填写多个动画的起始/结束帧, 为了避免修改后重新导出时的重复填写, 支持通过载入上次导出时生成的motion.xml来提高效率
6.  fixed function pipeline
     完全支持固定管线
7.  3ds max 9/2008/2009/2010/2011/2012 with x86(32bits) and x64(64bits)
     支持32位和64位下的3ds max的多个版本: 9/2008/2009/2010/2011/2012

commercial:
商用版
1.  vertex compression(save 60%)
     顶点数据压缩, 可以节省至少60%的数据量, 通过在vs中解压实现相同的效果, 这种优化方法尤其适用于移动设备
2.  cartoon shading(post effet silhouette)
     卡通渲染技术, 通过后期特效来实现勾边
3.  next generation shading(normalMap, specularMap, emissiveMap, glowMap)
     次世代渲染技术, 法线贴图/高光贴图/自发光贴图/辉光贴图
4.  hardware skinning
     GPU硬件骨骼动画
5.  normalMap swizzle, ag for DXTC, rg for PVRTC
     法线贴图在压缩后会有精度上的丢失, 对于DXTC5的压缩, 由于alpha和green的占位最高, 所以使用ag来保存normal的x和y, 然后在shader中计算出z以提高normalMap的精度;
     对于PVRTC则选择PVRTC_BPP_4的RGB格式, 此时r和g的占位最高, 原理同DXTC
6.  LOD generation, save/load LODs configuration
     自动根据参数生成多级LOD的mesh数据, 为了避免多次导出时重复填写参数, 支持通过选择上次导出时记录的LOD参数来提高效率
7.  3ds max 2013 with x86(32bits) and x64(64bits)
     提供32位和64位的3ds max 2013 unicode版的插件
8.  model view editor
     模型查看器
9.  cartoon/next generation shader
     提供完整的卡通渲染和次世代渲染的shader
10. ssao shader
     提供完整的SSAO的shader
11. bloom/glow shader
     提供后期特效的全屏辉光和泛光的shader
--------------


mesh
网格
--------------
free:
免费版
1.  position, diffuse, normal, multiple texcoord, tangent/binormal, bone assignments
     支持导出: 顶点、颜色、法线、多层纹理、切线、骨骼绑定数据
2.  duplication reverse vertices when two sided, not simple "cullmode none" yet
     当美术在max中选择"双面"时, 再也不会像其他插件那样, 只是设置渲染状态为"不裁剪", 而是真的复制一份相反的顶点数据, 从而保证了正/背面的光照等效果
3.  morph animation
     顶点动画
4.  blend weights/indices
     骨骼动画数据
5.  warning with more then 4 bones assignments and weights re-normalized
     当美术不小心在蒙皮时给某个顶点附上超过4根骨骼时, 插件在导出时会给予警告, 同时也会自动取其最大的4个权重, 并且重新归一化所有权重
6.  splitting sub-mesh by material
     自动根据材质的不同来拆分成多个子mesh
7.  unique renaming with legality name
     3ds max允许美术对节点有相同的命名, 这会在引擎中导致各种的问题, 另外文件系统也对一些非法字符有限制, 插件对此统一做了重命名处理, 并将非法字符转换成下划线, 而且在多次导出时都会保持一致
8.  lighting map with shell material
     支持在3ds max中进行光照贴图的烘焙, 选择将光照贴图烘焙到新建的壳材质的漫反射贴图上, 插件在导出时会自动识别
9.  re-calculate bounding box with animation mesh
     模型在施加了骨骼或顶点动画后, 原先的包裹盒会导致裁剪错误, 插件会根据动画信息导出一个新的包裹盒以解决这种问题
10. geometry reference(instanced) checking
      场景中通常会出现大量重复的相同的物体, 比如:树木,通过在制作时, 对于重复的物体使用复制实例的方式, 则相同的mesh只会有一份, 减少了不必要的空间占用
11. texcoords with rotation, wrap/mirror and translation
      支持对于纹理坐标的各种变换
12. Gram-Schmidt orthogonalize with tangent, the tangent is float4, w is handedness
      确保切线空间的正确, 同时解决了美术使用镜像时, 导致的光照不正确的问题, 通过tangent的第4个分量w来保存切线空间的左右手向

commercial:
商用版
1.  weld vertices
     模型中有大量的重复顶点, 通过顶点缝合, 大大减少顶点的数量(数据量), 降低渲染开销, 减少约10-20%
2.  vertex cache optimization
     通过重新整理顶点的存放顺序和渲染顺序, 以提高显卡中顶点缓存的命中率, 提高渲染效率约5%
3.  splitting sub-mesh by max bones number with programmable pipeline
     硬件实现骨骼动画时, 会受到显卡寄存器数量和shader复杂程度的影响, 通过设置一个批次中的最大骨骼数量, 由插件负责将超出的部分单独分离成一个新的子mesh, 这样就不需要美术去调整
4.  LOD generation
     根据参数自动生成LOD的mesh数据
5.  vertex compression, unsigned char 4 for normal/binormal, unsigned char 4 for blend weights,
    short2 for texcoord0, short4 for lighting map(texcoord0/texcoord1)
     顶点数据压缩, 将法线和次法线用uchar4表示, 骨骼权重用uchar4, 纹理坐标使用short2, 当使用光照贴图时(因为有两层纹理坐标)使用short4, 通过压缩mesh的大小可以减少60%
--------------


skeleton
骨骼动画
--------------
free:
免费版
1.  biped skeletons
     支持CS和skin骨骼
2.  multiple animation
     支持美术将全部动画制作在一个max文件中, 使用起始/结束帧来区分多个动画
3.  multiple root bones
     场景中允许有多套骨架的骨骼动画存在
4.  only 1 skeleton file with same skeletal
     当使用avatar时, 多个mesh会蒙皮在相同的一个骨架上, 这时插件会自动识别并只导出一份skeleton, 然后由程序负责在载入多个mesh时分享这份相同的骨骼
5.  bone with mirror operation
     通常美术在制作对称角色时, 会只建一半的骨骼, 另一半通过复制镜像出来, 插件支持骨骼的镜像操作, 在其他的插件中, 如果美术对骨骼使用镜像操作, 则镜像部分的骨骼动画会出现错误的变形
6.  tag-point(helper with named "tag_")
     角色的挂载点通过在骨骼上绑定一个名称前缀为"tag_"的helper物体实现, 插件将这种类型的物体解释为"挂载点"
7.  warning with non-uniform scale check
     对于骨骼的非统一缩放将会产生一条警告, 因为这样的缩放在实时的引擎中是无法模拟的
8.  remove unused bone/helper
     尤其是CS骨骼在拖出来之后, 会有一些完全没有有效关键帧的骨骼, 或是没有被顶点"引用"的骨骼, 或是既没有动画也没有挂载点命名的helper, 都会被移除以减少数据量的大小和计算

commercial:
商用版
1.  skeleton animation optimization, remove unused key frame, less key frame and same result
     骨骼动画数据优化, 移除无用的关键帧, 减少关键帧的数量, 但保持最终的渲染效果不变
2.  empty animation checking
     如果一个动画完全没有关键帧则会被移除
3.  remove repeat key frames at animation tail when dot scene exporting
     在作为场景导出时, 骨骼动画将会被作为一个不停重复的动画来导出, 此时场景的总帧数可能会大于骨骼的动画帧数, 这时骨骼动画尾部的相同帧将会被移除以保证场景在渲染时效果正确
4.  remove empty key frames
     移除完全没有变换信息的关键帧
5.  remove same key frames with adjacent key frames
     移除完全相同的相邻帧
6.  remove key frames which could generation with interpolation
     移除可以通过插值生成的关键帧
7.  animation compression and clean
     动画数据压缩和清理, 通过上述优化, 动画的长度信息将会重新计算以保证正确
--------------


material
材质
--------------
free:
免费版
1.  3ds max stanard material conversion(standard, shell, sub material, mix, normal, ifl)
     支持全部3ds max的标准材质(壳材质、子材质、混合材质、法线/凹凸、序列帧), 实时渲染中将与3ds max中观察到的完全一致
2.  material/texture unique renaming with legality name
     3ds max允许美术对材质和纹理有相同的名称和命名, 插件将会对重复的名称进行重命名, 并将非法字符转换成下划线, 而且在多次导出时都会保持一致
3.  texture animation with ifl
     支持ifl方式的纹理动画, 所有的纹理序列帧将会被导出, 并生成对应的材质信息
4.  texcoord transform
     完全支持纹理坐标的各种变换
5.  diffuse map, specular map, self illumination map, opacity map, bump/normal map, reflection map
     支持导出材质中的贴图类型: 漫反射贴图、高光贴图、自发光贴图、透明贴图、凹凸/法线贴图、反射贴图
6.  two sided, phong/flat shading, alpha blend, alpha test
     支持导出材质中的信息: 双面、phong/flat光照、alpha混合、alpha测试
7.  ambient color, diffse color, specular color, emissive color
     支持导出材质中的颜色: 环境颜色、漫反射颜色、高光颜色、自发光颜色
8.  material renaming when static and dynamic mesh with same material
     静态物体和动态物体(骨骼动画、顶点动画)可能拥有相同的材质, 对于这样重名的材质, 在通过使用材质派生来实现使用硬件加速时会产生问题, 插件将会进行重命名操作, 而且在多次导出时都会保持一致

commercial:
商用版
1.  image compression to DXTC, PVRTC1 BPP2/4, ETC1
     可以根据目标平台的不同, 将贴图压缩成所需的DXTC/PVRTC/ETC1等格式
2.  image compression quality option
     可以选择贴图压缩的精度和速度
3.  normalMap swizzle, ag for DXTC, rg for PVRTC
     法线贴图在压缩后会有精度上的丢失, 对于DXTC5的压缩, 由于alpha和green的占位最高, 所以使用ag来保存normal的x和y, 然后在shader中计算出z以提高normalMap的精度;
     对于PVRTC则选择PVRTC_BPP_4的RGB格式, 此时r和g的占位最高, 原理同DXTC
4.  image power of two checking and resizing
     检测贴图的大小是否为2的幂, 并且进行缩放
5.  image max size checking and resizing
     检测贴图的大小是否超过最大尺寸限制, 并且进行缩放
6.  image generation mipmaps
     自动生成贴图的mipmaps信息
7.  min/max size checking and resizing for PVRTC and ETC1
     对于PVRTC和ETC1有着最大尺寸的限制, 当选择压缩贴图为两者时, 会自动对超出2048的贴图的尺寸进行缩放
--------------


scene
场景信息
--------------
free:
免费版
1.  ambient color in environment and effects dialog
     支持导出在3ds max的environment and effects对话框中的环境光信息
2.  standard fog atmospheric in environment and effects dialog
     支持导出在3ds max的environment and effects对话框中的雾效信息
3.  user defined properties of node(like: sound = x, particle system = y)
     有些信息和操作是在3ds max中无法表现的, 例如某物体的属性, 如: 音效、粒子特效、速度等, 通过填写自定义属性, 便于程序在载入时对其进行实现
4.  exporting only 1 mesh with geometry reference
     场景中通常会出现大量重复的相同的物体, 比如:树木,通过在制作时, 对于重复的物体使用复制实例的方式, 则相同的mesh只会有一份, 减少了不必要的空间占用, 同时.scene中引用的也将会是同一份.mesh
5.  exporting node hierarchy
     导出正确和完全的节点的层次关系
6.  node full transformation
     导出全部的节点变换信息
7.  node key frame animation track
     支持节点动画, 在场景中有一些物体的动画, 不需要使用复杂的骨骼动画或是顶点动画, 其动画通常只是节点的变换动画,
        例如实现风车的旋转, 则只需要360度旋转节点就可以了, 实现了相同的效果同时节省了空间和计算量
8.  node spline animation track
     节点可以实现沿样条线运动
9.  node path constraint animation track
     节点通过路径约束来实现"绑定"在动画轨迹上
10. tag-point by helper with named "tag_"
      场景中可以通过约束实现骨骼绑定, 例如将场景中的鼓锤绑定到鼓手的手上
11. camera animation track, camera target animation track
      支持导出完整的摄像机信息, 如远/近裁剪面、fov等, 以及摄像机本身的动画轨迹 和观察点的动画轨迹
12. direction light, spot light, full decay type support, light animation track
      支持导出方向光和聚光灯, 所有灯光属性导出后与3ds max中观察到的保持完全一致, 包括灯光的动画轨迹
13. unattached spline animation track
      场景中的样条将会被导出成一段轨迹动画, 程序在载入.scene后, 可以在运行将动态得将物体绑定到轨迹动画上, 例如NPC先是沿着预设好的样条轨迹A运动, 当发生某事件后, 再动态重新绑定到样条轨迹B上

commercial:
商用版
1.  scene editor
     场景查看器
2.  dot scene loader source code
     .scene的全部载入代码
3.  3D audio system with OpenAL
     通过OpenAL实现的音效/音乐库, 实现场景中的3D音效播放, 音效使用wave, 音乐使用ogg
4.  supporting particle universe for particle system
     粒子系统支持particle universe
--------------


contact us:
联系我们
--------------
email: oiramario@gmail.com
QQ:    4172485
web:   http://www.flagon.cn
--------------








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

发表于 2012-10-23 16:14:12 | 显示全部楼层
申请试用
发表于 2012-10-23 23:10:51 | 显示全部楼层
没有处理镜像模型的问题,或者镜像时候的重复模型问题
 楼主| 发表于 2012-10-23 23:20:13 | 显示全部楼层
能将3dmax操作描述得更具体一点么?
目前是不论怎么复制,只要是选择以instance方式复制,则模型在导出时都只会有一份。
 楼主| 发表于 2012-12-19 11:46:40 | 显示全部楼层
dragon 发表于 2012-10-23 23:10
没有处理镜像模型的问题,或者镜像时候的重复模型问题

反复确认了一下,不论是如何复制,只要是选择clone方式为Instance,那么模型都只会共享源模型,导出也只会有唯一的一份,同时即使clone mesh的material不同,也会在.scene中记录下来,由dot scene loader在载入时负责替换material,当然前提是uv是一致的,否则就没有意义了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-12-14 02:50 , Processed in 0.066830 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表