• 2024-05-26[Unity] 添加新建Lua脚本选项
    Unity添加新建Lua脚本选项最近学习Unity的XLua热更新框架的时候,会经常需要创建新的Lua脚本。然而,Unity本身不支持直接创建.lua后缀的文件,所以每次都必须手动在外部打开文件夹创建。为了提高效率,就需要在Unity新建文件的菜单中添加了一个“新建Lua脚本”的选项。并且,要达到和“
  • 2023-12-23Unity最新一键清理Prefab中所有MissingComponent
    因为老的API Properties.DeleteArrayElementAtIndex(propertyIndex);提示没权限修改,而unity提供了新的API GameObjectUtility.RemoveMonoBehavioursWithMissingScript(go);更方便移除丢失的组件,需要遍历物体下面所有子节点,否则无法移除子节点的丢失组件。于是重新整理了下
  • 2023-10-21【Unity3D】资源管理
    1前言​Unity中资源管理方案主要有Resources、TextAsset、ScriptableObject、AssetDatabase、PlayerPrefs、Addressables、AssetBundle、SQLite,本文将介绍其中大部分方案。2Resources​Resources主要用于加载资源,被加载的资源需要放在Resources目录下,可以在As
  • 2023-10-01AssetDatabase.LoadAssetAtPath 获取FBX资源空指针问题
    问题一 LoadAssetAtPath返回空publicclassProcessModel:AssetPostprocessor{privatevoidOnPostprocessModel(GameObjectinput){if(input.name!="Enemy2b")return;//取得导入模型相关信息ModelImporterimporter=ass
  • 2023-07-24AsssetBundle打包(一)
    先建立一个需要打包的配置文件(方便打包路径的修改)usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;[CreateAssetMenu(fileName="ABConfig",menuName="CreatABConfig",order=0)]publicclassABConfig:ScriptableObject{/
  • 2023-07-05Unity 在AssetPostprocessor内使用AssetDataBase是不安全的行为(尤其在Build前进行Library的删除)
    https://docs.unity3d.com/Manual/AssetDatabaseCustomizingWorkflow.html在Build前进行Library的删除,读取Asset是不安全的行为,需要使用C#的IOSystem进行操作AssetImportOrderIfyouarescriptingusingtheAssetDatabaseclass,it’simportanttounderstandhowtheor
  • 2023-05-27Unity的OnOpenAsset:深入解析与实用案例
    UnityOnOpenAsset在Unity中,OnOpenAsset是一个非常有用的回调函数,它可以在用户双击资源文件时自动打开一个编辑器窗口。这个回调函数可以用于自定义资源编辑,提高工作效率。本文将介绍OnOpenAsset的使用方法,并提供三个使用例子。OnOpenAsset的使用方法OnAsset是UnityEditor的一
  • 2023-01-05使用嵌套的ScriptableObject及ReorderableList创建习题持久化数据
    使用嵌套的ScriptableObject及ReorderableList创建习题持久化数据效果展示题集持久化数据:存储题目,可以直接在inspector面板上创建对应的问题子项问题持久化数据:源码
  • 2022-12-13Unity 资源管理插件
    之所以写这个插件呢,就是为了方便整理项目中的资源文件,我记得之前好像也用了这么一个插件,但是也没去找,还是自己动手写一个吧,需要什么功能就看自己的需求。在项目的过程中呢,已
  • 2022-10-23Unity-合并模型贴图
    需求项目需要做个工具,用于合并模型贴图,以此可以省掉贴图尺寸为了补足2的次方而多出来的多余空白像素。过程平铺式编码,相当于一个Demo,把几个没把握的主要问题解决,得出
  • 2022-08-14持久化数据
    使用PlayerPrefsPlayerPrefs.SetString(str:sring,str1:string);//保存字符串,以键值对的形式存储数据PlayerPrefs.SetInt(str:string,num:int);//保存整型PlayerPrefs