- 博客(24)
- 收藏
- 关注
原创 ugui图片描边shder
使用8个方向进行采样,如果任何一个方向有不透明的像素,则当前像素被绘制为描边颜色。用于检测图像中透明像素与不透明像素之间的边界,并在这些边界上绘制描边颜色。负责正常绘制原始图像,保持图像的本来颜色和细节。
2024-09-20 14:48:23
278
原创 UGUI刮刮乐,使用自定义笔刷
上一步得到的值乘以 (scratchTexture.width / scratchImage.rectTransform.rect.width),这将局部坐标缩放到纹理的像素坐标。即,将 UI 坐标转换到纹理坐标。localPoint.x 是相对于中心的横向局部坐标,因此加上 scratchImage.rectTransform.rect.width / 2 将其转换为以图像左上角为原点的坐标。
2024-09-19 17:05:37
263
原创 unity中 使用贝塞尔曲线飞行
b. 创建四个空物体作为贝塞尔曲线的控制点,并将它们的 Transform 分别赋值给 point0, point1, point2, 和可选的 point3。我们编写一个脚本,将对象沿着贝塞尔曲线飞行。我们将允许用户设置起点、中间控制点和终点。a. 将这个脚本 BezierFly 附加到你希望沿曲线飞行的对象上。对上面BezierFly进行微改即可。
2024-06-14 16:52:41
828
原创 ugui高斯模糊
创建两个材质,并将它们的 Shader 分别设置为 GaussianBlurH 和 GaussianBlurV。创建一个脚本,将其附加到你的相机或 UI 元素上,以动态控制模糊效果。OnRenderImage 方法是 Unity 的一个回调函数,在相机完成所有渲染后但在最终显示前调用。这是实现后期处理效果的关键位置。将输入的 RenderTexture (即相机渲染的结果)赋值给 currentSource。
2024-06-14 15:11:40
681
原创 UGUI适配特殊形状屏幕
通常我们会创建一个专门用于安全区域适配的脚本,将其附加到包含主要 UI 元素的根 Canvas 或某个特定的 RectTransform 上。安全区域 (Safe Area) 是一个不受屏幕物理外形(如刘海、圆角、传感器区域等)影响的矩形区域。这是一个 Rect,表示屏幕上安全区域的位置和尺寸。将安全区域的位置和大小除以屏幕尺寸,得到归一化的坐标,这些坐标在 [0, 1] 范围内,表示相对于整个屏幕的比例。safeArea.position:这是安全区域的左下角位置,表示安全区域相对于屏幕左下角的偏移。
2024-06-12 17:52:18
792
原创 UGUI实现擦除效果(不用shader)
然而,这些局部坐标是相对于 RectTransform 的中心点的,即 (0, 0) 代表 RectTransform 的中心。1. localPoint.x / rectTransform.rect.width 将 localPoint.x 从 [-width/2, width/2] 范围转换为 [-0.5, 0.5] 范围。(1). 局部坐标 localPoint.x 和 localPoint.y 在范围 [-width/2, width/2] 和 [-height/2, height/2]。
2024-06-12 15:22:21
730
原创 C# 装箱拆箱详解
类型检查:确认object引用实际包含的类型与目标值类型一致。引用类型:存储在堆上,由垃圾回收器管理其生命周期。包括对象头部信息和实际数据。分配内存:在托管堆上分配内存,用于存储值类型的数据以及对象头部信息。创建引用:返回一个指向该堆内存块的引用,即object类型的变量。复制数据:将栈上的值类型数据复制到新分配的堆内存块中。获取地址:从object引用中提取原始值类型的地址。值类型:存储在栈上,当变量超出作用域时自动释放。复制数据:将堆中的值类型数据复制回栈上的变量。
2024-06-12 11:54:16
507
原创 HybridCLR学习日记一
静态程序集依旧通过 IL2CPP 转换,而热更新程序集保持为 .NET IL 格式,以便在运行时动态加载。配置文件和元数据通常会包含热更新相关的信息,例如哪些程序集可以热更新,解释执行引擎的初始化参数等。生成最终的应用程序包,包括静态程序集的原生代码、热更新程序集的 .dll 文件和解释执行引擎。热更新程序集:这些程序集在运行时可以由解释执行引擎加载和执行,以实现热更新功能。解释执行引擎动态加载新的热更新程序集,并替换旧的程序集或新增功能。根据开发者的配置,将项目中的程序集分为静态程序集和热更新程序集。
2024-06-05 18:15:29
997
原创 unity编辑器扩展之 EditorGUILayout.LayerField
EditorGUILayout.LayerField 是 Unity 编辑器中的一个控件,用于绘制和编辑图层选择字段。它允许用户通过 GUI 选择一个图层,这在需要指定对象的图层属性时特别有用。
2024-05-29 12:03:50
268
原创 unity编辑器扩展之 EditorGUI.CurveField
EditorGUILayout.CurveField 是 Unity 编辑器中用于绘制和编辑 AnimationCurve 类型字段的控件。它允许用户通过 GUI 直接选择和调整动画曲线,提供了一个直观的方式来控制时间和数值之间的关系。
2024-05-29 11:46:12
264
原创 unity编辑器扩展之 EditorGUILayout.ColorField
EditorGUILayout.ColorField 是 Unity 编辑器中用于绘制和编辑 Color 类型字段的控件。它提供了一个颜色选择器,允许用户通过 GUI 直接选择和调整颜色。
2024-05-29 11:37:57
260
原创 unity编辑器扩展之 EditorGUILayout.BoundsField
EditorGUILayout.BoundsField 是 Unity 编辑器中用于绘制和编辑 Bounds 类型字段的控件。Bounds 表示一个三维空间中的包围盒,包含中心点和尺寸。
2024-05-29 11:33:40
190
原创 unity编辑器扩展之 EditorGUILayout.Foldout
EditorGUILayout.Foldout 是 Unity 编辑器扩展中用于创建可折叠区域的控件。它允许你在自定义 Editor 或 EditorWindow 中组织大量选项或设置,使得界面更加整洁和易于导航。
2024-05-29 11:30:14
506
原创 EditorGUILayout.BeginToggleGroup 和 EditorGUILayout.EndToggleGroup
unity编辑扩展之EditorGUILayout.BeginToggleGroup 和 EditorGUILayout.EndToggleGroup
2024-05-29 11:24:32
222
原创 fgui实现刮刮乐
using System;using UnityEngine;using FairyGUI;public class FguiErasePoint : MonoBehaviour{ //遮罩 要操作的对象 private GLoader maskLoader; //要操作的纹理 新建出来的 private Texture2D eraseTexture; //图片大小 private float textureLength; //擦除部分图.
2021-07-16 17:23:01
1354
转载 Unity UGUI高斯模糊背景效果 简易解决方案 (转载)
转载自这位大佬的博客 亲测可用https://blog.youkuaiyun.com/SaberZG/article/details/109347619
2021-01-16 11:55:34
3069
原创 Lua获取时间
1 获取UTC时间function getUTCTime() return os.time(os.date('!*t', os.time()))end2 获取本地时区function getLocalTimeZone() local localTime = os.time() return os.difftime(localTime, os.time(os.date('!*t', now)))/3600end
2020-12-31 14:09:01
1150
原创 unity 使用video player播放视频
1 第一步 创建RenderTexture2 创建RawImage 并将上面创建好的RenderTexture 拖到RawImage上3 在场景里面 创建一个空物体 给空物体添加组件VideoPlayer4 将RenderTexture拖到VideoPlayer的Target Texture上5 将准备好的的视频 拖到Video的Video Clip上至此 准备结束 运行游戏就好啦...
2020-12-30 17:45:04
913
原创 unity接入华为sdk之使用unity插件
unity针对华为 提供了专门的插件插件下载地址:https://assetstore.unity.com/packages/add-ons/services/huawei-hms-core-app-services-176968demo下载地址:https://github.com/Unity-Technologies/HMSSDKSample官方文档:https://docs.unity.cn/cn/Packages-cn/com.unity.hms@1.0/manual/appgaller
2020-11-05 20:16:38
1880
1
原创 unity接入华为sdk之原生接入
unity接入原生华为sdk问题总结接入方式:as里面接入华为sdk 导出jar包给Unity使用接入过程:仔细阅读华为文档 按照文档接入 此处省去遇到问题1:凡是调用华为sdk的地方提示java.lang.NoClassDefFoundError原因:导出jar包 并不会把你通过as gradle里下载华为相关包一起导出 导致找不到相关的包解决办法:在unity的Plugins/Android下面 建一个mainTemplate.gradle文件 重新添加相关依赖 形如下面的代码 这.
2020-11-05 19:56:48
1010
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人