目录

  • 前言
  • Scripted Importers基本介绍
  • 应用实例
    • 第一步
    • 第二步
    • 效果
  • 关于ctx.SetMainObject()
  • 更多使用方法
  • 项目地址

前言

我们知道,当我们把一些Unity支持的一些特定后缀名资源导入到UnityProject中时,点击这个资源,查看Inspector窗口,我们可以修改这个资源的一些属性。

比如我导入了一张图片,在Project窗口点击这个图片,再点击Inspector窗口,就可以看到这些属性。

但是需要注的是:Unity只会对特定的资源做一些处理。

那如果是Unity没有进行处理的资源呢,比如后缀名为 .abc.lua。这个时候我们还是想针对于某一个自定义资源做处理该怎么办呢?
这个时候就需要我们的Scripted Importers了。

Scripted Importers基本介绍

让我们来看看Unity官方给我们的介绍。

简单来说就是Unity不支持的文件,我们可以使用Scripted Importers来解决。

应用实例

假设我们现在有一个后缀名为 .cppp的文件(绝对不是仿照 .cpp!),然后我们想导入到Unity中,对这个资源做一些配置,但是Unity并没有支持 .cppp文件,那么我们就不能直接修改它的值了。这个时候就需要用到Scripted Importers了。

第一步

首先我们在Assets文件夹下新建一个Scripts文件夹,然后再Scripts文件夹下新建一个Editor文件夹。在Editor下面新建一个C# 脚本,类一定要继承ScriptedImporter!!!

using UnityEngine;
using UnityEditor.AssetImporters;
using System.IO;//如果导入是.cppp文件
[ScriptedImporter(1, ".cppp")]
public class CpppScriptImporter : ScriptedImporter
{//AssetImportContext其实就是上下文,具体可以看官方文档public override void OnImportAsset(AssetImportContext ctx){Debug.Log(".cppp OnImportAsset");string cpppTxt = File.ReadAllText(ctx.assetPath);//获取导入资源的路径,并且通过File读取所有的Textvar assetText = new TextAsset(cpppTxt);//生成一个TextAsset对象var material = new Material(Shader.Find("Standard"));//生成一个Material对象(不要问我.cppp为什么有材质,因为这是测试用的!)material.color = Color.red;//定义材质的颜色ctx.AddObjectToAsset("assetText", assetText);//加入到Asset中(可以显示在Inspector窗口中)ctx.AddObjectToAsset("material", material);//同理ctx.SetMainObject(assetText);//设置主对象,下方会解释这个方法}
}

第二步

新建一个文件,修改后缀名为 .cppp,然后导入到Unity中。

效果

我们发现这个文件可以在Inspector窗口查看了,并且在Console窗口打印了。(你可以把上述代码先注释,看看有没有什么不一样)

关于ctx.SetMainObject()

多说无用,直接上不同代码,再看不同效果就很显然了。
基于上述代码。
如果是

ctx.SetMainObject(assetText);

效果是这样的

如果改成

ctx.SetMainObject(material);

就变成这样了

我相信你现在应该明白这个方法的意思了。

更多使用方法

更多的使用方法可以参考Unity的官方文档。
官方文档

项目地址

项目地址

Unity学习笔记--自定义文件的处理:Scripted Importers的简单使用相关推荐

  1. antd vue表单上传文件_AntDesign vue学习笔记-自定义文件上传

    上传文件时实际可能需要传输一个token. 方法一: 1.查看vue antdesign文档 https://vue.ant.design/components/upload-cn/ 2.使用cust ...

  2. Unity学习笔记1 简易2D横版RPG游戏制作(一)

    这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...

  3. unity学习笔记-text文本识别html富文本(待改进)

    unity学习笔记 text文本识别html富文本(待改进) 需求 逻辑 实现 xlua的安装 配置到unity 使用 改进优化(待改进) text文本识别html富文本(待改进) 需求 项目里需要将 ...

  4. 【Unity学习笔记】b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别)

    [Unity学习笔记]b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别) 自己跟着学完了,写了不少代码,会放在CSDN代码库,因为老师并没有提供源码,录屏也不是完全连续,所以难 ...

  5. 木木的Unity学习笔记(一)—— 重写UGUI Editor(Button举例)

    木木的Unity学习笔记(一)-- 重写UGUI Editor(Button举例) 昨天聊天的时候,有一位道友说自己无论是对字段进行公有化处理还是加上SerializeField标签都无法把自己的字段 ...

  6. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  7. Unity学习笔记:个人学习项目《疯狂天才埃德加》纠错文档

    Unity学习笔记:个人学习项目<疯狂天才埃德加>纠错文档 本文档是完成学校Unity课程作业时建立的纠错文档.用于记录自己开发过程中遇到的各种问题,以便下次遇到相同的问题时及时找到解决方 ...

  8. 【Unity学习笔记】UnrealToUnity教程:(网上购买的素材导入Unreal+插件转Unity)

    [Unity学习笔记]UnrealToUnity教程: 最近想从Unreal那边化点缘借借素材,没想到踩到一个大坑 一,素材导入Unreal 这个教程比较多,根据素材的来源,传送门是以下这几个: 1. ...

  9. unity学习笔记-特效篇

    unity学习笔记 传送门特效 火焰特效 传送门特效 由于动画师的动画制作遇到了一些小问题,只能先做其他功能的摸索了~ 本来想记录一下服务器搭建的,但是在消息传输的部分遇到了一些bug,可能是消息解析 ...

最新文章

  1. luogu 3806
  2. 仿真RM码,及在高斯信道下的译码性能,对RM采用大数逻辑译码算法
  3. Android实训日志:基于外部存储的音乐播放器V04
  4. 【深度学习】2个经典的练手CNN源码与MNIST数据集测试结果
  5. android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2
  6. 漫画:程序员每天的6场战斗
  7. python使用pdfminer解析页面内容,得到内容的详细坐标
  8. 我觉得我们看到的所谓“善良人”
  9. Junit单元测试/反射/注解
  10. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  11. 计算机编程专业有哪些,计算机本科编程专业开设的全部专业课程有哪些
  12. tableau计算同环比
  13. 【AI视野·今日CV 计算机视觉论文速览 第220期】Wed, 16 Jun 2021
  14. 3-JS-数据类型-数组
  15. WIN7远程桌面连接--“发生身份验证错误。要求的函数不受支持”
  16. win7万能声卡驱动_驱动精灵万能网卡版下载-驱动精灵万能网卡版免费下载
  17. 易基因 | 表观技术:染色质结构构象与DNA互作:ChIP-seq、ATAC-seq
  18. 纯蓝ICON_学习教程
  19. 计算机 文笔不好的论文,文笔差怎么写出好文章
  20. linux ubuntu 设置ip地址命令行,Ubuntu Linux上的IP地址管理

热门文章

  1. unet脑肿瘤分割_3D脑肿瘤分割的Dice损失函数的优化
  2. layui下拉框被弹框遮住问题解决、layui下拉框因弹框显示不全解决方案
  3. (neo)vim下的c/c++环境搭建
  4. 李莫愁:耐得住寂寞才能守得住繁华(转自微信)
  5. 使用 donut 将 exe 转成 shellcode
  6. 从女生的角度教你们追女孩
  7. RocketMQ 简单原理
  8. ffmpeg 提取mp4里的h264流和pcm流
  9. optee qemu环境搭建
  10. 新托福写作:加分词句