[Unity] Dreamteck Splines实现沿路径移动功能
Dreamteck Splines实现沿路径移动功能 最近有一个“让物体沿固定路径移动”的需求,因此接触到了Dreamteck Splines插件。 Dreamteck Splines可以很方便地绘制各种插值曲线,但在实现物体移动的时候却遇到了很多坑,因此在这里记录一下。 1. 绘制路径线 ...[2024/7/15]
Unity 利用Cache实现边下边玩
现在手机游戏的常规更新方案都是在启动时下载所有资源更新,游戏质量高的、用户粘性大的有底气,先安装2个G,启动再更新2个G,文件小了玩家还觉得品质不行不想玩。 最近在做微信、抖音小游戏,使用他们提供的资源缓存方案,现在要转成Android APP, 也想用这种边下边玩的机制把首包做小。 其实很...[2024/6/17]
[Unity] 实现AssetBundle资源加载管理器
实现Unity A etBundle资源加载管理器 A etBundle是实现资源热更新的重要功能,但Unity为其提供的API却十分基(jian)础(lou)。像是自动加载依赖包、重复加载缓存、解决同步/异步加载冲突,等基础功能都必须由使用者自行实现。 因此,本篇博客将会介绍如何实现一个A ...[2024/5/24]
扩展实现Unity协程的完整栈跟踪
现如今Unity中的协程(Coroutine)机制已略显陈旧,随着Unitask等异步方案的崭露头角,诸如协程异常等问题也迎刃而解 并且Unity官方也在开发一套异步方案,但对于仍使用协程的项目,依旧需要在这个方案上继续琢磨。 众所周知Unity协程中无法输出完整的栈跟踪,因...[2024/5/13]
iOS使用Unity容器动态加载3D模型
项目背景 我们的APP是一个数字藏品平台,里面的很多藏品需要展示3D模型,3D模型里面可能会包含场景,动画,交互。而对应3D场景来说,考虑到要同时支持iOS端,安卓端,Unity是个天然的优秀方案。 对于Unity容器来说,需要满足如下的功能: 1.在APP启动时,需要满足动态下载最新的模型文件。...[2024/3/7]
【Unity3D】Unity与Android交互
1 前言 ? 本文主要介绍 Unity 打包发布 Android apk 流程、基于 AndroidJavaObject(或 AndroidJavaCla )实现 Unity 调用 Java 代码、基于 UnityPlayer 实现 Java 调用 Unity 代码,官方介绍见→Andro...[2024/2/21]
Unity学习笔记--数据持久化之PlayerPrefs的使用
数据持久化 PlayerPrefs相关 PlayerPrefs是Unity游戏引擎中的一个类,用于在游戏中存储和访问玩家的偏好设置和数据。它可以用来保存玩家的游戏进度、设置选项、最高分数等信息。PlayerPrefs将数据存储在本地文件中,因此可以在游戏重新启动时保持数据的持久性。 Play...[2023/11/20]
Unity进阶提升-2D游戏跳跃手感优化(跳起下落)
在进行2D游戏开发时,跳跃是不可缺少的一个重要功能。但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服。所以,我们需要自己对跳跃进行优化,以此来获得更好的手感。我们不难发现,在绝大多数2D游戏的跳跃中,下落的速度比上升的速度要快...[2023/10/30]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(12) -- 使用代码生成工具Database2Sharp生成WPF界面代码
在经过基于SqlSugar框架的WPF应用端系统界面及模块的不断优化和重构后,视图界面及视图模型等代码已趋稳定,因此完成前面的介绍后,现在开始统一基于代码生成工具Database2Sharp进行WPF应用端界面代码的快速生成了,代码除了和WPF应用端的基类保持一致处理外,并添加一些注释代码,整合...[2023/10/25]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(11) -- 下拉列表的数据绑定以及自定义系统字典列表控件
在我们开发的前端项目中,往往为了方便,都需对一些控件进行自定义的处理,以便实现快速的数据绑定以及便捷的使用,本篇随笔介绍通过抽取常见字典列表,实现通用的字典类型绑定;以及通过自定义控件的属性处理,实现系统字典内容的快捷绑定的操作。 1、下拉列表的数据绑定 在我们创建下拉列表的时候,我们一般处理...[2023/10/23]
【Unity3D】UI Toolkit样式选择器
1 前言 ? UI Toolkit简介 中介绍了样式属性,UI Toolkit容器 和 UI Toolkit元素 中介绍了容器和元素,本文将介绍样式选择器(Selector),主要包含样式类选择器(Cla Selector)、C# 类选择器(Type Selector)、名称选择器(Na...[2023/10/20]
【Unity3D】UI Toolkit容器
1 前言 ? UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery、Debugger,UI Toolkit元素 中介绍了 Label、Button、TextField、Toggle、Radio Button、Slider、Progre Bar、Dropdown...[2023/10/19]
【Unity3D】水面特效
1 前言 ? 水波特效 中通过屏幕后处理实现了环形水波效果,本文通过 Shader Graph 实现了模拟水面特效,包含以下特效细节。Shader Graph 基础知识详见→Shader Graph简介、Shader Graph节点、程序纹理简单应用。 深水区和浅水区颜色差异; 水面有波...[2023/10/18]
【Unity3D】Shader Graph节点
1 前言 ? Shader Graph 16.0.3 中有 208 个 Node(节点),本文梳理了 Shader Graph 中大部分 Node 的释义,官方介绍详见→Node-Library。 ? 选中节点后,右键弹出菜单栏,点击 Open Documentation(或 按 ...[2023/10/17]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(9) -- 实现系统动态菜单的配置和权限分配
在WPF应用端开发,它的界面类似于Winform端,因此我们也需要对系统的菜单进行动态配置,这样才能把系统的功能弹性发挥到极致,通过动态菜单的配置方式,我们可以很容易的为系统新增所需的功能,通过权限分配的方式,可以更有效的管理系统的菜单分配到不同的角色用户,本篇随笔介绍在WPF应用端中实现系统动...[2023/10/17]
【Unity3D】动态路径特效
1 前言 ? 本文通过导航系统(NavMeshAgent)和线段渲染器(LineRenderer)实现了角色走迷宫和绘制路径功能,同时实现动态路径特效。 ? 导航系统的介绍详见博客:导航系统、分离路面导航、动态路障导航。线段渲染器的介绍详见博客:线段渲染器LineRenderer。...[2023/10/13]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(5) -- 树列表TreeView的使用
在我们展示一些参考信息的时候,有所会用树形列表来展示结构信息,如对于有父子关系的多层级部门机构,以及一些常用如字典大类节点,也都可以利用树形列表的方式进行展示,本篇随笔介绍基于WPF的方式,使用TreeView来洗实现结构信息的展示,以及对它的菜单进行的设置、过滤查询等功能的实现逻辑。 1、Tr...[2023/9/19]
Unity 游戏开发、03 基础篇 | C#初级编程
C#初级编程 https: learn.u3d.cn/tutorial/beginner-gameplay-scripting 8 Update 和 FixedUpdate Update(不是按固定时间调用的) 经常用于 移动非物理特性的物体(不是物理对象) 简单定时器 接收输入 Fix...[2023/9/15]
Unity 游戏开发、01 基础篇 | 知识大全、简单功能脚本实现
2.3 窗口布局 Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | D...[2023/9/13]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(3)--自定义用户控件
在我们创建界面元素的时候,不管在Vue3+ElementPlus的前端上,还是Winform桌面端上,都是会利用自定义用户控件来快速重用一些自定义的界面内容,对自定义用户控件的封装处理,也是我们开发WPF应用需要熟悉的一环。本篇随笔继续深入介绍介绍基于CommunityToolkit.Mvvm ...[2023/9/13]
Unity 游戏开发、01 基础篇 | 阿发入门篇全课程学习笔记
Unity Documentation 、全课程视频 、第15,24章视频 afanihao Unity入门,全课程内容个人学习笔记,简单部分一笔带过,重点内容带 ? 2.3 窗口布局 Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Gam...[2023/9/11]
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(1)
在我们的SqlSugar的开发框架中,整合了Winform端、Vue3+ElementPlus的前端、以及基于UniApp+Vue+ThorUI的移动前端几个前端处理,基本上覆盖了我们日常的应用模式了,本篇随笔进一步介绍前端应用的领域,研究集成WPF的应用端,循序渐进介绍基于CommunityT...[2023/9/9]
Unity UGUI的Scrollbar(滚动条)组件的介绍及使用
Unity UGUI的Scrollbar(滚动条)组件的介绍及使用 一、什么是Scrollbar组件? Scrollbar组件是Unity中UGUI系统提供的一种UI组件,主要用于在UI界面中提供滚动条功能,使用户可以通过滚动条来查看超出屏幕范围的内容。 二、Scrollbar组件是如何工作的?...[2023/9/4]
# Unity 如何获取Texture 的内存大小
Unity 如何获取Texture 的内存大小 在Unity中,要获取Texture的内存文件大小,可以使用UnityEditor.TextureUtil类中的一些函数。这些函数提供了获取存储内存大小和运行时内存大小的方法。由于UnityEditor.TextureUtil是一个内部类,我们需要...[2023/8/18]
【Unity3D】激光雷达特效
1 由深度纹理重构世界坐标 ? 屏幕深度和法线纹理简介中对深度和法线纹理的来源、使用及推导过程进行了讲解,本文将介绍使用深度纹理重构世界坐标的方法,并使用重构后的世界坐标模拟激光雷达特效。 ? 本文完整资源见→Unity3D激光雷达特效。 ? 1)重构像素点世界坐标 ? ...[2023/8/14]
Unity的AssetPostprocessor之Model:深入解析与实用案例 1
Unity A etPostproce or模型相关函数详解 在Unity中,A etPostproce or是一个非常有用的工具,它可以在导入资源时自动执行一些操作。在本文中,我们将重点介绍A etPostproce or中与模型相关的函数,并提供多个使用例子。 OnPostproce Mod...[2023/8/11]
【Unity3D】高斯模糊特效
1 高斯模糊原理 ? 边缘检测特效中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考边缘检测特效。 ? 本文完整资源见→Unity3D高斯模糊特效。 ? 我们将用于模糊处理的卷积核称为模糊算子,它一般满足以下条...[2023/8/11]
Unity的UnityStats: 属性详解与实用案例
UnityStats 属性详解 UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化。本文将详细介绍 UnityStats 的每个属性值,并提供多个使用例子帮助开发者更好地使用 UnityStats。 帧...[2023/8/9]
【Unity3D】反射和折射
1 前言 ? 立方体纹理(Cubemap)和天空盒子(Skybox)中介绍了生成立方体纹理和制作天空盒子的方法,本文将使用立方体纹理进行采样,实现反射、菲涅耳反射和折射效果。另外,本文还使用了 GrabPa 抓取屏幕图像,替代立方体纹理,作为折射的采样纹理。 ? 立方体纹理采样原...[2023/8/9]
Unity的IUnityLinkerProcessor:深入解析与实用案例
Unity IUnityLinkerProce or Unity IUnityLinkerProce or是Unity引擎中的一个接口,它允许开发者在Unity项目构建时对代码进行链接处理。这个接口可以用来优化项目构建大小,减少不必要的代码和资源,提高项目的性能和加载速度。 接口定义 IUni...[2023/8/7]
Unity的IFilterBuildAssemblies:深入解析与实用案例
Unity IFilterBuildA emblies Unity IFilterBuildA emblies是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目时自定义哪些程序集需要被包含在构建中,哪些程序集需要被排除在建之外。这个功能可以帮助开发者更好地控制项目的构建过程,减少构...[2023/8/4]
Unity的IPreprocessBuildWithReport:深入解析与实用案例
Unity IPreproce BuildWithReport Unity IPreproce BuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目时自动执行一些操作,并且可以获取构建报告。这个功能可以帮助开发者提高工作效率,减少手动操作的时间和错误率。...[2023/8/2]
Unity UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用
Unity UGUI的PhysicsRaycaster (物理射线检测)组件的介绍及使用 1. 什么是PhysicsRaycaster组件? PhysicsRaycaster是Unity UGUI中的一个组件,用于在UI元素上进行物理射线检测。它可以检测鼠标或触摸事件是否发生在UI元素上,并将事...[2023/7/28]
Unity UGUI的PointerEventData的介绍及使用
Unity UGUI的PointerEventData的介绍及使用 1. 什么是PointerEventData? PointerEventData是Unity中UGUI系统中的一个重要组件,用于处理用户输入的指针事件。它可以获取用户的点击、拖拽、滚动等操作,并提供了一系列的属性和函数来处理这些...[2023/7/28]
Unity UGUI的EventSystem(事件系统)组件的介绍及使用
Unity UGUI的EventSystem(事件系统)组件的介绍及使用 1. 什么是EventSystem组件? EventSystem是Unity UGUI中的一个重要组件,用于处理用户输入事件,如点击、拖拽、滚动等。它负责将用户输入事件传递给合适的UI元素,并触发相应的事件回调函数。 2....[2023/7/26]
Unity的OnOpenAsset:深入解析与实用案例
Unity OnOpenA et 在Unity中,OnOpenA et是一个非常有用的回调函数,它可以在用户双击资源文件时自动打开一个编辑器窗口。这个回调函数可以用于自定义资源编辑,提高工作效率。本文将介绍OnOpenA et的使用方法,并提供三个使用例子。 OnOpenA et的使用方法 O...[2023/7/10]
【Unity3D】魔方
1 需求实现 ? 绘制魔方 中基于OpenGL ES 实现了魔方的绘制,实现较复杂,本文基于 Unity3D 实现了 2 ~ 10 阶魔方的整体旋转和局部旋转。 ? 本文完整代码资源见→基于 Unity3D 的 2 ~ 10 阶魔方实现。下载资源后,进入【Build/Window...[2023/6/19]
.net开发者应掌握的利器CommunityToolkit.HighPerformance——MemoryOwner与SpanOwner
MemoryOwner和SpanOwner都可以理解为是对ArrayPool<>的一个包装,无非一个是在堆栈上,一个是在托管堆上。既然做了包装,那肯定随之而来就是改进和优化。 目录MemoryOwner<>MemoryOwner<>解决的问题SpanOwn...[2023/6/2]
如何在 🤗 Space 上托管 Unity 游戏
你知道吗?Hugging Face Space 可以托管自己开发的 Unity 游戏!惊不惊喜,意不意外?来了解一下吧! Hugging Face Space 是一个能够以简单的方式来构建、托管和分享项目或应用样例的平台。虽然通常更多地是应用在机器学习样例中,不过实际上 Space 还可以用来...[2023/5/10]
一文详解Unity3D?AudioSource组件使用示例
目录1 简介1)AudioSource 与 AudioListener 简介2)AudioSource 面板属性3)代码控制音频播放2 应用1)游戏界面2)游戏对象层级结构3)AudioSource 组件4)脚本组件5)运行效果 1 简介 1)AudioSource 与 AudioListe...[2023/3/27]
Unity JobSystem使用及技巧
什么是JobSystem 并行编程 在游戏开发过程中我们经常会遇到要处理大量数据计算的需求,因此为了充分发挥硬件的多核性能,我们会需要用到并行编程,多线程编程也是并行编程的一种。 线程是在进程内的,是共享进程内存的执行流,线程上下文切换的开销是相当高的,大概有2000的CPU Circle...[2023/3/22]
VS?Code里使用Debugger?for?Unity插件调试的方法(2023最新版)
目录问题环境问题定位解决方案如何在新的Visual Studio Code+Unity环境里使用Debugger for Unity进行调试方案1.降级(不推荐)方案2.躲bug生成Launch.json(推荐)方案3.手动配置Launch.json参考文章 问题 换了台开发机,重新安装了下开发...[2023/2/6]
Unity3D应用之时钟与钟表小组件的使用教程
目录一、前言二、效果图及源工程下载三、实现3-1 场景搭建3-2 代码实现四、后言 一、前言 又见面了哈,今天为大家介绍时钟、钟表的实现方法教程。 实现的方法有很多,这里只是提供了一个思路,本着抛砖引玉的心态,希望能和大家共同学习。 二、效果图及源工程下载 效果图: 源工程...[2023/2/1]
基于Unity3D实现仿真时钟详解
目录一、前言二、时钟小工具开发2-1、搭建UI2-2、实现脚本 一、前言 今天实现一个时钟工具,其实在之前已经完成了一个简单的时钟工具:【Unity3D应用案例系列】时钟、钟表小组件开发。 那么,今天的这个小工具跟之前的有啥区别呢? 之前的时钟,是模拟真实时间时针分针秒针的旋转,比如: ...[2023/2/1]
Unity调用C++?dll实现打开双目相机
目录1.vs中生成dll2.unity中justatry脚本3.在unity中调试4.在vs中调试4.1 把unity的工程生成对应的exe4.2 在vs项目的属性中做如下设置4.3 在VS工程的属性中的输出目录设置为上面的目录5.注意vs和unity的平台x86/x64要对应5.1 vs x86/...[2022/5/9]
原生实现C#与Lua相互调用方法(Unity3D可用)
目录引言一、编译Lua动态链接库1. 编译Windows下使用的DLL文件2. 编译Android下使用的SO文件二、编写C#使用的API1. 动态链接库在Unity中的存放位置。2. 编写C#的API[LuaDll.cs]3.需要注意的几个地方三、C#与Lua的相互调用举例1. C#中创建Lua环...[2022/4/18]
基于Unity实现2D边缘检测
目录一、ShaderLab1.Alpha值边缘检测2.卷积边缘检测二、ShaderGraph 一、ShaderLab 1.Alpha值边缘检测 根据图片的Alpha值边缘判定,向内扩一段距离做边缘,颜色设置未描边颜色; 片元着色阶段,向上下左右四个方向做检测,有一个点的透明度为0,...[2022/4/11]
C#使用Unity实现IOC
一、什么是IOC 学习IOC之前先来了解一个依赖导致原则(DIP),依赖导致原则是IOC的核心原理。 依赖导致:即上层模块不应该依赖于低层模块,二者应该通过抽象来依赖。依赖于抽象,而不是依赖于细节。 首先来看下面的例子: 1、定义一个接口,封装数据库的基本CRUD操作,接口定义如下:...[2022/3/8]
Unity实现批量Build打包详解
一般来讲如果项目是PC或Android、IOS端不会有批量Build打包这样的需求,但如果项目是WebGL端可能会遇到这样的需求:不同场景打包成不同的包体,入口是前端在页面中布局的,点击链接打开相应的程序。依次手动打包比较繁琐而且需要等待很长时间,因此写了批量Build这样的功能,下班时点击Bui...[2021/12/15]
Unity实现游戏伤害数字显示HUD的方法
目录伤害数字显示HUDDemo展示HUDPopup类 伤害数字显示HUD 游戏中收到伤害掉血,会有飘动的伤害数值; 可以使用OnGUI中GUI.Label来实现; 可自定义字体,颜色,大小等; 如果需要更好看的数字特效,可以手动添加; 普通字体不够好看可以使用插件FontEdit...[2021/10/25]