自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(215)
  • 收藏
  • 关注

原创 C#LINQ常用语法大全

文章目录取值First, FirstOrDefault检查计算转换排序组合创建取值First, FirstOrDefaultFirst()基本用法相当于List[0]。public static TSource First<TSource>( this IEnumerable<TSource> source );MSDN代码示例:public static c...

2020-04-11 17:29:12 4618 2

原创 《代码整洁之道》读书总结

不要偷懒,及时重构。

2024-08-02 16:28:42 714

原创 Unity关于Addressables.Release释放资源内存问题

使用释放资源时,通过MemoryProfiler检查内存信息发现加载的内容还在内存里面,经过一系列测试加上阅读文档和搜索资料后得出以下结论。1.资源引用计数未清零。每次通过Addressables加载资源会增加该资源引用计数,使用可以减少计数,直到计数清零才会释放该资源。2.Addressables.Release是异步操作。因为我写的资源管理器是对加载资源进行缓存的,不会重复加载,但是调用Release内存中依然保留了该资源。原因是因为是一个异步操作,即使释放了也不会马上清除内存,这时如果我们调用。

2024-06-25 15:34:30 531

原创 Unity定时(延迟)管理器实现

Unity中实现定时功能的方法有很多,比如协程、UpdateInvokeAsync等,可以说是五花八门,对于这类实现方法多、需求频繁的功能还是需要一个管理器来统一处理。

2024-06-21 14:24:30 561

原创 TS(TypeScript)中Array数组无法调出使用includes方法,显示红色警告

打开tsconfig.json文件,添加。

2024-05-27 21:52:44 551

原创 cocos发布试玩广告关于mraid的处理,以及跳转渠道链接

前段时间将制作完的试玩广告上传Applovin平台失败,反馈说需要对mraid和跳转进行处理。

2024-04-26 17:27:24 300

原创 cocos creator开发中遇到的问题和解决方案

总结一下使用cocos开发遇到的坑,不定期更新。

2024-04-10 20:52:06 704 2

原创 cocos 3.x版本如何基于ts在检视面板显示Enum枚举类型下拉列表

网上搜索到的大多是基于js或者旧版本cocos。这里记录一下ts显示Enum的方案,cocos版本使用的3.8.2。

2024-04-03 15:31:52 414

原创 cocos使用playable ads adapter打包试玩广告报错RangeError: Invalid string length

最近有做试玩广告的需求,引擎用的cocos,打包使用的playable ads adapter插件。不过最近打包遇到个奇怪的问题,就是通过插件打包报错RangeError: Invalid string length。因为之前也用空包和早期项目测试过都能顺利打包,经过一步步排查找到了问题所在。

2024-04-01 15:12:42 295 2

原创 游戏开发常用算法整理

简单来说,动态规划就是将一个问题拆分成一系列子问题,直到子问题可以直接解决。动态规划(英语:Dynamic programming,简称DP)是一种在数学、计算机科学、经济学和生物信息学中使用的方法,通过把原问题分解为相对简单的子问题的方式求解复杂问题。斐波那契数列是一个数字序列,其中每个数字是前两个数字的总和,但前两个数字分别为0和1。如1,1,2,3,5…从前向后扫描数据,把位置 i 的数据随机插入到前 i 个(包括第 i 个)位置中。时间复杂度为 O(n),空间复杂度为 O(n)。

2024-03-18 00:53:39 652

原创 A*(AStar)算法总结

A* 算法(念做:A Star)是一种常用的路径查找和图形遍历算法,具有较好的性能和准确度。让我为您简要介绍一下 A* 算法的原理和实现。

2024-03-17 18:07:57 1089

原创 Unity中实现捏脸系统

以上就是捏脸系统的实现,也可以通过该方案捏身材。

2024-01-21 20:27:08 1765

原创 C#监听Dictionary、List的写入操作

在开发中,对于内置值类型和string我们可以通过封装属性在中监听写入操作,但是对于等就不能监听到等写入操作。所以一般采取两种方式监听它们的读写操作,一种是封装操作方法,间接进行监听,第二种就是重写和等方法。下面介绍第二种方法。

2024-01-14 01:26:12 771

原创 浮点数(float、double)精度损失问题

以前简单了解过浮点数的精度损失问题,但是没有系统整理过。😂。

2023-12-28 02:24:42 751

原创 C#中枚举Enum特性Flags和Enum.HasFlag(Enum)用法

学习前需要了解位运算相关知识点。

2023-12-21 20:12:48 1411

原创 游戏开发相关

格斗游戏相关术语

2023-11-29 20:55:34 464

原创 Unity内打开网页的两种方式(自带浏览器、内嵌浏览器)

这个比较简单,直接调用unity官方的API即可,会直接使用默认浏览器打开网页,这里就不多做解释了。另一种方案是使用unity store里的插件实现的。实现具体需求参考插件文档即可,还是蛮详细的。使用该插件不会切出APP。

2023-11-01 17:34:39 5118

原创 C# 元组(Tuple)VS中无法编译问题

元组的用法就不多赘述了,可以参考。这里着重讲下元组在VS环境下无法编译识别的问题。

2023-06-21 15:30:16 669 1

原创 Unity 显示Raycast Padding区域

Raycast Padding 是一个在Unity2020.1左右添加的功能,它可以让你在不改变RectTransform的值的情况下,调整Image或Text等UI对象的射线检测区域。你可以设置四个参数来控制上下左右的边距。这个功能很实用,在推出这个功能之前如果遇到点击区域过大或者过小的问题,只能通过新建Image并设置透明来做正确的点击区域。但是这个功能有个鸡肋的地方,就是无法通过视图Scene显示直观的知道区域变化(吐槽一下官方怎么没考虑到这个问题,很多开发者在论坛反馈)。

2023-04-25 22:08:17 1629 1

原创 Unity 位运算介绍及使用

位运算是指对二进制数的位(bit)进行操作的运算符,可以实现一些高效的逻辑和数学运算。:只有两个位都是1,结果才是1;:只要两个位有一个是1,结果就是1;:如果位为0,结果是1,如果位为1,结果是0;:两个操作数的位中,相同则结果为0,不同则结果为1;:左移表示乘以2,左移多少位表示乘以2的几次幂;:右移表示除以2,右移多少位表示除以2的几次幂;:无论左侧操作数的类型如何,高顺序空位位置始终设置为零。

2023-04-19 10:27:35 1522 1

原创 Unity 使用RenderTexture显示黑屏、重影、锯齿解决方法

脚本new一个纹理贴图,而不是用序列化拖拽的RenderTexture。调整RenderTexture的antiAliasing抗锯齿参数即可。抗锯齿值必须是(1, 2, 4 或者 8)之一,表明每像素样本的数量。只需要将Camera的Clear Flags设置为。我择中使用的是4,在移动端上锯齿就不那么明显了。

2023-03-21 17:14:38 3793 3

原创 Unity 2020 URP Camera UI相机问题

现在正在开发中的项目使用的URP,发现相机结构有变化直接使用场景相机和UI相机无法正常显示。

2022-12-09 14:43:49 3411 5

原创 Unity ILRuntime Debugger使用及常见问题

ILRuntime支持在VS中断点调试,说一下ILRuntime Debugger的使用及常见问题。

2022-12-07 16:11:30 2232 1

原创 Unity实现Text BestFit文本超框时再缩小字体

因为要做多语言自适应功能,但是Unity自带的BestFit超过一行后就会自动缩小字体,想要的效果是文本满框后再缩小字体,所以需要重写OnPopulateMesh绘制部分。

2022-09-27 11:22:10 2951 2

原创 Unity截图功能并使用UI显示

最近在做一个房间装修项目,有一个功能需要对比装修前后的效果,经过考虑决定使用截图功能制作。

2022-07-15 15:11:34 1405

原创 Unity Editor编辑器开发相关知识点

EditorPrefsUnity编辑器为开发者提供了类似PlayerPrefs的数据保存方式EditorPrefs。EditorPrefs是适用于编辑器模式,而PlayerPrefs适用于游戏运行时。示例代码 bool currentValue = EditorPrefs.GetBool(key, false); bool newValue = GUILayout.Toggle(currentValue, label); Edito

2022-05-17 18:11:50 1471

原创 Unity编辑器界面绘制之GUIStyle和GUISkin的使用

前言合理使用GUIStyle可以让自定义编辑器界面更加精致美观。而GUISkin是用于本地化储存GUIStyle的,更方便使用。GUIStyle代码示例 private GUIStyle _tabStyle; _tabStyle = new GUIStyle(); _tabStyle.alignment = TextAnchor.MiddleCenter; //字体对齐 _tabStyle.fontSize = 16; /

2022-05-17 11:40:37 2166

原创 Unity Gizmos使用绘制

前言正文Gizmos绘制要使用到两个函数,分别是OnDrawGizmos和OnDrawGizmosSelected。当有脚本中

2022-05-11 17:00:58 3917

原创 Unity项目性能优化整理

1.Mono下减少foreach使用,频繁调用容易触及堆上限,导致GC过早触发,出现卡顿现象。尤其是Update中如果非必要不要使用foreach。会产生GC Alloc。2.频繁修改的string应使用StringBuilder。3.gameObject.tag会在内部循环调用对象分配的标签属性以及拷贝额外的内存,推荐使用gameObject.CompareTag(“xxx”)来代替.tag。4.贴图压缩:(1).能使用九宫格就不要使用大图。(2).可以上tinypng网站对原始图片进行压缩。

2022-05-07 17:55:36 2626 3

原创 Unity 2D游戏跳跃优化

2D游戏跳跃下落速度问题有些2D游戏会感觉到向上跳跃和下落速度不一致,感觉下落时更干脆一些,比如马里奥,不过也跟具体的项目需求手感有关系。直接上代码。下面是优化下落速度手感的代码。using UnityEngine;public class BettlerJump : MonoBehaviour{ public float fallMultiplier = 2.5f; //下落速度倍数 public float lowJumpMultiplier = 2f; //长按跳跃

2022-05-04 02:52:15 2495

原创 Slua中的iter和IsNull用法

iter:在lua中遍历IEnumertable对象c#中使用foreach语句遍历IEnumertable,例如List,Array等, 在slua中,可以使用Slua.iter作为迭代函数遍历这些对象, 例如: for t in Slua.iter(Canvas.transform) do print("foreach transorm",t) endIsNull:判断GameObject是否为null因为Unity GameObject被destroy后,并不是真正的nul

2022-04-20 10:59:24 2915 1

原创 Unity的LayoutGroup和ContentSizeFitter同时使用时,动态改变子节点不会刷新位置的问题

前言做图文混排同时用到了LayoutGroup和ContentSizeFitter组件(图文混排教程),发现带有ContentSizeFitter的Text通过代码修改文本内容后UI布局并没有自动刷新。解决方案通过ForceRebuildLayoutImmediate强制刷新UI布局。 //传入带有LayoutGroup组件对象的RectTransform UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(ui.rectTrans

2022-03-29 09:52:48 4344

原创 Unity使用自带组件实现图文混排自适应

1.背景图片跟随文字长度变化新建UI结构。在Image上挂载组件ContentSizeFitter和HorizontalLayoutGroup。根据需求调整跟随宽还是高,调整对应参数即可。混排的对齐方向调整父节点(例子中是名为Image的游戏对象)的Pivot即可。2.图文混排自适应示意图新建UI结构。在Image上挂载组件ContentSizeFitter和HorizontalLayoutGroup。根据需求调整跟随宽还是高,调整对应参数即可。但是我们会发现Icon上的Imag

2022-02-21 18:17:49 4121 1

原创 Unity粒子特效UI层级问题

前言方案一,使用shader解决下面介绍下用unity自带组件处理粒子特效层级问题。可以先了解下相关知识。Unity中Depth、SortingLayer、Order in Layer和RenderQueue的讲解解决方法通过给UI添加Canvas组件然后调整Order In Layer实现层级区分,如果UI没添加Canvas的话默认和父级Canvas中的Order In Layer保持一致。Order In Layer越大就显示在越上层。粒子特效中也有Order In Layer选项,根据具

2022-02-21 17:40:26 9871

原创 游戏设计思考

不定期收录文章,排名不分先后。—分隔符—游戏基础知识——玩家的“掌控力”可能比“心流”更加重要描述了游戏策略和熟练度的重要性。作者总结的几点我还是有切身体会的的。比如说最近在玩的《云顶之弈》,刚开始玩为了快速上手就依赖攻略中提供的阵容,而且由于对游戏的熟练度不足在排位赛中阵容搭配也不敢去尝试其他。最近在玩的《永劫无间》段位打到了蚀月一,但是由于账号被盗封禁了只能重新玩小号。在青铜局炸鱼还是很有爽快感的,但是这种快感更多的来源于炫耀和对游戏机制的掌控吧。总的来说对于游戏设计有更多的思考才更能

2022-02-17 14:05:53 1473

原创 游戏数值相关

全景解构射击游戏枪械数值设计

2022-02-17 11:48:57 906

原创 Unity 背景图片自适应Text长度

前言用Unity自带插件也可以实现同样效果,不过封装成脚本使用更方便。效果使用方法给Text组件挂上UIChildSizeMgr脚本和ContentSizeFitter组件,设置如图所示,文字图片对齐方向调整锚点即可。一个Text组件可以关联多个对象,具体参数根据需求调配。代码using System;using System.Collections.Generic;using UnityEngine.UI;using UnityEngine.EventSystems;using S

2022-02-17 09:25:31 2596 2

原创 游戏UI设计

UI动效设计半周谈

2022-02-08 17:23:26 1128

原创 游戏关卡设计

游戏设计集 · 什么是关卡设计 & 如何制作游戏关卡

2022-02-08 17:19:04 1241

原创 Unity将物体绑定在spine动画骨骼节点上

实现1.在目标spine动画下新建一个空物体。2.给空物体添加BoneFollwer脚本(sprite动画添加BoneFollwer, ui动画添加BoneFollowerGraphic)。此时spine动画上会显示出骨骼节点。3.选择需要挂载的目标骨骼节点。此时运行会发现挂有该脚本的物体会跟随选中的骨骼节点移动。4.给挂有脚本的物体下附加目标即可完成跟随。代码写个管理器方便使用。using Spine.Unity;using System.Collections;using

2022-01-25 18:31:11 8457

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除