白泽图

  • 文章
    • Unity渲染
    • Unity项目开发
    • 工具
    • 数学
    • 算法
    • 网站搭建
    • 网络&操作系统
Unity项目开发
Unity项目开发

在Unity中通过反射获取SerializedProperty的值

写编辑器遇到需要通过SerializedObject的SerializedProperty获取其对应的对象(比如需要调用其方法),以下封装一个统一方法,便于以后直接使用 using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; using System; using System.Reflection; public class ReflectPropertyPath : Mon…

2024-04-10 0条评论 2655点热度 10人点赞 蒋程 阅读全文
Unity项目开发

Unity Hierarchy与Scene窗口的操作限制

记录一下在编写编辑器时对unity的一些操作限制,防止遗忘 static void OnHierarchyGUI(int instanceID, Rect selectionRect) { var e = UnityEngine.Event.current; //禁用 TBCParticleSystem 在Hierarchy面板的右键菜单 if (selectionRect.Contains(e.mousePosition) && e.button == 1 && e.type &l…

2023-11-21 0条评论 3032点热度 1人点赞 蒋程 阅读全文
Unity项目开发

常用Gizmos图形封装

using System.Collections; using System.Collections.Generic; using UnityEngine; namespace TBC { public class TBCGizmos { public enum CapsuleDirection { XAxis, YAxis, ZAxis, } /// <summary> /// 线框球体 /// </summary> public static void DrawWireSphere(Ma…

2023-08-16 0条评论 3222点热度 1人点赞 蒋程 阅读全文
Unity项目开发

使用命令行调用unity案例模板(支持update)

C#脚本 using UnityEngine; using UnityEditor; public class TestClass { // 要调用的函数 public static void TestFunc() { Debug.Log("************* TestFunc ******************"); startTime = Time.realtimeSinceStartup; EditorApplication.update += Run; } static float startTi…

2023-08-14 0条评论 2921点热度 0人点赞 蒋程 阅读全文
Unity项目开发

判断TimelineAsset是否被修改

最近在写一个基于Timeline的编辑器,需要在关闭Timeline编辑器的时候对TBCAsset(继承于TimelineAsset)资源进行保存,并写入一些额外的数据,因为保存有些耗时需要1~2秒,所以需要判定如果只是打开,但并未修改TBCAsset资源点关闭后直接退出 我用EditorUtility.IsDirty来对资源进行判断是否有修改,但发现并不准确,翻看Timeline源码后,发现TimelineAsset的TrackAsset与PlayableAsset资源是通过AssetDatabase.AddOb…

2023-03-08 0条评论 3347点热度 0人点赞 蒋程 阅读全文
Unity项目开发

System.Type.GetMethod获取同名不同参方法

using System; using System.Reflection; class Program { // Methods to get: public void MethodA(int i, int j) { } public void MethodA(int[] i) { } public unsafe void MethodA(int* i) { } public void MethodA(ref int r) {} // Method that takes an out parameter. pub…

2023-02-22 0条评论 3179点热度 1人点赞 蒋程 阅读全文
Unity项目开发

关于PlayableGrahp在编辑器下改变状态无法立即更新的问题

在编辑器下,做playable相关的操作,比如调用PlayableGrahp.Stop()后再执行PlayableGrahp.Play(),但是更新函数没有被调用 解决方法: 调用UnityEditor.EditorApplication.QueuePlayerLoopUpdate(); Normally, a player loop update will occur in the editor when the Scene has been modified.  This method al…

2022-10-28 0条评论 1171点热度 0人点赞 蒋程 阅读全文
Unity项目开发

Unity编辑器Reorderable List

Unity默认对List与Array的序列化,在Inspector面板上的显示,对操作并不是很友好,比如需要交换两个数组元素下标时,需要挨个赋值两个被交换的元素,当数组元素为复杂的类对象时,此操作更加麻烦,而Reorderable List可以更加直观的显示数组元素,整体上会更加美观,并且自带拖拽等操作,以下使用案例截取Cinemachine插件使用Reorderable List的部分代码 声明 private ReorderableList mWaypointList; 初始化 void SetupWaypoi…

2022-08-29 0条评论 1388点热度 0人点赞 蒋程 阅读全文
Unity项目开发

获取UnitySceneView中的相机

GameObject sceneCameraGo = EditorUtility.CreateGameObjectWithHideFlags("SceneCamera", HideFlags.HideAndDontSave, typeof(Camera)); var sceneCamera = sceneCameraGo.GetComponent<Camera>();

2022-08-25 0条评论 1297点热度 0人点赞 蒋程 阅读全文
Unity项目开发

Unity编辑器模式下获取GameView的鼠标操作事件

最近希望在编辑器模式下通过GameView的鼠标操作镜头,所以首先需要获取到鼠标的操作事件 编辑器模式下运行一般来有监听EditorApplication.update回调,或者 在MonoBehaviour的类声明[ExecuteInEditMode]、[ExecuteAlways]标签两种方式。获取鼠标方式一般有Input和Event两种方式,下面直接说在编辑器模式下的组合结果 1.监听EditorApplication.update回调的方式:  无法使用Input(Input.touchCount…

2022-08-18 0条评论 1434点热度 0人点赞 蒋程 阅读全文
12345
分类
  • Unity渲染 / 26篇
  • Unity项目开发 / 41篇
  • 工具 / 20篇
  • 数学 / 2篇
  • 算法 / 1篇
  • 网站搭建 / 4篇
  • 网络&操作系统 / 5篇
最新 热点 随机
最新 热点 随机
在Unity中通过反射获取SerializedProperty的值 Unity Hierarchy与Scene窗口的操作限制 常用Gizmos图形封装 使用命令行调用unity案例模板(支持update) vscode安装chatgpt 判断TimelineAsset是否被修改
Unity Hierarchy与Scene窗口的操作限制 解决VisualStudio安装ErrorCode1714的问题 Unity Editor 修改鼠标样式 C#所有编码格式 图形学基础-向量 Unity自带的默认资源路径与加载方式

COPYRIGHT © 2023 白泽图. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

登录
注册|忘记密码?