Unity 三角剖分多边形三角化
摘要:一、常用三角化的方法 在某些时候需要对多边形构建mesh,需要对多边形进行三角划分,多边形的三角化是将一个多边形分割成若干个不重叠的三角形的过程。以下是几种常见的三角化方法: 1. 耳切法(Ear Clipping Method):这是最经典和简单的一种方法。其基本思想是不断找到并移除多边形中的“耳
阅读全文
posted @
2024-05-29 19:14
Jason_c
阅读(759)
推荐(0)
关于Unity Asset Store搜不到画线插件Vectrosity的问题(附带最新版本下载)
摘要:Vectrosity是一个很好用的画线的插件,可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案,还可以给线段添加纹理,进行碰撞检查等, 如果有多段线段的话,还能够检测到当前点击的是那段线段,我在项目中一直用的它,感觉还是挺稳定挺好用的。 最近要开发另一个项目了,也要画线,就想着还用Vectrosi
阅读全文
posted @
2024-04-03 11:11
Jason_c
阅读(295)
推荐(0)
Unity在旋转时出现万向节锁的解决方案
摘要:关于万向节锁在Unity官方文档中有这样的描述: 欧拉角 在变换坐标中,Unity 使用矢量属性Transform.eulerAngles X、Y 和 Z 显示旋转。与法线矢量不同,这些值实际上表示绕 X、Y 和 Z 轴旋转的角度(以度为单位)。 欧拉角旋转围绕三个轴执行三个单独的旋转。Unity
阅读全文
posted @
2024-03-27 12:11
Jason_c
阅读(849)
推荐(0)
Unity解决z冲突(Z-Fighting)的几种方式
摘要:1、在物理上将对象移得更远在大多数情况下,只需增加战斗对象之间的距离就可以解决深度冲突问题。这是最明显的解决方案,但遗憾的是,根据具体情况,并不总是可能的,但如果是的话,那么总是尝试增加对象之间的距离,如果这样做没有任何缺点!Unity Z-Fight 示例。2、增加相机的近剪裁平面并减少远剪裁平面
阅读全文
posted @
2024-03-21 18:02
Jason_c
阅读(834)
推荐(0)
Unity 贴图叠加,添加水印
摘要:原创内容,转载请标明出处 Shader "Custom/AddWatermarkShader" { Properties { _MainTex("Main Texture", 2D) = "white" {} _WatermarkTex("Watermark Texture", 2D) = "whi
阅读全文
posted @
2024-03-01 11:31
Jason_c
阅读(297)
推荐(0)
Unity UnityWebRequest增加重试
摘要:逻辑比较简单,直接上代码: IEnumerator Request(string url, string method, Dictionary<string, string> headers, byte[] bodyRaw, int retryCount, System.Action<Downloa
阅读全文
posted @
2024-01-15 11:23
Jason_c
阅读(239)
推荐(0)
Unity 捕获C++ dll的Crash
摘要:转载:C#程序调用第三dll引起崩溃,但是try无法捕捉到第三方dll的异常-.net程序调试-少有人走的路 (skcircle.com) 问题:一个第三方的dll,调用它的函数会引起程序崩溃,但是try却无法捕捉到此异常。 因为没有Try到异常,那么一个未处理的异常,会导致整个进程终止。这就是程序
阅读全文
posted @
2023-12-22 15:15
Jason_c
阅读(217)
推荐(0)
Unity 计算圆的切点
摘要:/// <summary> /// 计算过圆外一点的切点,在圆上的切点 /// </summary> /// <param name="center"></param> /// <param name="radius"></param> /// <param name="point"></param
阅读全文
posted @
2023-11-11 18:59
Jason_c
阅读(141)
推荐(1)
Unity在进行射线检测时忽略掉指定的碰撞器
摘要:using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { public Transform startPoint; // 起始点
阅读全文
posted @
2023-08-22 16:11
Jason_c
阅读(432)
推荐(0)
Unity使用OpenCVForUnity加载和保存webp格式的图片
摘要:public static class Texture2DExtend { public static void LoadFromWebp(this Texture2D texture2D, byte[] data) { MatOfByte matOfByte = new MatOfByte(dat
阅读全文
posted @
2023-08-08 14:39
Jason_c
阅读(543)
推荐(0)
Unity用CPU上下翻转Texture2D的最优解
摘要:将Texture2D上下翻转效率的进化史 以下数据都是基于8000x4000全景图进行对比的 1、最简单也是最先想到的,直接根据索引塞到另一个数组里,耗时:0.3061805秒 static Color32[] FlipColors(Color32[] originalColors, int wid
阅读全文
posted @
2023-08-07 11:51
Jason_c
阅读(336)
推荐(0)
Unity 简单高效的异步库UniTask
摘要:UniTask 为Unity提供一个高性能,零GC的async/await异步方案。 基于值类型的UniTask<T>和自定义的 AsyncMethodBuilder 来实现0GC 使所有 Unity 的 AsyncOperations 和 Coroutines 可等待 基于 PlayerLoop
阅读全文
posted @
2023-08-04 11:38
Jason_c
阅读(3712)
推荐(0)
Unity 将UnityWebRequest改为async/await异步
摘要:花了一点时间,对UnityWebRequest进行了简单封装,使用起来更方便一些,顺便实现了post接口轮询、重试的功能 using System; using System.Collections; using System.Collections.Generic; using System.Ru
阅读全文
posted @
2023-08-01 15:45
Jason_c
阅读(1633)
推荐(0)
Unity 生成多边形最简单的方法
摘要:按照正常的思维,先将多边形进行三角剖分,生成网格,再添加碰撞器,去实现业务逻辑 多边形三角化是件麻烦事,还需要考虑多边形的凹凸性,有没有洞等 其实可以反其道而行,先添加碰撞器,通过碰撞器生成mesh,代码比较简单,直接上代码 using System.Collections; using Syste
阅读全文
posted @
2023-07-25 10:44
Jason_c
阅读(656)
推荐(0)
Unity 对多边形或图片进行矩形分割和查找最大内接矩形
摘要:花了点时间实现了对任意多边形进行矩形分割的功能,有需要的小伙伴可以点击这里查看源码 一、实现效果: 1、对图片里的内容进行矩形分割 2、对多边形顶点数据进行矩形分割 3、查找图片里内容的最大内接矩形 4、查找多边形顶点数据内的最大内接矩形 5、支持处理带“洞”的多边形 6、注意不支持相交的情况,相交
阅读全文
posted @
2023-05-29 19:58
Jason_c
阅读(576)
推荐(0)
Unity 打包出来的apk安装到Oculus Quest2黑屏或闪退
摘要:用Unity2022版本打包了一个空工程,安装到Oculus上,发现一直黑屏,然后又安装了一下Unity2019版本,再打包,直接闪退 看了一下日志,有如下报错: W System.err: java.lang.RuntimeException: Requested API version (api
阅读全文
posted @
2023-05-16 19:37
Jason_c
阅读(1164)
推荐(0)
Unity 有效降低GPU占用
摘要:此乃经验所得,持续更新中,转载请标明出处 1、降低DrawCall可有效降低GPU占用 2、通过Application.targetFrameRate主动降低帧率可有效降低GPU占用 3、关闭Camera的HDR和MSAA可有效降低GPU的占用,特别是场景中Camera多的时候,效果很明显
阅读全文
posted @
2023-04-18 15:40
Jason_c
阅读(829)
推荐(0)
unity 单击、双击、三击
摘要:花了点时间对UI的点击逻辑进行了封装,双击时能够不触发单击事件(注意不能挂在空物体上,空物体无法响应事件),直接上代码 using System; using System.Collections; using UnityEngine.Events; using UnityEngine.EventS
阅读全文
posted @
2023-02-01 16:10
Jason_c
阅读(597)
推荐(0)
Unity 热更新方案
摘要:一、Lua: 内置一个Lua虚拟机。典型的框架有xLua, uLua。 二、ILRuntime: 内置一个.net 字节码解释器,解释执行.net字节码。 三、puerts: 内置一个JavaScript/TypeScript解释器,解释执行TypeScript代码。 https://github.
阅读全文
posted @
2023-01-30 11:51
Jason_c
阅读(333)
推荐(0)
Unity 模型合并时纹理有缝隙的问题
摘要:解决方式一:加载模型时,将纹理贴图的WrapMode设置为Clamp,Filter Mode设置为Point 解决方案二:模型合并时将UV往里缩几个像素,产生缝隙的原因是,纹理贴图做了线性插值 这是Filter Mode的文档解释 具体实现可以参考下面的代码片段 这里合并的四边形面片,UV设置比较简
阅读全文
posted @
2023-01-05 18:17
Jason_c
阅读(741)
推荐(0)