Unity的AssetPostprocessor之Model:深入解析与实用案例 2
Unity AssetPostprocessor中Model相关函数的实际应用
Unity AssetPostprocessor是Unity引擎中的一个重要功能,它可以在导入资源时自动一些脚本,以便对资源进行自定义处理。其中,Model相关的函数可以用于对导入的3D模型进行处理,包括修改模型的材质、纹理、网格等属性。本文将介绍Model相关函数的实际应用,并提供多个使用例子。
ModelImporterMaterialName
ModelImporterMaterialName函数可以用于修改模型的材质名称。例如,我们可以将所有模型的材质名称都修改为“DefaultMaterial”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.materialName = "DefaultMaterial";
}
}
ModelImporterMaterialSearch
ModelImporterMaterialSearch函数可以用于修改模型的材质搜索路径。例如,我们可以将所有模型的材质搜索路径都修改为“Assets/Materials”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.materialSearch = ModelImporterMaterialSearch.Local;
importer.materialSearchPath = "Assets/Materials";
}
}
ModelImporterMaterialImportMode
ModelImporterMaterialImportMode函数可以用于修改模型的材质导入模式。例如,我们可以将所有模型的材质导入模式都修改为“None”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.materialImportMode = ModelImporterMaterialImportMode.None;
}
}
ModelImporterMeshCompression
ModelImporterMeshCompression函数可以用于修改模型的网格压缩方式。例如,我们可以将所有模型的网格压缩方式都修改为“Off”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.meshCompression = ModelImporterMeshCompression.Off;
}
}
ModelImporterNormals
ModelImporterNormals函数可以用于修改模型的法线计算方式。例如,我们可以将所有模型的法线计算方式都修改为“Calculate”.具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.importNormals = ModelImporterNormals.Calculate;
}
}
ModelImporterTangents
ModelImporterTangents函数可以用于修改模型的切线计算方式。例如,我们可以将所有模型的切线计算方式都修改为“Calculate”.具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.importTangents = ModelImporterTangents.Calculate;
}
}
ModelImporterAnimationCompression
ModelImporterAnimationCompression函数可以用于修改模型的动画压缩方式。例如,我们可以将所有模型的动画压缩方式都修改为“Off”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocess()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.animationCompression = ModelImporterAnimationCompression.Off;
}
}
ModelImporterAnimationType
ModelImporterAnimationType函数可以用于修改模型的动画类型。例如,我们可以将所有模型的动画类型都修改为“Legacy”。具体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.animationType = ModelImporterAnimationType.Legacy;
}
}
ModelImporterRigImportMode
ModelImporterRigImportMode函数可以用于修改模型的骨骼导入模式。例如,我们可以将所有模型的骨骼导入模式都修改为“None”。体实现如下:
using UnityEngine;
using UnityEditor;
public class MyModelPostprocessor : AssetPostprocessor
{
void OnPreprocessModel()
{
ModelImporter importer = assetImporter as ModelImporter;
importer.animationType = ModelImporterAnimationType.None;
}
}
结论
本文介绍了Unity AssetPostprocessor中Model相关函数的实际应用,并提供了多个使用例子。这些函数可以用于对导入的3D模型进行自定义处理,包括修改模型的材质、纹理、网格等属性。通过使用这些函数,我们可以更加灵活地处理导入的3D模型,满足不同的需求。
Unity的AssetPostprocessor之Model:深入解析与实用案例 2的更多相关文章
- Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)
关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propa ...
- Unity之GPS定位(高德解析)
Unity之GPS定位 Unity之GPS定位(高德解析) 前言 开篇 Unity版本及使用插件 正题 创建场景 写脚本 把脚本挂载到场景中 打包发布场景 安装真机并且测试 代码中的==Key==怎么 ...
- Android之三种网络请求解析数据(最佳案例)
AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...
- 用DOM4J解析XML文件案例
用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:
- (转载)Android之三种网络请求解析数据(最佳案例)
[置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报 分类: Gson.Gson解析(1) 版权声明:本文为博主原创 ...
- DNS解析综合学习案例
DNS解析综合学习案例 #图右侧为做题前环境配置 #命令为红色 #命令加载内容为绿色 #vi编辑内容为蓝色 1.用户需把/dev/myvg/mylv逻辑卷以支持磁盘配额的方式挂载到网页目录下 [roo ...
- DNS解析综合学习案例(附详细答案)
1.用户需把/dev/myvg/mylv逻辑卷以支持磁盘配额的方式挂载到网页目录下2.在网页目录下创建测试文件index.html,内容为用户名称,通过浏览器访问测试3.创建用户账户,对LVM配置磁盘 ...
- .NET 用 Unity 依赖注入——概述注册和解析类型(1)
本文内容 Unity 概述 环境 一个真实的例子 类型注册(Type Registrations) 解析类型(Resolving Types) 跳槽,新公司使用了 Unity,初步看了一下,公司的使用 ...
- 《Unity系列》Json文件格式的解析——初级教程
Json作为轻量级的数据交换格式,被广泛应用于网络数据传输中.相关的解析工具层出不穷,一般掌握一个工具的应用其他的相应工具就能立马学会. 这里以C#中的LitJson为例给大家示范一下解析工具的用法. ...
- 【转】关于Unity协同程序(Coroutine)的全面解析
http://www.unity.5helpyou.com/2658.html 本篇文章我们学习下unity3d中协程Coroutine的的原理及使用 1.什么是协调程序 unity协程是一个能暂停执 ...
随机推荐
- Solon2 之 Groovy 语言开发后端接口项目
今天再做个新的尝试,用 Solon 框架写个 Groovy 后端项目.借助 "Solon Initializr" 生成个项目模板,会比较方便. 1.生成项目模板 打开"S ...
- 1.UML之类图
前言 在实际软件开发中,很多人都忽视了先设计后编码的理念,特别是像我这样的新手菜鸟:但在我亲戚的指导下,我便开启了一个简单项目的先设计关卡. 今天的重中之重---UML,学习了它,我们在编写项目代码时 ...
- Java设计模式 —— 原型模式
7 原型模式 7.1 原型模式概述 Prototype Pattern:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象. 原型模式的工作原理:将一个原型对象传给创建者,该创建者通 ...
- 脚本:auto_send_tablespace定期发送表空间巡检到邮箱
简述:周期定时发送表空间到指定邮箱内 1.修改邮箱配置 /etc/mail.rc,具体细节见网上教程 $ vi /etc/mail.rc set from=123456@qq.comset smtp= ...
- 对抗 ChatGPT,免费体验 Claude
对抗 ChatGPT,免费体验 Claude Claude 是 Anthropic 构建的大型语言模型(LLM),对标ChatGPT. Anthropic 创始团队多是前openai研究员和工程师,C ...
- devops|中小公司不要做研发效能度量
我特别反感那些不顾公司现状一上来就想要做研发效能度量的人,尤其是想把研发效能度量当成锤子四处去敲打螺丝钉的人. 没几个人的小公司上来就做研发效能度量,就如同普通人一上来直接问媒婆怎么能娶到迪丽热巴.解 ...
- Docker入门实践笔记-Dockerfile
镜像是一个打包文件,其中包含了应用程序及其运行所依赖的环境,例如文件系统.环境变量.配置参数等等 联合文件系统 容器镜像内部并不是一个平坦的结构,而是由许多的镜像层组成,每层都是只读不可修改修改的一组 ...
- 2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装
目录 前景提示 windows 10 内置的linux系统 1.这个内置系统一定要在windows store里安装,否则,无法使用,这是重点.进入商店,搜索linux. 2.一般画圈这些都可以使用. ...
- Centos 安装 python3.x 为默认
CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x.但由于python2.x是系统集成的,很多命令都是要基于pyt ...
- Three.js 进阶之旅:页面平滑滚动-王国之泪 💧
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 摘要 浏览网页时,常被一些基于鼠标滚轮控制的页面动画所惊艳到,比如greenso ...