Unity
CoderHustlion
这个作者很懒,什么都没留下…
展开
-
Unity 获得 UI 控件所在的 Canvas
// 参考:https://forum.unity.com/threads/how-do-you-get-the-parent-canvas.311240/// 法1:得到一个 canvas,不确定在嵌套 cavnas 情况是什么反应GetComponentInParent<Canvas>()// 法2:得到顶层 canvasCanvas topmostCanvas = transform.root.GetComponentInChildren<Canvas>();/原创 2021-04-02 17:07:51 · 3893 阅读 · 0 评论 -
Unity 计算 UI 控件的包围盒(屏幕坐标)
// 以某一控件的左上、右下为例进行计算。Canvas canvas; // 自行赋值为控件所在的 Canvasvar rt = GetComponent<RectTransform>();var worldCorners = new Vector3[4];rt.GetWorldCorners(worldCorners);var bounds = new Bounds(worldCorners[0], Vector3.zero);for (int i = 1; i < 4;原创 2021-04-01 21:38:30 · 880 阅读 · 1 评论 -
Unity Editor 中的 GL 线条绘制
// 参考 https://docs.unity3d.com/ScriptReference/GL.html// 绘制一个线框public class TestWindow : EditorWindow { private Material m_material; void OnEnalbe() { // 准备用于 GL 绘制的材质。 m_material = new Material(Shader.Find("Hidden/Internal-Colore原创 2020-11-16 11:18:23 · 1181 阅读 · 0 评论 -
Unity 在 Windows 下调用 bat 脚本、等待返回码,并且重定向的示例
// 调用,等待返回码,并且重定向输出using System.Diagnostics;var batPath = @"Assets\Plugins/Vendor/test.bat"; // 这里的路径分隔符风格似乎对结果没影响。var filePath = @"C:/Test/test.lua";var startInfo = new ProcessStartInfo() { FileName = batPath, // 要运行的文件 Arguments = $"\"{file原创 2020-11-12 14:40:31 · 658 阅读 · 0 评论 -
Unity Driven 属性(代码控制属性)使用示例
文章目录简介示例备注简介本文给出 Unity 中 DrivenRectTransformTracker 属性的使用示例。示例public Sample : MonoBehavior { private DrivenRectTransformTracker m_Tracker; // 定义 private RectTransform m_Transform; void Update { m_Tracker.Clear(); if (m_Tra原创 2020-08-06 12:21:00 · 738 阅读 · 0 评论 -
Unity 获取屏幕当前宽度和高度
宽度:UnityEngine.Screen.width高度:UnityEngine.Screen.height参考:https://docs.unity3d.com/ScriptReference/Screen.html原创 2018-11-13 12:02:16 · 34252 阅读 · 0 评论 -
Unity 2018.2.5f1 单元测试简介
简介本文目标是在 Windows 环境下为 Unity 进行单元测试以提高代码质量、稳定已完成特性和固化已经完成的 bug 修复方案。Unity 中的测试工具是 Unity Test Runner, 它基于 NUnit,并增加了 UnityTestAttribute 以提供跳过当前帧的功能,这对于涉及到 Update() 等生命周期函数的测试非常有用,例如 GameObject 的运动测试。...原创 2018-10-08 17:05:11 · 5030 阅读 · 6 评论 -
Unity Mecanim 动画播放延迟问题解决
问题描述Unity 的 Animator 配置的 Animation Controller 中,通过变量来控制动画状态转换时,变量修改了但是有一定延迟才会播放对应的动画。分析idle 是有一个循环动画的,在这段动画播放的中途改变变量,需要等待这段动画播放完才会切到下一段。解决取消勾选 idle -> ready 的 transition 的 Has Exit Time ,这样在对...原创 2018-10-11 17:04:43 · 2035 阅读 · 1 评论 -
Unity Image.sprite 与 Image.overrideSprite 的区别
Unity Image.sprite 与 Image.overrideSprite 的区别Override sprite is for it you want to quickly set a image without changing the original. If you want to change something on a permanent basis use sprite....原创 2018-10-11 11:59:32 · 7127 阅读 · 2 评论 -
Unity UGUI绘制任意形状的基础——在代码中通过顶点绘制正方形
目标在代码中通过顶点绘制正方形。基于这一技术,可以通过提供更多顶点绘制出任意形状。环境Unity 2018.1.5f1 Personal (64bit)方法继承 UnityEngine.UI.Graphic 来获得顶点操纵的能力:using System.Collections;using System.Collections.Generic;using...原创 2018-08-26 13:28:43 · 7797 阅读 · 0 评论 -
Unity 摇杆功能的 UGUI 实现
本文目标在 Unity 中使用 UGUI 实现摇杆功能,并将此摇杆模块化以提高其通用性。软件版本Unity 2018.1.5f1 Personal (64bit)Visual Studio 2017思路基于 UnityEngine.UI.ScrollRect 来实现摇块。 ScrollRect 是矩形的,要实现圆形的摇动区域,可通过代码设定摇块可移动半径来实现。...原创 2018-08-13 14:16:56 · 4915 阅读 · 1 评论 -
Unity 通过代码加载标准材质
目标使用代码给物体加载标准材质。这在给 Empty 加材质时比较有用,有利于减少在 Unity 编辑器中的操作。环境Unity 2018.1.5f1 Personal (64bit)方法在挂载在 Empty 上的 Monobehavior 脚本的 Start 方法或其他生命周期方法中:var renderer = gameObject.AddComponent...原创 2018-08-15 10:46:00 · 2244 阅读 · 0 评论 -
Unity UGUI 血条实现
本文目标在 Unity 中使用 UGUI 制作角色血条,实现血条跟随玩家模型的效果。 通过使用动态加载的 Slider,动态计算目标模型的头部位置世界坐标在屏幕空间的对应点位置来实现。另外一种实现是使用 World Canvas 将血条直接绑定到玩家模型上,对此实现方法本文不作描述。软件版本Unity 2018.1.5f1 Personal (64bit)Visual S...原创 2018-08-14 16:21:08 · 6767 阅读 · 0 评论 -
Pomelo 的聊天室 Unity 端 demo
Pomelo 的聊天室 Unity 端 demo最近研究了一下网易的服务器端引擎 Pomelo,跟着做了一下聊天室的例子。官方 wiki 教程侧重介绍服务器端编程,然后客户端是 web 的,可正常使用。也提供了 unity 端的例子,但是已经过时(最后更新是2013年),于是动手修改了一下,让 demo 重新运行了起来,消除了一些坑。欢迎大家测试和学习交流。地址:https://g...原创 2018-03-14 17:54:48 · 1145 阅读 · 0 评论