- 博客(136)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 为JetBrains IDE设置自定义TODO筛选器和Live Templates
为JetBrains IDE设置自定义TODO筛选器(筛选指定的关键字)和Live Templates
2024-08-11 11:45:59
469
原创 【Unity | Editor强化工具】资产快速访问工具
介绍一个用于Unity引擎的可以在独立窗口中列举常用资产的小工具,Favorite的强化版。
2024-06-04 22:35:46
655
翻译 【Unity】简要讲解何时、何处以及为何要使用 BurstCompile 特性
简要讲解何时、何处以及为何要使用 BurstCompile 特性。
2023-06-26 11:53:24
2658
原创 【Unity】Playable使用细则
本文介绍官方文档中没提及的Playable使用限制、注意事项、Bug及规避方案,不是Playable的入门教程!
2023-05-28 22:14:17
2455
3
原创 【Unity】Animation Playable Bug、限制及解决方案汇总
【Unity】Animation Playable Bug、限制及解决方案汇总
2023-05-22 22:32:56
1773
5
原创 【Unity】读写ProjectSettings、UserSettings、Library文件夹中的文件
【Unity】读写ProjectSettings、UserSettings、Library文件夹中的文件。
2023-05-13 21:26:31
2041
翻译 【Unity】解决IL2CPP打包报错Building xxx\ei6vj\wncp_y_vm6.lump.obj failed with output: qtky_vm6.lump.cpp
解决IL2CPP打包Windows exe时报错 Building Library\Bee\artifacts\WinPlayerBuildProgram\ei6vj\wncp_y_vm6.lump.obj failed with output: qtky_vm6.lump.cpp 。
2023-02-17 13:59:40
2279
5
原创 【Unity|备忘】重新加载托管程序集对EditorWindow字段的影响
【Unity|备忘】重新加载托管程序集对EditorWindow字段的影响
2023-02-08 18:34:54
694
原创 【Unity|备忘】在脚本中动态设置ParentConstraint
【Unity|备忘】在脚本中动态设置ParentConstraint。功能本身很简单,就是计算初始的 `Position offset` 和 `Rotation offset` 时需要注意一下坐标系。
2022-09-30 10:15:56
1688
1
原创 【Unity】为GraphView中的Edge添加数据流效果
Unity的Shader Graph和Visual Effect Graph的连图效果,都是通过 GraphView 实现的,但GraphView中默认的Edge并不带有数据流效果,这里提供了一个简单的带数据流效果的Edge实现。
2022-08-23 18:38:35
1717
2
原创 【Unity】PlayableGraph监控工具
PlayableGraph Monitor支持Unity 2019.4或更新版本,基本涵盖了Graph Visualizer的现有功能,额外增加了视图拖拽、视图缩放、端口信息等功能。可以通过 OpenUPM 安装,也可以直接通过 Github 安装。
2022-08-21 19:29:47
1605
原创 【Unity】保存PlayMode中对组件所作的修改
【Unity】保存PlayMode中对组件所作的修改利用闭包+反射,可以比较简单地实现将PlayMode中对组件所做的大部分修改保留到EditMode。主要过程 :记录需要保存的PlayMode组件;监听Editor从PlayMode变为EditMode事件;在上一步的监听方法中,找到已记录的PlayMode组件所对应的EditMode组件,利用反射将所有符合条件的字段和属性的值从前者复制到后者。使用限制 :字段必须可序列化(访问权限为 public 或带有特性 SerializeFie
2022-05-19 14:37:55
1586
原创 【Unity】为EditorWindow添加自定义的Toolbar按钮
【Unity】为EditorWindow添加自定义的Toolbar按钮Unity提供了一个签名为 void ShowButton(Rect position) 的消息方法,用于在自定义Editor窗口的工具栏中添加自定义内容。以下示例展示了如何在窗口的右上角添加一个问号按钮,并在点击按钮时打开Unity的用户手册网站。public class MyWindow : UnityEditor.EditorWindow{ private GUIStyle _toolbarButtonStyle;
2022-05-19 14:35:59
2078
原创 【Unity】移动类型位置时保持兼容已有序列化数据
【Unity】移动类型位置时保持兼容已有序列化数据Unity中,若修改了类型的名称、命名空间或所在的程序集,会导致已有的序列化数据(SerializeField、SerializeReference)无法解析,此时可以为类型添加 MovedFromAttribute 特性来告知Unity如何保持数据兼容性,并且可以指定是否要将已有的序列化数据更新为新类型的序列化数据。namespace UnityEngine.Scripting.APIUpdating{ [AttributeUsage(Att
2022-05-19 14:33:38
688
原创 【Unity】用于BlendShape的LookAt效果控制器
【Unity】用于BlendShape的LookAt效果控制器为了控制游戏中角色眼球的朝向,通常会使用 LookAtIK 。但LookAtIK需要有眼球骨骼,如果动画师使用BlendShape制作了面部表情,可能会省略掉眼球骨骼。当然,更多的情况是,动画师为角色单独制作了一个高精度的带BlendShape的面部模型,这时,即使角色主体带有眼球骨骼,也无法直接控制到这个独立的面部模型。解决上述问题的关键点是为眼球分配一个骨骼,并将LookAtIK的计算结果换算成BlendShape权重。如果角色不带有眼球
2021-10-26 10:16:10
2747
原创 【Unity】用于Humanoid骨骼的扭曲矫正组件
【Unity】用于Humanoid骨骼的扭曲矫正组件组件已知限制:可以在一定旋转范围内消除变形,不能无限度的消除变形;不支持连续的两个扭曲矫正骨骼,如果需要,可以自行调整代码。在Unity中,为了使用骨骼重定向复用动画,需要在模型导入设置中把AnimationType位置为Hunamoid。Humanoid骨骼本身带有一定的限制,比如只支持有限的几个骨骼节点。骨骼节点过少会导致Animator在播放某些动作时模型发生过度扭曲,为了解决这些问题,通常会增加骨骼数量,来执行扭曲矫正。但在使用
2021-10-21 22:35:26
5653
原创 【Unity】用于Unity Editor的本地配置管理器
【Unity】用于Unity Editor的本地配置管理器之前一直在使用 EditorPrefs 存储编辑器扩展数据等本地配置,但这种方式会向注册表中写入大量数据,查看和清理的时候都不方便,所以我不太喜欢这种方式。没有使用 ScriptableObject 来保存配置是因为它生成的配置文件要放到 Assets 文件夹中,每次生成这种配置文件,都要在版本控制系统中添加忽略项,容易被遗忘,导致本地设置扩散到整个团队。后来在浏览项目工程时,发现工程目录中多了个 UserSettings 文件夹,论坛上查了下,
2021-07-31 22:57:44
928
原创 【Unity】带有字符淡入效果的TextMeshPro打字机效果组件
【Unity】带有字符淡入效果的TextMeshPro打字机效果组件在TextMeshPro中,可以通过 TMP_Text.maxVisibleCharacters 属性控制可见字符的个数,实现简单的打字机效果。如果要为打字机效果增加字符淡入效果,可以通过调整字符Mesh的顶点颜色来实现。下面的代码实现了一个基础的带有字符淡入效果的TextMeshPro打字机效果组件,主要实现步骤已在代码注释中进行了说明。已知问题:FadeRange大于0时,会强制将可见字符的透明度设为完全不透明。要修复此问.
2021-07-27 23:07:03
5897
16
原创 【Unity】使用RootMotion跟运动驱动NavMeshAgent导航
【Unity】NavMeshAgent与Animator及RootMotion的配合Unity目前(2019.4)还没有内置开箱即用的将导航与动画整合的方案,这里提供了一个将NavMeshAgent和Animator整合的思路,并且兼容了RootMotion。实现NavMeshAgent和Animator整合时,主要需要解决滑步问题和NavMeshAgent与RootMotion的数据同步问题,在不同的使用情境下,这两个问题有不同的解决方案。如果是不带RootMotion的角色,需要避免角色滑步,将角
2021-07-21 21:35:44
3784
6
原创 【Unity】使Cinemachine立即完成Damp、当前Blend和即将发生的Blend
【Unity】使Cinemachine立即完成Damp、当前Blend和即将发生的Blend和Damp游戏中很多时候都会动态生成玩家角色,这时会希望相机立即定位到刚刚生成的玩家角色,不要有从远处将镜头Blend过来或者Damp的过程,但Cinemachine直到2.8.0版本都没有提供立即完成Blend的方法。这里对Cinemachine的源码做了些微小的改动,使其能够立即完成Damp、当前Blend和即将发生的Blend。目前版本的Cinemachine已经含有使相机立即完成Damp的功能,只需要将
2021-07-16 09:57:52
1711
12
原创 【Unity】由Unity资源的相对路径获取资源的AssetDatabase路径
/// <summary>/// 由Unity资源的相对路径获取资源的AssetDatabase路径。/// </summary>/// <param name="assetRelativePath">Unity资源文件的相对路径。</param>/// <param name="callerFilePath">请勿传入此参数。</param>/// <returns></returns>public
2021-05-23 18:58:12
2877
原创 【Unity - UGUI】UI跟随GameObject(将世界空间坐标映射到UI屏幕空间)
在UGUI中使UI跟随Scene中的GameObject移动,可以用于处理角色的血条等头顶状态UI跟随角色移动,代码如下:
2021-05-13 09:46:05
1804
5
原创 【Unity】Device Simulator中的Application.isEditor
在正常情况下,Unity Editor中 Application.isEditor 会返回 true ,但是在Device Simulator模式下, Application.isEditor 会返回 false ,这时可以用 Application.installMode == ApplicationInstallMode.Editor 来判断程序是否运行在Unity Editor中,或者也可以更简单粗暴地使用 UNITY_EDITOR 宏来判断程序是否运行在Unity Editor中。...
2021-05-12 22:23:10
1066
原创 【Unity】在Hierarchy中绘制自定义的标记图标
草稿[InitializeOnLoad]public static class HierarchyObjectIconDrawer{ static HierarchyObjectIconDrawer() { EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyWindowItemGUI; } static void OnHierarchyWindowItemGUI(int instanceI
2021-05-12 21:48:07
1379
原创 【Unity】Unity Editor中使输入框失去焦点
【Unity】Unity Editor中使输入框失去焦点Unity自定义编辑器窗口时,如果想让当前正在输入文本的输入框失去焦点,必须把焦点移动到另一个输入控件。如果用代码使当前输入框失去焦点的话,很简单,就一行代码:GUIUtility.keyboardControl = 0;...
2020-11-22 11:21:50
2422
原创 【Unity】由预制体实例获取预制体资源及预制体资源路径
【Unity】由预制体实例获取预制体资源及预制体资源路径Unity中一个预制体对象可能处于3种状态:位于Project中,是PrefabAsset;位于Scene中,是PrefabInstance;位于PrefabMode Scene中,既不是PrefabAsset也不是Prefab Instance。下面的方法给出了获取不同状态的预制体对象所对应的预制体资源及其资源路径的方式。/// <summary>/// 获取预制体资源路径。/// </summary>/
2020-10-19 22:32:31
12007
3
原创 【Unity】判断对象是否在预览场景(Prefab Mode中用于编辑Prefab的场景)中
【Unity】判断对象是否在预览场景(Prefab Mode中用于编辑Prefab的场景)中如果对象在预览场景(Prefab Mode中用于编辑Prefab的场景)中,下面的方法会返回 true ;如果对象位于常规场景或者Project窗口中,下面的方法会返回 false 。UnityEditor.SceneManagement.EditorSceneManager.IsPreviewSceneObject(Object obj);还有另一种方法,就是获取当前的Prefab编辑状态。如果能获取到
2020-09-23 17:21:21
3875
3
原创 【Unity】旋转Vector3和Quaternion
【Unity】旋转Vector3和Quaternion旋转Vector3计算一个Vector3绕指定轴旋转指定角度后所得到的向量。/// <summary>/// 计算一个Vector3绕指定轴旋转指定角度后所得到的向量。/// </summary>/// <param name="source">旋转前的源Vector3</param>/// <param name="axis">旋转轴</param>/// <
2020-09-19 17:09:30
6588
5
原创 【Unity】在Scene窗口中发射射线
【Unity】在Scene窗口中发射射线Handles 类中有很多用于在Scene中绘制形状的方法,HandleUtility 类中有很多处理Editor事件的方法,二者结合可以做出许多非常有用的编辑器扩展工具。例如,可以实现在Scene窗口中做射线检测。在自定义脚本扩展中实现Scene射线using UnityEngine;using UnityEditor;// 自定义脚本扩展中实现Scene射线[CustomEditor(typeof(MyScript))]public class C
2020-09-19 17:07:43
2208
原创 【Unity】设置Scene窗口点选对象时的默认选中节点
【Unity】设置Scene窗口点选对象时的默认选中节点实现任意一个继承自 MonoBehaviour 的类,然后为该类添加 SelectionBaseAttribute 特性,将该脚本附加到GameObject实例上后,当在Scene窗口中点选该GameObject的子GameObject时,Hierarchy中会自动选中该GameObject。如果被直接点选中的GameObject的上层GameObject中有多个GameObject有带有SelectionBase标记,则Hierarchy会选择最
2020-09-19 17:06:14
1307
原创 【Unity】Unity Gizmos扩展(圆弧、扇形、圆形)
Unity Gizmos扩展(圆弧、扇形、圆形)使用 UnityEditor.Handles 为Unity Gizmos 实现的扩展:DrawWireArc() :画圆弧线DrawSolidArc() :画扇形DrawWireDisc() :画空心圆DrawSolidDisc() :画实心圆// GizmosExtension.csnamespace UnityEngine{ /// <summary> /// Gizmos Extensions.
2020-09-04 09:58:54
5517
原创 修复UWP应用在启动页闪退的问题
修复UWP应用在启动页闪退的问题以下内容来自微软技术支持团队。这种问题一般是内置的应用程序文件损坏导致的,解决步骤如下:使用快捷键 Win+X 打开功能菜单,选择 Windows Powershell(管理员)运行命令:Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}等待Powe
2020-08-07 11:59:33
3409
1
原创 【Unity】判断对象是否是预制体以及是否存储在磁盘中
【Unity】判断资源是否是预制体以下方法需要Unity 2018.3.0f1及更高版本。对于低版本的Unity Editor,可以通过 gameObject.scene.IsValid() 来判断对象是预制体资源还是预制体实例。判断Object是否是预制体资源/// <summary>/// 判断Object是否是预制体资源。/// 如果是则返回 `true` ,如果不是则返回 `false` 。/// </summary>/// <param name=
2020-06-29 19:24:22
5753
2007 Office system 驱动程序:数据连接组件 - AccessDatabaseEngine
2019-07-16
ListView_unity5.6.7.zip
2019-05-21
SteamVR.Plugin v1.2.3
2018-12-18
Lua-5.3.5_Win32_bin
2018-10-10
Lua-5.3.5_Win64_bin
2018-10-10
Lua-5.3.4_Win32_bin
2018-10-10
Lua-5.3.4_Win64_bin
2018-10-10
有关byte数组转int32的计算过程的一些疑问
2019-05-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人