- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 创建正六边形地形块 - 平面
正六边形,内角120度,中心点到每个顶点的距离都一样,是边长。显示创建变长为1的正六边形,创建出来后的地形近似为正方形。
2023-11-03 17:11:54
454
原创 unity面试八股文 - 常用工具与算法
首先,你需要定义一个地图或者格网。这个地图上标记出起始点、目标点以及所有不能通过(例如墙壁或障碍物)的区域。
2023-10-24 15:57:08
1860
2
原创 unity面试八股文 - 框架设计与资源管理
AssetBundle:AssetBundle 是 Unity3D 的一种资源打包方式,可以将场景、模型、贴图、材质、Shader 等各种类型的资源进行打包,并在运行时动态加载。:在Unity编辑器中,选择“Window > Photon Unity Networking > Highlight Server Settings”,在Inspector窗口中输入你的应用ID(从Photon网站获取)。你可以将游戏中的各种资源打包成AssetBundle,然后在运行时动态加载。
2023-10-16 18:15:08
1583
原创 动态加载sprite是multiple模式(即该sprite包含了很多小图)里的小图
但是如果这个sprite是multiple模式(即该sprite包含了很多小图),那么上述代码就不能满足需求了。在Unity中,你可以通过Texture2D的EncodeToPNG()函数将Sprite或Texture2D保存为PNG图片。首先,你需要把你想要加载的资源放在一个名为"Resources"的文件夹内。以上代码会遍历sprites数组中的每个sprite,并将每个sprite保存为.png格式的图像文件。如果要加载Sprite下的multiple模式的图片,你需要知道这些图片的路径。
2023-10-16 16:52:25
2191
原创 unity面试八股文 - 基础篇
如果你需要更多控制和复杂的渲染选项(如颜色渐变, 填充, 遮罩等), 使用 Image. 如果你只是想简单地展示一个纹理并且不需要额外功能, 或者你正在处理不能转换为 Sprite 的纹理类型(例如WebCamTexture或RenderTexture)时,那么选择 Raw Image.
2023-10-12 15:15:49
3112
原创 找到距离最近的点,性能最好的方法
要找到距离最近的点并且性能最好,一种常用的方法是使用空间数据结构来加速搜索过程。这些空间数据结构可以根据实际需求选择和实现。构建数据结构的时间复杂度可能较高,但在之后的最近邻搜索过程中可以快速找到最近的点,从而提高性能。请注意,对于非常大的数据集,您可能还需要考虑使用更高级的数据结构或算法来进一步优化搜索效率。另外,如果点的数量不是非常大,你也可以使用简单的遍历方法,在遍历过程中计算并更新最近的点。这种方法的时间复杂度为O(n),其中n是点的数量。虽然这种方法的性能较差,但对于小规模的数据集可能是足够的。
2023-06-14 16:20:19
2103
原创 ScriptableObject上的prefab内容暂用,ScriptableObject详解
ScriptableObject是Unity引擎中的一种特殊类型,它允许你创建可扩展的、自定义的数据容器,用于在项目中存储和管理数据。它们非常适合存储那些不直接关联场景对象的数据,例如配置数据、游戏设置、AI行为树、技能和物品属性等。
2023-05-05 16:50:02
884
原创 行为设计模式-命令模式
命令模式(Command Pattern)是一种行为设计模式,它将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,同时支持请求的排队、记录日志、撤销和重做等操作。命令模式可以将请求的发送者和接收者解耦,以便在请求的生命周期内可以分别进行修改和复用。
2023-03-14 12:04:12
389
原创 [unity] 枚举实现为可多选的序列化属性
在Unity中,如果需要将枚举实现为可多选的序列化属性,可以使用System.Flags特性。在上面的代码中,myEnumValue字段使用EnumMaskField函数来绘制一个可多选的枚举属性面板。
2023-03-07 11:47:10
671
原创 [设计模式] 行为设计模式-组合模式
组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端可以以统一的方式处理单个对象和对象组合,从而使得在树形结构中处理对象更加简单和灵活。
2023-03-07 10:25:46
360
1
原创 [设计模式] 创建型设计模式
创建型设计模式是一类用于创建对象的设计模式,它们的共同目标是尽可能地降低对象创建的复杂度和耦合度,使得代码更加灵活、可扩展、易维护。
2023-03-07 09:57:25
126
原创 行为设计模式
行为设计模式可以帮助我们更好地组织代码,提高代码的复用性和可维护性。在游戏开发中,常常用到观察者模式来处理事件和消息的分发、迭代器模式来遍历游戏对象的集合、责任链模式来处理输入事件、策略模式来处理游戏中的AI行为等等。
2023-03-06 14:06:22
337
原创 [python] python 所有关键词及其含义和用法
以上就是 Python 所有关键词的含义和用法。在编写代码时,要注意避免将这些关键词用作变量名或其他标识符的名称。
2023-03-03 18:31:41
1742
原创 [C#] 多线程单例子,分为阻塞型和分阻塞型, 在unity里的应用
在单例中使用多线程时,需要注意以下几点:线程安全:在多线程环境下,单例对象可能被多个线程同时访问,因此需要确保单例的线程安全,避免出现数据竞争等问题。对象创建:如果在单例对象的构造函数中启动了新的线程,那么可能会在单例对象还没有完全创建完成时就开始执行线程。因此,在创建单例对象时需要考虑到线程的启动时机,可以使用懒汉式的延迟加载方式,在需要使用单例对象时再进行初始化。生命周期管理:如果在单例对象中启动了线程,那么需要考虑线程的生命周期管理,避免线程一直运行导致资源泄漏等问题。
2023-03-03 18:07:45
950
原创 [游戏架构] 有限状态机的实际应用
有限状态机(Finite State Machine,简称FSM)是一种常用的计算机科学中的建模工具,用于描述由离散状态和状态之间的转换组成的系统。它主要由一个有限的状态集合、一个初始状态、一个输入事件集合、状态之间的转换以及与每个状态相关联的输出动作组成。
2023-03-03 11:59:10
1244
1
原创 [unity] 游戏内的红点系统
在游戏中,通常需要给玩家提示一些未完成的任务或者活动,这些提示以红点的形式展示,被称为红点系统。红点系统可以帮助玩家了解当前有哪些任务或者活动需要完成,从而提高玩家的参与度和粘性。
2023-03-02 17:07:17
1809
原创 [架构设计] Entity-Component-System (ECS)架构
Entity-Component-System (ECS)架构:这是一种基于数据的架构,将游戏对象(Entity)表示为一组组件(Component)的集合,将游戏逻辑实现为系统(System),系统会根据组件的状态进行处理。这种架构具有高效、可扩展等优点,被广泛应用于游戏引擎中,例如Unity的DOTS框架。
2023-03-01 11:34:33
2212
原创 [框架设计] MVVM 的介绍,应用及优缺点
在MVVM中,View是完全独立于Model的,ViewModel则是连接View和Model的桥梁。View通过ViewModel访问Model中的数据和方法,ViewModel则将Model中的数据和方法转换为View中可用的形式。ViewModel还可以控制View的显示逻辑和用户交互,以使View更加易于维护和扩展
2023-02-28 11:04:20
2609
原创 [架构模型]MVC模型详细介绍,并应用到unity中
MVC模式是一种软件架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式的目标是实现应用程序的松耦合,以便在应用程序的不同部分进行更改时,不会影响到其它部分的代码。
2023-02-26 16:29:58
1166
原创 unity热更新新方案,ILRuntime
ILRuntime 是一个独立的、跨平台的 .NET Runtime,可用于在 Unity 中实现热更功能。使用 ILRuntime,您可以在游戏运行时加载和执行 C# 脚本,而不需要重新编译整个项目。
2023-02-25 20:03:30
1207
原创 [unity] async-awit的函数,怎么才能关闭这个函数呢,现在来解析
在上面的示例中,我们使用UnityWebRequest启动了一个异步请求,并使用isDone属性来检查异步操作是否已完成。在上面的示例中,我们在调用MyAsyncFunction函数后等待了一段时间,并在此之后使用Task对象的Cancel属性来取消异步操作。在上面的示例中,我们在MyAsyncFunction函数中使用了while循环来执行异步操作,并在满足某些条件时终止循环。Unity还提供了其他的异步API,如AsyncOperation和Task,您可以根据您的需要选择适合的方法来取消异步操作。
2023-02-24 11:31:48
1832
原创 [unity] 音频的二进制流转化为audioclip的两种方式
2、将返回的btye[]数组,使用filestream,先保存为mp3文件,然后,再用www类,读取本地文件,获取www,audioclip,在赋给audiosource,进行音频播放。audioSource.clip.SetData()方法,将音频数据赋给audiosource,实现语音播放;但这种只有wav很有可以直接用mp3需要第三方库,我没有试过。
2023-02-22 12:47:01
3650
原创 [unity] Enable Full StackTraces 的方法,打开泄漏检查的全堆栈显示
如果 unity 老是报错: A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces。
2023-02-22 10:26:29
3406
原创 学习python 01
看了下书,觉得python 起手式还挺简单,没事的时候学学,涨涨见识吧,每个语言都有他的特点,说python是很人性化的语言,拭目以待#打印日志print("hellow python")#定义函数def print_log(s_log): print(s_log)#等待输入input("等待输入中....)#循环name = "hunter'for i in range(len(name)) print(i, name[i])number = 5while number&g
2022-05-09 21:30:47
138
原创 [android] 查看 CERT.RSA
使用keytool命令keytool -printcert -file “/Users/aaaaa/Downloads/app-0310-1937/META-INF/CERT.RSA”
2021-06-16 11:36:10
788
原创 【unity】读取Excel 文件
需要把这两个文件加入plguin 文件夹下, Excel.dll 和ICSharpCode.SharpZipLib,官方链接 http://exceldatareader.codeplex.com/读取文件public class ExcelLoader { public static DataRowCollection ReadExcel(string path, string sheetName) { FileStream stre
2021-05-24 17:11:16
164
原创 [unity] [tool] 删除失效脚本
以前使用 prop.DeleteArrayElementAtIndex(j);但是现在unity 不允许这么操作,会报错It is not allowed to modify the data property因为unity自己提供了一个更方便的接口GameObjectUtility.RemoveMonoBehavioursWithMissingScript
2020-12-17 16:37:32
954
原创 [unity][Tool] 代码批量替换 playsetting里的 icon
节假日icon都会发生变化,但是每次手动拖就很麻烦,所以只要icon名字是一样的,只是在不同的文件夹下,就可以批量修改,一键搞定 private void SetPlatformIcon() { PlatformIconKind[] kinds = PlayerSettings.GetSupportedIconKindsForPlatform(BuildTargetGroup.iOS); for (int i = 0; i < kinds
2020-12-17 09:47:13
426
原创 [Unity] [UI] Layout Group
强制刷新 layout group运行时对layout group 大小进行设置,比如做一些动画,但是layout group没有刷新,导致位置错乱。所以需要强制刷新unity3D强制刷新Layout Group的方法://rectTransform为挂有Layout Group组件的RectTransform。LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);多层layout group 与 content size f.
2020-12-15 10:48:20
2455
1
原创 [Unity] Vector Graphics -使用 SVG矢量图
[2.0.0-preview.13] Vector Graphicsunity 支持 使用 SVG 矢量图,使用sprite的格式,UI 使用 SVGImage
2020-09-29 17:31:54
7362
2
原创 [Unity] UGUI 中获取点击的物体
点击物体,打印名字 if (Input.GetMouseButtonDown(0)) { PointerEventData eventData = new PointerEventData(EventSystem.current); eventData.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
2020-08-26 17:09:59
1672
原创 [unity]自带的录音功能Microphone 在iOS 和 android设置上使用 及 注意事项
获取录音设备, 返回值是设备名string[] mDevice = Microphone.devices;开始录音// 如果 _deviceName = null; 会选默认的录音输入口// _micSecond 为录音时常,最大不超过3600秒 //_frequency 采样率一般为44100,一定要大于0// 返回一个 audioClipCurAudioSource.clip = Microphone.Start(_deviceName, false, _micSecond, _.
2020-07-18 11:58:32
2553
2
原创 [Unity]多摄像机和UI的结合的问题
如果用UGUI 已经用了camera,在用其他camera是无法显示UI的,不过是的layer设置成什么。只要是UI组建的内容就无法显示。
2020-07-18 11:27:00
1228
原创 [Unit] 加载本地音频文件在 ios 和 android 设备上
如果出现这个报错Errror:“Cannot connect to destination host.”说明你的文件路径没有添加 "file://" private IEnumerator LoadAudio(string filepath) { filepath = "file://" + filepath; using (var uwr = UnityWebRequestMultimedia.GetAudioClip(fil
2020-07-09 14:21:55
1732
unity插件 Speech Recognition System 语音转文字
2023-02-17
unity 插件 Minimal LipSync
2023-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人