[Unity优化]资源导入设置--3D模型

标签: unity
14人阅读 评论(0) 收藏 举报
分类:

本文转自:https://blog.csdn.net/ecidevilin/article/details/76616690,有个人轻微修改,请点击链接查看原文,尊重楼主版权。

Unity模型资源导入设置

如下图,是一个模型的导入设置:

首先是Model切页:

  • Mesh网格设置:

  • Scale Factor:缩放因子,不同的建模程序生成的模型文件,尺度单位不同,为了在U3D里统一,就需要进行缩放。

  • 模型文件的缩放因子:
  • .fbx, .max, .jas, .c4d = 0.01
  • .mb, .ma, .lxo, .dxf, .blend, .dae = 1
  • .3ds = 0.1

  • File Scale:文件的默认缩放值。

  • Mesh Compression:网格压缩,会导致失真。官方的想法是,尽可能的压缩网格,只要模型看起来不至于太奇怪。

  • Optimize Mesh:优化网格,如果开启,网格的定点和三角形会按照U3D既定的一套规则重新排序用以提高GPU性能。

  • Import BlendShapes:导入BlendShapes(用于表情动画)。

  • Generate Colliders:生成碰撞体。

  • KeepQuads:保持四边形,不转换为三角形。我们在U3D中使用的网格,大部分是把所有的面都转换成了三角形,但是某些特定的需求下,四边形会得到更好的效果,例如Tessellation shaders(细分曲面着色器)。

  • Swap UVs:交换uv,如果有光照贴图的对象UV通道不正确,则使用本项。会交换主uv和光照贴图uv(uv2)。

  • Generate Lightmap UV:为光照贴图生成UV。如果开启Generate Lightmap UV,会在该选项下面多出四个参数。

  • 关于这些参数的含义,可以参考这里

  • Normals:法线:
    Import:从文件导入。
    Calculate:根据平滑角度(Smoothing Angle)计算。
    None:禁用。

  • Tangents:切线(以及次法线):
    Import:从文件导入,前提是法线也是导入的。
    Calculate Tangent Space:计算切线空间。
    Calculate Legacy:计算切线。
    Calculate Legacy – SpliteTangents:如果法线贴图的光照被网格上的缝隙破坏,则选用此项。

  • Import Materials:是否导入材质。如果否,则不生成新的材质,默认使用“Default-Diffuse”。

  • Material Naming:材质命名方式。

  • Material Search:材质搜索方式。

然后是Rig切页:

  • Animation Type:动画类型。
    None:无。
    Legacy:传统的。(Animation)
    Generic:一般Mecanim动画。
    Humanoid:人形Mecanim动画。

  • Avatar Definition:皮肤定义。
    Createfrom thismodel:从模型创建。
    Copyfrom other avatar:复制其他皮肤设置。(配置Avatar)

  • Root Node:根节点。(Generic)

  • Optimize Game Object:优化游戏对象,开启此项,可以优化有动画的角色的性能。

最后是Animations页签:

  • Import Animation:是否导入动画。

  • Bake Animations:用于反向动力学(IK)和拟态。只对Maya,3dsMax &Cinema4D文件有效。

  • Resample Curves:重采样动画曲线。(详细解释可以参考AnimationClip中的对应设置)

  • Anim. Compression:动画压缩。
    Off:不压缩。
    KeyframeReduction:减少关键帧,移除相似的关键帧。
    KeyframeReduction and Compression:减少关键帧并压缩Clip数据。(Legacy )
    Optimal:最优化,(GenericorHumanoid))。

  • Rotation Error:旋转误差(度数)。

  • Position Error:位置误差。

  • Scale Error:缩放误差。
    (注:当对动画进行优化的时候,会根据以上三种来对动画进行删减。)

  • Clips:动画剪辑。

当Rig页签选择的Animation Type选择Legacy时,Animations页签稍微有些变化:

其中Wrap Mode代表动画的循环模式,如果不是Default会覆盖掉所有Clip的循环模式:
Default:默认,根据Clip的模式。Once:只播放一次。Loop:循环。PingPong:结束之后,倒着播。Forever:结束之后,循环播放最后一帧。


代码自动设置模型导入选项:

资源导入后可以根据需要手动修改上述参数,也可以创建监听脚本,在资源导入后自动统一使用预定义的格式批量处理设置。

脚本继承至AssetPostprocessor, 存放在Editor目录下!
具体可参考:https://blog.csdn.net/qq_33337811/article/details/78879686

例如:放于Editor文件夹下的:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class ModelPost : AssetPostprocessor
{
    void OnPreprocessModel()
    {
        Debug.LogError("prepare model");
        ModelImporter importer = (ModelImporter)assetImporter;
        importer.isReadable = true;

    }

    void OnPostprocessModel()
    {
        Debug.LogError(" model ok");
    }

    void OnPostprocessAllAssets()
    {

    }
}

可以设置的选项可参考https://docs.unity3d.com/ScriptReference/ModelImporter.html

查看评论

Unity3D白皮书(一)模型导入设置

在研究一个东西的时候,我们首先要问三个问题? What?什么是导入设置? 我们可以在资源文件的Inspector界面看到这个文件的相关设置,导入设置本质上是AssetImporter或其衍生类。 Wh...
  • ecidevilin
  • ecidevilin
  • 2017-08-03 13:31:47
  • 2852

Unity3D 导入贴图、模型等资源文件时自动设置参数

http://www.cnblogs.com/shanksyi/p/5632750.html using UnityEngine; using System.Collections; using Un...
  • u013452440
  • u013452440
  • 2017-04-10 15:23:41
  • 1381

Unity3d导入模型尺寸问题

大家都知道,Unity3d系统单位是米,
  • RememberT
  • RememberT
  • 2014-09-27 14:52:57
  • 2335

批量修改|导入Unity3d资源属性,帮助那些遗忘勾、选项的美术同学们 (其实我做美术的时候也一样有健忘症)

设计师的小工具|批量修改导入资源属性,帮助那些遗忘勾、选项的美术同学们 (其实我做美术的时候也一样有健忘症) 美术导入引擎的角色模型、场景模型、特效贴图在不同的团队需要不同的unity设置属性,有些美...
  • Test_dx
  • Test_dx
  • 2016-07-07 16:20:12
  • 1794

UNITY 3D模型资源

  • 2016年06月17日 13:09
  • 68B
  • 下载

3D max模型导入unity 3D中注意事项

一.单位,比例统一   在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放...
  • OnafioO
  • OnafioO
  • 2016-07-13 22:30:48
  • 7534

3d软件blender 导入骨骼模型到unity 模型添加骨骼

1,建好人体模型 2,创建骨骼 3,先选中模型。再shift选中骨骼 然后ctrl+p 自动权重 组合注意原点问题, ctrl+c 是原点回中。ctrlshiftalt+v是对齐。4.在uni...
  • lengyoumo
  • lengyoumo
  • 2017-12-27 04:26:39
  • 220

【Unity3d】导入包材质缺失的补救方法(纯转载)

1.在model中勾选Impor Materials 2.在Material Naming 项中选择From Model's Material 3.最后点击Apply...
  • sinat_33117895
  • sinat_33117895
  • 2017-03-10 21:16:02
  • 1950

Unity3d的导入资源的后处理管理机制

孙广东   2015.4.8在unity中任何资源被导入都会被我们获取到, 这时我们就可以对这些资源做判断,和相应的处理!我这个例子是要 检查游戏中的一些配置文件,格式必须是Utf-8的编码格式,如果...
  • u010019717
  • u010019717
  • 2015-04-08 08:05:52
  • 1916

某些3D游戏优化小技巧汇总

1. 控制模型几何体消耗:    *.配合美术优化模型(但是不要少于300面);    *.配合美术优化骨骼蒙皮;    *.定义模型的LOD层级;    *.检查导出的模型顶点格式,...
  • sae_kurosawa
  • sae_kurosawa
  • 2017-01-11 14:49:43
  • 432
    个人资料
    持之以恒
    等级:
    访问量: 11万+
    积分: 1881
    排名: 2万+
    最新评论