- 博客(38)
- 资源 (6)
- 收藏
- 关注
原创 【Nvidia Omniverse OpenUSD】002-OpenUSD里的Gf.Vec3d,Gf.Vec3f,Gf.Vec3h都有什么区别?
OpenUSD中的Gf.Vec3d、Gf.Vec3f和Gf.Vec3h是三种不同精度的三维向量类型,主要区别在于数值精度和内存占用。Gf.Vec3d使用双精度(64位),适用于高精度计算;Gf.Vec3f使用单精度(32位),是默认推荐类型;Gf.Vec3h使用半精度(16位),适合内存敏感场景。在USD文件中分别对应double3、float3和half3类型。选择时需权衡精度需求与性能:常规3D坐标用Vec3f,高精度计算用Vec3d,海量数据用Vec3h。
2025-12-11 09:16:27
224
原创 【Nvidia Omniverse OpenUSD】001-OpenUSD中prim的全称叫什么?
OpenUSD中的Prim(Primitive)是场景图的基本构成单元,类似Unity的GameObject或Unreal的Actor。作为最小场景实体对象,Prim可包含属性、关系、元数据,并具有特定Schema类型(如网格、变换节点、材质等)。每个Prim拥有名称、路径、类型等结构特性,并通过层级关系组织场景内容。Stage作为场景容器承载这些Prim,其中Typeless Prim仅作层级节点使用,而Schema Prim则实现具体功能。
2025-12-11 09:14:10
384
原创 Unity 协程 vs FastAPI 协程:深度对比与原理详解
Unity协程 vs FastAPI协程本质差异 Unity协程是帧轮询驱动的游戏逻辑工具,每帧检查状态,精度受帧率限制(≥16ms),性能随协程数线性下降。它运行在主线程,适合游戏动画、延迟逻辑等场景。 FastAPI协程是事件驱动的高并发引擎,基于操作系统异步I/O通知,实现毫秒级精准响应。协程空闲时零CPU开销,可轻松处理上万连接,专为网络服务优化。 关键区别: 驱动机制:轮询检查 vs 事件通知 性能特性:O(N)开销 vs 按需激活 适用场景:游戏逻辑 vs 网络服务 二者虽同名但设计目标不同,理
2025-09-30 14:56:39
1152
原创 什么是Get、Post、Put?区别是啥
HTTP请求方法GET、POST、PUT的区别:GET用于获取资源,数据附在URL中,不安全但可缓存;POST用于创建资源,数据在请求体中,更安全但非幂等;PUT用于更新资源,数据在请求体中,幂等但不可缓存。GET有URL长度限制,POST和PUT则受服务器限制。
2025-09-30 10:07:49
527
原创 什么是ASGI?什么是WSGI?
ASGI是Python异步Web应用的新标准,相比传统WSGI支持异步I/O、WebSocket和高并发。WSGI适用于同步框架(如Flask),每个请求需独立线程处理;而ASGI(如FastAPI)通过事件循环单线程处理多请求,资源消耗更低。ASGI服务器如Uvicorn原生支持异步操作,显著提升I/O密集型任务性能,是现代Python Web开发的首选方案。
2025-09-30 09:22:30
866
原创 Dify部署后,语音输入无效,识别为空
摘要:Dify部署后语音识别失效且输入框无波形显示,可能是由于默认音频输入设备被虚拟设备占用。解决方法:检查系统声音设置,确保选择正确的物理输入设备(非虚拟设备),重启浏览器即可。该问题常见于安装某些软件后自动创建虚拟输入设备并设为默认值,导致无实际音频信号输入。
2025-08-19 13:28:24
465
原创 【Unity】什么是前向渲染、延迟渲染、单通道渲染、多通道渲染?
渲染路径深度解析:Unity光照计算的核心机制 本文系统剖析了前向与延迟渲染的技术原理及Unity优化实践。前向渲染采用逐物体处理方式,在片元着色器直接计算光源影响,优势在于天然支持半透明与MSAA,但受限于光源数量导致的Overdraw问题。Unity URP通过Clustered Forward技术将屏幕分块预处理光源分配,突破传统每物体4灯限制。延迟渲染则分离几何与光照阶段,通过G-Buffer存储表面数据,实现光源数量与几何复杂度的解耦,特别适合多光源场景,但存在高带宽消耗、透明渲染回退等问题。文章
2025-06-25 10:32:31
1347
原创 Unity中的urp和普通的标准渲染管线区别在哪
Unity的URP渲染管线相比内置标准管线进行了架构革新,采用模块化SRP设计,赋予开发者更高控制权。URP通过单通道前向渲染、SRP Batcher等技术优化性能,尤其适合移动和VR平台,但简化了部分高级特效。其集成Shader Graph和Volume框架,优化了美术工作流。Unity已停止标准管线更新,推荐新项目优先采用URP,但需注意材质迁移成本。URP代表了Unity向轻量化、跨平台渲染的发展方向。
2025-06-25 10:28:52
1911
原创 将一个网址/链接 打包成APK安装包
针对将Web项目打包为移动端应用的需求,使用Cordova技术进行跨平台打包。重点介绍Android环境配置:安装Android Studio及完整SDK/Tools版本、配置Gradle 8.13环境变量。Cordova打包流程包括创建工程、添加Android平台、设置应用图标(1024x1024)和启动图(2732x2732),最后执行build命令生成安装包。该方法支持HTTP/HTTPS协议,确保Web功能完整移植到移动端。(149字)
2025-06-05 15:24:56
1119
原创 Varjo-XR3在UE5中,头显中间有一个方块一直显示
但是,如果你将延迟渲染方法与高级功能(如 Lumen、Nanite 和所有最新的 Unreal 功能)一起使用,则可能会出现此问题。黑色方块是一个已知问题。它在 Varjo VRTemplate 中不可见,因为它使用具有推荐 VR 设置的前向渲染方法。注意:出现此问题可能是由于前向渲染和延迟渲染的后期处理效果不兼容/不支持的。
2025-04-22 18:06:12
505
原创 UE5.2+VarjoXR3,Lumen、GI、Nanite无效的两种解决方案
最近在做一个基于VarjoXR3的VR项目开发,UE版本使用的是5.2,效果采用Lumen。首先在PC版本中调整了一个效果,但是当切换到VR运行后,就发现Lumen效果就丢失了。但是测试的其他的头显就没有问题,比如Quest。打开UE中的插件界面,找到被弃用的SteamVR插件,勾选上,重启UE,再运行就可以了。目前测试的从UE5.0-UE5.2都存在这个问题。把这句代码删除重新编译即可。
2025-04-22 17:44:12
634
原创 bat文件中为什么要加@echo off,有什么用
综上所述,@echo off 命令在批处理脚本中是一个非常实用的命令,它可以提高脚本的可读性、增强用户体验,并且模拟交互式程序的效果。添加 @echo off 后,脚本运行时只显示提示信息和用户输入的内容,就像一个真正的交互式程序一样。而添加 @echo off 后,只会显示命令执行的结果,这样输出更加简洁,便于查看和分析。
2025-04-18 10:18:37
505
原创 c#打包的exe无法接收bat文件传来的竖线( | )参数
经过分析, 参数字符串的分割符,我使用了|, 这个竖线( | )符号,在bat中有特殊含义, 直接在bat中使用时, 并不能当做字符串原样传给exe.是一个特殊的字符,它是管道(Pipe)操作符。当使用快捷方式进行exe传参的时候, 程序能正常解析参数字符串并运行, 当使用bat启动的时候,就会报错.使用其他没有特殊含义的字符进行分割,比如 美元符号 ( $ ), 逗号 ( , ),分号( : )用于分割字符串时,批处理会误解你的意图,尝试将其作为管道操作来处理,这就导致了错误。在批处理中,可以使用。
2024-12-05 10:27:20
231
原创 c#中结构体与有序二进制字节数组的相互转换
在一个和仿真软件进行UDP数据通信的项目中,需要接收仿真软件的数据,同时还要给软件发送数据。该软件将所有的参数数据都转成有序的二进制字节数组进行发送,同时接收数据也要这样接收。所以,我需要在我的客户端将数据处理成同样的格式。采用Marshal.PtrToStructure和 Marshal.StructureToPtr进行相互转换。2.结构体内不要使用高级数据结构参数,只使用基本数值类型参数。否则需要你自己实现转换实现。3.结构体内不要使用字符串参数。1.结构体内不支持嵌套关系。
2024-09-14 09:35:33
438
原创 UE5 自定义存取配置文件-文件操作
在项目开发过程中,有一个需求是对相机调整偏移值,并且调整后需要保存,以便下一次打开读取赋值。1.将偏移值FVector保存成字符串,以逗号分隔。2.读取的时候,将字符串读取为FVector返回。3.我将代码写在了蓝图库脚本中,以便全局调用。根据这个需求,制作一个临时的方案,在此记录。
2024-08-16 16:24:45
802
原创 UE中让文本字体大小自动随屏幕缩放
因为程序最终运行的设备不定,所以分辨率也不定。由此导致的问题就是,默认的文本组件字体大小是固定的,如果不做调整,就会引起高分辨率太小,低分辨率太大。使用组件:中文:【缩放框】,英文:【Scale Box】将需要进行自适应的组件放入缩放框组件中即可。
2024-07-30 11:16:37
1134
原创 【解决方案】HTC Vivie 手柄在SteamVR中图标一直闪烁,提示不在定位范围内
一般这种都出现在在工位桌面开发或者小范围使用场景的时候出现,基站会放在桌子两侧,距离很小。所以对于这种情况,找个三脚架,把基站架起来,离手柄远一些,最好是两米外。使用线将手柄连接到电脑上,然后在SteamVR手柄图标上右键,更新固件即可。同时尽量不要用一个基站定位,用两个基站。手柄的固件和SteamVR版本不匹配。手柄距离基站太近或基站太少。
2024-06-07 10:46:34
1540
原创 蓝图中定义Actor变量引用,无法在关卡中选择赋值
在蓝图中我定义了一个Actor的对象引用,想着公开到关卡中,在关卡中手动选择Actor赋值。结果到关卡中,赋值的时候,能拖动Actor放到上面,也能在属性下拉框中选择,但是就是赋值不上,怎么操作都无法赋值,也不报错。我以为是我的类型定义错了,结果更换变量类型后还是不行。
2024-05-27 15:39:59
699
原创 UE5 使用UDP时,检测端口是否被占用
在项目开发时,由于需要使用UDP同时接收多个数据来源,所以存在端口占用的可能性,因此需要在创建UDP前,先检测端口是否被占用,否则,就会引起软件功能报错或者崩溃。如果方法返回true,代表端口可用,反之则不可用。
2024-03-22 13:57:02
767
原创 UE5中简易的UI管理框架(c++版,UE5.1)
基于此需求,采用栈先进后出的数据接口,编写了一个简易的UI管理框架。1.支持UI的自动创建2.支持UI的按开启顺序关闭3.支持一件关闭所有UI4.支持开启当前UI后,禁用上一个UI的操作5.管理类继承自AActor类,所以支持在面板配置UI信息1.OpenUI:通过传入自定义的UI名来生成UI,如果hideLastUI为true,则隐藏上一个UI,否则,上一个UI继续显示2.CloseUI:关闭当前UI3.CloseAllUI:关闭生成的所有UI。
2024-03-22 09:53:03
2979
原创 unity中一种实现大量目标(1万个以上)图标跟随的解决方案
使用Mesh代替UI图标,采用GPUInstance来生成图标,使用Job进行图标位置计算,开发脚本,将Mesh图标放置到相机裁面中。在使用Unity进行Gis开发时,希望一些目标以图标的形式显示,显示效果和UI图标跟随一致,并且当目标移动时,图标也需要继续跟随。这种方案效果满足,但是因为UI图标的贴图不一致,导致无法触发合批,一旦UI数量一多,就会极大的影响性能。最终,该方案不可行。将目标的三维空间坐标转为屏幕坐标赋值给UI。即有了和UI相同的效果显示,又有了高性能。红色为UI图标,彩色为mesh图标。
2024-03-14 10:57:35
641
原创 UE5 c++自定义配置文件内容读取(c++编写、蓝图调用)
每个项目都会有一个需求,某些数据进行外部可配,基于此,在UE中用c++编写了自己常用的配置方案。
2024-02-29 10:20:32
1974
2
原创 UE5中使用反射系统进行结构体字段值的获取与设置(c++编写、蓝图调用)
但是因为字段量级太大,同时重复性工作非常多,并且这些字段可能还会随时增加,如果依旧采用传统方式,就会导致每次新增时,都要新增代码。最近在做一个数字孪生项目,需要大量的接收上游的数据显示到程序界面上,同时程序也会给上游反馈数据,比如一个按钮,按下时,给上游反馈1,松开后反馈0.这样,每次结构体有变化时,只需要修改结构体,其他字段的更新与获取无需任何改变。整体调用的方式为,c++中编写反射脚本,传入字段名可获取对应字段值与设置对应字段值,在蓝图中可调用该方法,并传入字段名。
2024-02-29 10:12:04
1691
原创 Unity GPU线的绘制(当点位坐标过大时, 不存在线的抖动问题)
由于使用的地球是全尺寸地球,所以物体在地球表面时,坐标会非常大,如果在物体之间连线时,因为Unity本身的计算精度问题,会使得mesh产生渲染抖动现象。两种方式都可以解决问题,但是如果由于一些原因,导致第一种方案无法使用,则可以使用第二种方式解决。Unity原生支持GL绘线,这种绘线方式可以完美满足我的需求,基于像素绘制宽度,不基于Mesh绘制线段,不存在抖动问题。1.新建下方脚本,将脚本挂在相机上(必须挂在相机上,否则无法运行),并且调整好相机视角,保证相机能看到线。2.使用不基于Mesh的绘线方式。
2023-12-21 17:14:43
701
原创 本地局域网web容器,支持unity发布webgl运行
我们使用Unity发布的webgl文件是不能直接双击运行的,必须要部署到web容器内才可以在浏览器中打开,如果放到到服务器中,则太麻烦。还有一些好用的本地web容器,用起来也还算可以,但是还是不够简单直接。本方案使用python 创建一个简单的web容器,只需要将打包后的webgl文件放到文件夹中,就可以在浏览器中通过链接打开这个webgl。在浏览器中输入webgl地址:localhost:8000/UnityHMI,即可运行。安装时,按照如图所示选择,将python添加到环境变量中,一直点击下一步安装。
2023-12-14 09:55:17
892
原创 将在线网站打包为exe程序直接运行
在项目中遇到一个需求,客户希望在电脑上打开他们已经上线的网站不是用浏览器,而是用单独的一个程序。现将解决方案记录如下:本方案采用开源库:nativefier进行打包。当网站背景是mp4视频时,本打包方式也支持浏览。
2023-12-13 12:11:57
3963
6
原创 Unity复制功能-支持Editor-Android-IOS(已用于项目中)
傻瓜式操作不需要额外写代码一键调用注:该包是使用unity2017.2导出如果低版本打开有问题,请使用高于该版本的客户端打开导入后打开图中所示文件,内置使用方法文件下载地址:https://download.youkuaiyun.com/download/u010804261/10809702...
2018-11-27 11:40:40
323
SteamVR 离线安装版SteamVR-1.24.7-1671750570(是截止到2023年9月12日的最新版)
2023-12-13
Unity小地图插件最新版 UGUI MiniMap2.5.0
2023-02-02
Curved UI 3.3
2023-02-02
Unity-C#-通过确定随机种子,来获取相同的随机数.txt
2019-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅