- 博客(242)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Unity性能优化之Gpu加速:利用CUDA加速Unity实现大规模并行计算。从环境搭建到实战案例
本文介绍了如何在Unity中集成CUDA加速计算,通过GPU并行处理提升计算密集型任务性能。主要内容包括: 技术背景:对比CUDA与Compute Shader的差异,指出CUDA在NVIDIA硬件上性能优势明显,适合大规模计算任务。 环境搭建:详细说明硬件要求(NVIDIA显卡)、软件安装(CUDA Toolkit、VS2022)及验证方法。 实战案例:以向量相加为例,展示三层架构实现: CUDA核心代码编写 C++中间层封装 Unity通过DLL调用 性能对比:通过处理1000万元素向量,突显CUDA并
2025-10-28 10:09:18
1063
原创 Unity shader glsl着色器特效之 模拟海面海浪效果
一个简单的海浪效果,通过波的叠加实现水面起伏的动效,再根据法线贴图和水花贴图来增强细节,最后通过调整uv的平滑移动来增强海浪移动的细节。前置效果图因为是很久以前写的文章,贴图已经找不到了,百度随便下载了两张看看效果水波部分使用4个不同参数的Gerstner波叠加,不同波长(10m/5m/3m/7m)不同传播方向(0°/45°/90°/135°),动态计算顶点偏移量:通过交叉计算切线/副切线生成基础法线,叠加噪声贴图增加细节:水花效果实现,基于表面坡度检测生成水花:光源反馈采用菲涅尔反射效果:动
2025-02-20 02:09:10
1282
2
原创 C++自研3D教程OPENGL版本---动态批处理的基本实现
动态更新:使用 GL_DYNAMIC_DRAW 标志更新顶点缓冲区,适用于频繁变化的顶点数据。通过动态批处理,你可以有效地减少绘制调用,提高渲染性能,特别是在需要渲染大量小对象的场景中。负责管理顶点数据、更新顶点缓冲区和渲染。如果顶点数据频繁变化,可以预先分配足够的内存,避免频繁调用 glBufferData。主循环:每一帧清空批处理数据,添加新的顶点数据,更新缓冲区并渲染。在多线程环境中,可以将顶点数据的更新和渲染分离到不同的线程中。顶点和片段着色器:简单的着色器,用于渲染带颜色的三角形。
2025-02-07 08:59:08
514
原创 llama3 微调教程之 llama factory 的 安装部署与模型微调过程,模型量化和gguf转换。
本文记录了从环境部署到微调模型、效果测试的全过程,以及遇到几个常见问题的解决办法,亲测可用(The installed version of bitsandbytes was compiled without GPU support. NotImplementedError: Architecture ‘LlamaForCausalLM’ not supported!
2024-05-17 16:05:03
25322
61
原创 GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议
godot游戏引擎简介,与unity引擎的2d/3d渲染性能测试,以及技术选型建议
2023-08-05 16:39:09
27227
3
原创 unity shaderlab特效之 建筑结构科技透视效果 贴近消失远离显示
本文介绍了一种用于建筑结构透视展示的Shader效果,实现了近距透明(离镜头越近越透明)和毛玻璃质感相结合的效果。文章提供了两种实现方案:基础版仅实现距离渐变透明,进阶版增加毛玻璃质感。核心思路是通过顶点着色器计算模型顶点到相机的距离,动态调整透明度,并在片元着色器中结合法线与视角方向增强边缘光效。参数可调包括透明距离范围、透明强度比例等,适用于建筑演示场景,确保内部结构清晰可见。使用步骤包括创建材质、参数调节和模型应用,最终效果可避免近景遮挡,提升展示体验。
2020-11-24 16:40:02
4163
10
原创 unity 使用粒子系统 实现一个火焰燃烧效果
本文是一篇详细的火焰特效制作教程,分为PS素材制作和Unity粒子系统实现两部分。首先通过PS钢笔工具绘制火焰形状,叠加不同羽化值的图层制作动态火苗素材并导出PNG。然后在Unity中创建粒子系统,导入火焰素材并分割为4帧动画,调整发射形状、粒子生命周期、速度等参数,最后通过Size over Lifetime曲线控制火焰大小变化,实现动态燃烧效果。教程提供了完整的素材和步骤说明,适合特效制作初学者学习。
2020-07-05 08:48:33
18070
16
原创 unity particle system 粒子系统 制作闪电放电效果
unity 粒子系统制作闪电制作闪电效果的方法有以下几种:2d动画方式(适合2d游戏的背景或范围技能,性能最好,效果看设计师水平)LineRenderer划1线的方法(可以动态设定起点和终点,适合需要指定放电目标的场景)trail拖尾的方法(同2)粒子系统的方法(性能最差,效果最好,花样最多最省事)本文描述粒子系统的构建方式创建粒子对象在Hierarchy窗口中点击右键 => particle system场景中即可出现粒子对象设置起点和粒子发射形状在Inspector创空
2020-06-22 03:19:21
12369
10
原创 5分钟了解Ai 之 深度学习 自动玩游戏 (含pytorch、tensorflow2实现dqn网络)
本文介绍了基于深度Q学习(DQN)的自动游戏AI实现方案。主要内容包括:1)DQN算法框架,通过状态-动作-奖励循环优化决策;2)开发环境配置(Python 3.9 + TensorFlow/Gym);3)Pytorch实现细节,包括经验回放、神经网络构建和训练逻辑。特别针对Gymnasium环境的状态格式进行了适配优化,解决张量转换和截断状态处理问题。实验采用CartPole-v1平衡车游戏作为测试场景,包含完整的训练循环和模型保存/加载功能。该实现通过ε-贪婪策略平衡探索与利用,展现出深度强化学习在游戏
2019-10-24 15:20:55
12856
16
原创 5分钟了解Ai 之 对抗学习 图像生成 (tensorflow2实现gan网络)
该段实例来源于网络,做了一些修改和标注from __future__ import absolute_import, division, print_function, unicode_literalsimport tensorflow as tffrom tensorflow import kerasimport globimport imageioimport matplotlib...
2019-10-22 16:12:48
1171
原创 原生javascript实现vue:100行js代码实现一个双向数据绑定的mvvm框架
本文介绍了MVVM双向数据绑定的实现原理,并通过100行代码实现了一个类Vue的简易MVVM框架。主要内容包括:1)MVVM的概念和三种实现方式(观察者模式、脏值检查、属性访问器);2)使用Object.defineProperty()设置属性访问器实现数据监听;3)通过发布订阅模式实现数据更新时的视图同步;4)解析HTML自定义指令(data属性和@事件)并进行相应处理。文章最后给出了一个可在输入框和文本元素间实现双向数据绑定的完整示例代码,并支持事件绑定功能。
2018-04-23 21:14:51
2560
1
原创 ROS2开发环境配置及无法监听到Talker消息的解决办法
摘要:本文介绍了ROS2 Humble在Windows子系统WSL2(Ubuntu 22.04 LTS)下的完整安装流程。内容包括:WSL环境配置、国内镜像源设置、ROS2安装、环境变量配置及开发工具安装。重点提供了通信故障排查方案:包括强制终止ROS进程、清理缓存目录、设置DOMAIN_ID以及切换DDS实现(推荐使用CycloneDDS)。通过demo_nodes的talker/listener测试验证安装效果,确保节点间正常通信。文中所有命令均给出详细代码示例,适合开发者直接参考使用。
2025-11-19 11:06:47
271
原创 鸿蒙HarmonyOS ArkUI 状态管理装饰器详解
鸿蒙ArkUI框架采用类似前端框架的状态管理机制,通过装饰器实现数据与UI的双向绑定。核心装饰器包括:@State(组件内部状态)、@Link(父子组件双向绑定)、@Prop(单向绑定)等基础装饰器;@BuilderParam(UI片段传递)和@Event(子父通信)等交互装饰器;以及@Provide/@Consume(跨组件共享)和@StorageLink(应用级存储)等高级状态管理方案。这些装饰器覆盖了从组件内部到全局状态的各种场景,体现了鸿蒙对前端设计思想的借鉴,虽然开发者对此评价不一,但确实提供了灵
2025-10-24 11:56:55
797
原创 Open XR 手势控制模块开发。Monado 自定义手势识别模型 基于UltraLeap python实现
本文介绍了基于UltraLeap手势数据训练自定义模型并集成到Monado驱动的全流程方案。主要内容包括:1) 使用Python SDK采集手部关节数据并提取特征;2) 训练随机森林分类器实现手势识别;3) 将模型转换为ONNX格式;4) 修改Monado驱动代码加载模型并实现实时推理。通过ONNX Runtime集成,使模型能在C++环境下高效运行,最终通过OpenXR接口向应用层提供手势识别功能。该方案实现了从数据采集到应用落地的完整链路,为XR设备的手势交互开发提供了可扩展的技术框架。
2025-10-23 14:53:41
583
原创 开源OpenXR引擎:Monado XR Runtime开发配置及关键模块说明(可用于自研VRAR眼镜设备或pico、queset等量产设备)
本文详细介绍openxr与monado runtime运行时的主要功能,架构设计及环境搭建步骤。对hello_xr示例,broker和monado out of process等组件都有详细说明
2025-10-23 11:57:52
1150
原创 Unity 导出 AAR包 到 Android 项目并以 Fragment渲染显示
Unity 导出 AAR包 到 Android 项目并以 Fragment 显示
2025-10-16 17:05:08
692
原创 人工智能训练物理模拟器 MuJoCo入门教程 常用函数介绍及测试用例
MuJoCo(Multi-Joint dynamics with Contact)即多关节接触动力学,是一款免费开源的物理引擎,旨在助力机器人、生物力学、图形动画等领域的研究与开发。它将速度、精度和建模能力独特融合,专为基于模型的优化,尤其是通过接触进行的优化而设计。广义坐标与现代接触动力学结合:融合机器人学、生物力学引擎在广义坐标上的高效递归算法,以及游戏引擎基于优化求解接触力的现代方法。接触动力学处理:通过凸优化问题求解接触力,支持软接触、多种约束,能统一处理摩擦接触、关节限制等情况。丰富的建模支持。
2025-03-03 20:07:46
3587
原创 鸿蒙HarmonyOS 开发简介
鸿蒙操作系统(HarmonyOS)是面向万物互联时代的全场景分布式操作系统,具备分布式软总线、分布式数据管理、分布式任务调度等核心能力,能让设备间实现无缝连接与协同,为用户提供统一、流畅的交互体验。开发语言方面,ArkTS 是专门为鸿蒙开发设计的语言,结合了 TypeScript 的类型系统与声明式编程范式,提升了开发效率和代码的可维护性。值得一提的是功能写法也和前端VUE框架颇为相似,相信在我国具有大基数的前端开发者会很容易上手吧Ability。
2025-02-28 15:47:11
1335
原创 用Shader glsl实现一个简单的PBR光照模型
PBR模型定义了各种光照属性,如基础颜色、金属度、粗糙度等,就像给物体设定各种 “性格特点”。顶点着色器负责把顶点从模型空间转换到裁剪空间,同时计算一些用于光照计算的参数,就像给顶点 “搬家” 并准备好 “行李”。而片段着色器是整个 PBR 实现的核心,计算每个像素的颜色。它通过采样纹理获取各种属性值,然后根据 PBR 光照模型计算漫反射和镜面反射项,最后结合环境光得到最终颜色,就像给每个像素 “化妆”,让它们看起来更真实。
2025-02-14 18:15:28
930
原创 C++自研游戏引擎-碰撞检测组件-八叉树AABB检测算法实现
八叉树碰撞检测是一种在三维空间中高效处理物体碰撞检测的算法,其原理可以类比为一个管理三维空间物体的智能系统。这个示例包含两个部分:八叉树部分用于宏观检测,AABB用于微观检测。AABB可以更换为均值或节点检测来提高检测精度。
2025-02-13 07:20:49
1613
原创 Unity SRP 可编程渲染管线的基本用法
可编程渲染管线使用教程SRP 可以处理Canvas为Screen Space - Overlay的渲染首先进入package manager,下载Core RP Lib组件新建脚本取名为MPipeLine,该脚本用于实现渲染管线的处理逻辑编写渲染管线与编辑器关联创建脚本MPipelineAsset,用于与unity编辑器建立关联,允许将工程与自定义渲染管线进行绑定创建并配置PipeLine Asset首先创建Asset文件点击Edit > projectsettings > graphic
2024-09-10 14:56:43
806
原创 从零搭建一个可离线使用的可实时更新扩展信息的智能问答系统 llamaindex&LLama3大模型&RAG
之前对一件事很好奇,为什么去年训练的大模型可以回答今天的新闻内容。答案是使用了知识扩展系统。基本原理是把参考答案和问题一同提给大模型,给他充分的参考信息做回复编辑。本文教你完成离线版本的智能问答系统搭建。基本架构图。
2024-09-05 15:18:24
1352
原创 Elasticsearch 向量数据库本地部署 及操作方法
elasticsearch是个分布式向量数据库,支持多种查找模式。此外还拥有 Metadata、Filtering、Hybrid Search、Delete、Store Documents、Async等能力。本文仅是记录本地测试途中遇到的问题。
2024-09-03 17:23:24
2732
原创 无法安装basicsr的解决方法
经查看发现basicsr的依赖tb-nightly无法清华源中找到,所以安装时只要分别指定镜像就可以正常安装了。在使用wavlip或gfpgan时发现的问题。无法正常安basicsr==1.4.2。
2024-07-15 10:20:43
1166
2
原创 解决llama factory运行报错:The installed version of bitsandbytes was compiled without GPU support亲测可用
尝试了网上各种方法都没有,后来发现是torch装错了版本,由于llama factory采用并行计算 bitsandbytes 无法使用gpu引起的问题。如果返回ture就是支持,你可以继续往下看,如果返回false就是不支持。首先确定安装好了cuda,控制台敲 nvcc -V 如果有返回结果就说明成功安装了。然后查看torch是否支持gpu,依次在命令行中敲入,或直接编写py脚本执行均可。在安装时提示入口错误。经过排查发现是安装途径有问题。搞llama factory时环境出了问题,运行时会提示。
2024-05-14 16:39:25
3029
1
原创 ollama 导入GGUF模型文件
1:创建一个文本文件,建议改名为模型名,扩展名为Modelfile。比如你下载的模型文件名是llama-8b.gguf,那这个文件名就叫llama-8b.modelfile。打开ui交互界面,看看模型选择,也有了。3: 在命令行中执行指令转换模型。完成转换的模型会提示success。
2024-05-13 14:21:10
13020
4
原创 LLama3大模型本地部署 仅需6步完成对话模型本地安装部署。附送可视化ui安装、自定义模型目录,修改模型保存地址,第三方微调模型、中文模型下载地址
本篇分为三部分一:6步完成llama3大模型本地部署二:8步完成llama3可视化对话界面安装三:重设模型文件路径四:微调模型、中文模型下载资源分享。
2024-05-12 13:33:18
8047
1
原创 pyskl手势/动作识别的实现与pytorch cuda环境部署保姆教程
可用的pyskl手势识别姿态识别动作识别方案,与pytorch cudaa 版本环境部署保姆教程
2024-04-15 11:12:15
1111
6
原创 Unity 渲染管线自动转换的实现 支持HDRP转URP,URP转HDRP
HDRP和URP无法平滑切换,因为属性、功能差异巨大。本脚本仅对可对应的默认脚本和属性做了转换处理。细节调整还需自己搞。自动转换可以节省手动更换shader、texture、通用属性的问题。
2024-02-02 15:37:13
4417
9
原创 Unity中使用HttpListener创建本地Http web服务器教程与完整代码
下方有完整代码和使用方法,急用的请直接拉到最下方本文可以实现不开新进程在Unity中创建http服务器。监听自定义ip获取指定目录下的网页或其他资源。如果网页内有其他资源链接也可以正常访问。在Unity中搭建简易http服务主要分为三步监听访问请求解析请求响应请求。
2023-12-15 19:46:09
4298
1
原创 Ai 算法之Transformer 模型的实现: 一 、Input Embedding模块和Positional Embedding模块的实现
RNN:循环神经网络。可以处理长度变化的序列数据,比如自然语言文本。RNN通过隐藏层中的循环结构来传递时间序列中的信息,从而使当前的计算可以参照之前的信息。但这种模型有梯度爆炸和梯度消失的风险,所以只能做简单的生成任务。LSTM:长短记忆网络。通过引入门控制机制来控制信息传递。有效避免了梯度消失和梯度保障的问题。LSTM可以做些复杂的生成任务。Transformer:目前最火的,一种基于自注意力机制(self-attention mechanism)的神经网络模型。
2023-12-13 02:04:25
3244
原创 Pico VR眼镜(XR) Unity开发环境部署及打包教程,包含瞬间移动、转向等基本操作配置
回到Package Manager,点击左上角+号,再点击INstall package from disk,在弹出的文件选择器中,选择我们刚解压出来的package.json文件,然后improt 这个包就行了。如果你使用的功能是所有VR设备都有的功能,比如手柄方向,位置,按钮等这种通用功能,那推荐下载PICO Unity OpenXR。点击下面Run Device 后方的 Refresh按钮,直到刷出VR眼镜,选择该眼镜,然后点击Build And Run等待完成即可在眼镜中看到我们的程序了。
2023-12-04 19:51:24
11840
4
原创 ffmpeg格式转换 免费使用视频格式转换教程
完成转换后会在当前目录下生成转换后的视频文件,我这个导出时扩展名写错了,重命名后面加上.mp4就可以直接看了。进入解压后的目录,子目录bin中的ffmpeg.exe就是我们要使用的转换器。有些平台或软件虽然支持某些格式的视频,但对编码也同样有要求。比如h5页面的video标签,就只支持mp4的h264格式。如果是windows可以在直接下载编译好的软件包。打开cmd控制台,从控制台进入bin目录。其中比较重要的信息是codec_name。首先去官网下载ffmpeg的软件包。
2023-12-04 15:50:47
2353
原创 Stable diffusion ai图像生成本地部署教程
点击"Settings",左侧点击"User interface"界面,在界面里最下方的"Localization (requires restart)“,选择"Chinese-All"或者"Chinese-English”然后使用git 克隆项目,在控制台中输入:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git。在网页链接中,txt2img一栏填入关键字,然后点击右侧的Generate,即可在下方看到生成结果。
2023-12-04 10:28:23
7846
9
原创 Vulkan渲染引擎开发教程 一、开发环境搭建
运行成功会显示两个窗口,一个是用于显示调试信息的控制台,一个就是用于显示vukan实例的glfw窗口,长这样。依次填入Vulkan SDK下的include目录、glm下的glm目录、glfw下的include目录。填写glfw下的lib–vs2022目录、vulkan下的Lib目录,在属性面板中,点击C/C++ -> 常规 -> 附加包含目录。GLFW是个跨平台的小型窗口库,也就是显示窗口,图形的载体。在下一章中,将尝试在vulkan中绘制一个三角形。再点击连接器->常规->附加库目录。
2023-11-19 02:22:46
4845
1
原创 Unity项目转微信小游戏 微信小程序保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试
本文详细介绍了将Unity项目转换为微信小游戏的完整流程。首先概述了微信小游戏的限制条件,包括2M首包限制和200M存储限制。然后分步骤讲解了转换过程:从WebGL项目准备、插件导入到最终导出生成两个关键文件夹(minigame和webgl)。文章还列举了常见问题的解决方法,如API报错、资源下载失败等。最后通过性能测试对比显示,微信小游戏在渲染性能上与原生应用存在明显差距,当渲染面数超过2万时会出现明显卡顿。整体而言,该转换方案可行但需注意性能优化和资源管理。
2023-11-07 20:45:16
30148
9
原创 unity 浏览器插件【embedded browser(原zfbrowser)】简单教程,使unity支持web h5页面,附软件下载链接
unity 浏览器插件【embedded browser(原zfbrowser)】使unity支持web h5页面
2023-10-17 14:06:46
6470
20
原创 五分钟了解最短路径寻路算法:Dijkstra 迪杰斯特拉
可以看到 A>B>D与A>C>D 的代价都相同,边相加都等于10. 而A>C>B的路线代价扽与9,是最短路径。例子:几个节点之间,相连接的线段有固定长度,该长度决就是通过代价。查找到花费最少的路径。此段代码,用于求出加权图最短路径,加入了防循环,可以在有向图、无向图中使用。有权图,理论上来说把权化为等量节点,也可以使用最短节点算法求最短路径。寻路算法在生活中应用十分常见。本文实现的是关于图的最短路径查找算法。复杂度:最坏情况应该就是O((n-1)该算法比较常见于游戏和室内地图导航。
2023-08-27 03:07:15
1431
原创 5分钟了解AI算法 之 隐式马尔可夫模型(Hidden Markov Model)
在之前的文章中已经介绍了马尔可夫链,马尔可夫模型与马尔可夫链的区别在于,隐马尔科夫模型多了一条不可见的时序状态。概率、学习、回归。
2023-08-27 02:48:58
1326
unity网页浏览器插件 Embedded Browser 3.1.1 (ZFBrowser)
2023-10-17
cudart64_100.dll 解决"dlerror: cudart64_100.dll not found"的问题
2019-10-23
unity 上最好的公路路径插件 EasyRoads3D Pro v3.1.6
2019-04-25
csdn 博客的数据统计页改版了,你们觉得方便吗?好看吗
2020-12-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅