Unity记录
文章平均质量分 88
mkr67n
这个作者很懒,什么都没留下…
展开
-
【Unity记录】问题:WebGL游戏保存数据到Application.persistentDataPath不生效
解决Unity WebGL游戏保存数据到Application.persistentDataPath不生效的问题原创 2022-10-16 16:13:39 · 3772 阅读 · 1 评论 -
【Unity记录】使用Preserve特性防止反射调用代码在build时被裁剪
代码裁剪(Managed code stripping)可以降低程序库大小,但是一些无法在编译时追踪的被调用对象(如被反射Reflection调用)可能会被意外移除。此时可以通过Preserve特性保留这些被误判移除的代码。原创 2022-10-16 15:32:00 · 2184 阅读 · 2 评论 -
【Unity记录】【解析几何】令文本保持字符间距地环绕在圆弧上(将线段映射到圆弧上)
令文本保持字符间距地环绕在圆弧上(将线段映射到圆弧上)原创 2022-09-08 17:20:57 · 1670 阅读 · 0 评论 -
【Unity记录】编写一个超实用的单例模式模板
单例模式(Singleton)是Unity中常用的一种程序模式,兼具全局数据共享、唯一性、可继承MonoBehaviour的优点。但在Unity中单例的实现比较烦人,因为场景来回切换中会不受控制地创建更多的单例实例,因此本文就这些问题的解决,编写一个通用、易用、实用的单例模式脚本。............原创 2022-08-13 18:04:46 · 1077 阅读 · 1 评论 -
【Unity记录】如何优雅地在Unity中订阅与退订C#事件
事件模型是面向对象编程中常用的一种模块间通信的模型,其通过事件通知取代传统低效的轮询进行模块间逻辑交互。本文讲介绍如何在Unity中优雅地进行事件订阅与退订。原创 2022-08-11 03:53:32 · 1852 阅读 · 2 评论 -
在Unity里将多个Sprite(精灵图)动态合成一个Sprite
一、描述1. 这是一个什么效果?类似于PS里面的图层混合,这将在游戏运行过程中将多个Sprite合并为一个Sprite,可以应用于2D游戏物体或UI。类似以下的效果:需要注意的是在图片叠加时不仅仅是覆盖,还可以应用任意的图片混合类型。2. 这有什么用?你可能会说,不就个笑脸加个圆吗,我直接加两个游戏物体一边挂一个不就完事儿了吗?我直接PS混合导出不就完事了吗?确实,如果你的图片叠加的情况数少且可确定,我建议还是直接用PS,或直接挂在几个游戏物体上做成预制体。但如果叠加情况数多或者层数不确定原创 2021-05-19 18:07:07 · 11063 阅读 · 7 评论 -
图片正常模式混合(透明度混合)公式
一、描述所有内容摘自维基在处理图象时可能需要手撸图片混合的代码,此时混合公式就十分重要。而正常混合(Normal Blending)模式是最常用的一种格式(比如PS的默认图层混合模式)。想手动实现时却发现搜“正常混合”搜不出结果,因此写一篇文章增加后来人的搜索命中率。“正常混合”是什么?顾名思义,就是上层图片覆盖下层图片。从感官上,上层的颜色不应该被下层影响。比如A覆盖B:当两张图片完全不透明时A的像素取代B的像素。而A、B非不透明时,透明度则在此次混合中起关键作用。因此“正常混合”其实实原创 2021-05-19 14:17:41 · 1843 阅读 · 1 评论 -
Unity记录:按照Rule Tile规则动态生成地图(从脚本中使用RuleTile)
要解决什么问题? RuleTile是非常实用的一个Unity工具,然而网上能找到的许多教程都是在编辑器中直接使用palette绘制地图的。然而如果游戏要有roguelike要素,需要随机生成地图时,则需要从脚本控制地图的生成,当然我们希望的是能够继续使用RuleTile,代替我们自己编写瓦块填充规则。 虽然这个问题事实上并不难,但网上找不到别的教程,这对我这种小白而言还是挺痛苦的。捣鼓了半天摸到了解决办法,在这原创 2020-09-01 15:06:59 · 8276 阅读 · 2 评论 -
Unity踩坑记录:如果继承MonoBehaviour,类的构造函数可能会被Unity调用多次,不要在构造函数做初始化工作
先上Unity官方文档:有经验的程序员可能会惊讶于没有使用构造函数来完成对象的初始化。这是因为对象的构造由编辑器处理,不会像您可能期望的那样在游戏运行过程开始时进行。如果尝试为脚本组件定义构造函数,将会干扰 Unity 的正常运行,并可能导致项目出现重大问题。似乎以前的官方文档(?不知道是不是)还有更加明确的说明:Avoid using the constructor. 避免使用构造函数Never initialize any values in the constructor. Inst原创 2020-08-15 15:03:37 · 3292 阅读 · 4 评论