
Unity精选篇
文章平均质量分 90
Unity游戏和VR开发过程中一些难题,精选知识内容分享
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
TxNet.Ltd.
不积跬步无以至千里,不积小河无以致江海。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Unity技术开发干货 - 总目录
总目录欢迎大家来到 passion 的《Unity技术开发干货》开始前博主先列出学习的大纲,同时也供大家学习参考,如果有什么问题,欢迎留言。一.Unity基础:Unity基础-脚本生命周期Unity基础-向量Unity基础-寻路系统Unity基础-物理系统Unity基础-Mecanim动画系统Unity基础-UGUIUnity基础-灯光Unity-UGUI之Event SystemUnity-2018-粒子系统Unity-协程入门Unity-2D物理引擎、铰链、效应器Unity-原创 2021-06-05 21:53:57 · 3645 阅读 · 11 评论 -
Unity 之如何使用Pico4u锚点功能实现一个世界锁GameRoot
摘要 空间锚点技术是混合现实(MR)应用的核心,能永久记录虚拟物体的空间位置。文章介绍了在Unity中使用Pico SDK实现空间锚点的完整流程:1)环境配置需安装XR模块和Pico SDK;2)关键操作包括启动空间感知、创建/删除/查询/更新锚点;3)提供了经典应用案例,通过GameRoot节点实现场景固定和锚点同步。源码展示了基于XR交互工具包的锚点抓取与位置更新实现,为MR开发提供了实用参考方案。原创 2025-08-20 13:58:31 · 22 阅读 · 0 评论 -
Untiy之如何实现AI+MR (Pico4u 相机推流MR画面给Server做实时AI图像识别)
本文介绍了基于Pico4U企业版开发AI+MR应用的实现方案。文章详细说明了硬件准备步骤,包括购买企业版设备、申请相机权限和注册管理平台。重点讲解了Unity开发中获取摄像头画面的两种技术方案:通过Overlay直接渲染到Android Surface,或使用API获取图像数据转换为Texture。提供了完整的代码示例和权限配置说明,并揭示了底层通过JNI调用Android原生API的技术原理。该方案适用于带电操作等实习场景,可提升安全性和学习趣味性。原创 2025-08-15 15:21:36 · 16 阅读 · 0 评论 -
Unity之C# 脚本与Unity Visual Scripting 交互
本文介绍了Unity中C#与Visual Scripting(VS)交互的三种方法:1)通过Regenerate Nodes将C#脚本转换为VS节点;2)在C#中访问VS变量,示例展示了获取和设置Graph变量的代码;3)触发自定义事件的两种方式,包括使用VS自带的CustomEvent节点和继承事件节点创建自定义事件。文章提供了详细的代码示例和操作截图,帮助开发者实现C#与VS的协同编程,特别强调了自定义事件节点需要重新生成才能生效。原创 2025-07-22 17:16:57 · 196 阅读 · 0 评论 -
Unity之可视化编程VisualScripting快速入门
摘要 本文介绍了可视化脚本的核心概念和应用。可视化脚本通过节点式图形界面实现逻辑设计,包含脚本机和状态机两种组件:脚本机运行脚本图表(Script Graph)控制操作流程,支持子图嵌套和自定义事件;状态机使用状态图(State Graph)管理状态转换,包含脚本状态、超级状态和任意状态等元素。文章还展示了常用功能实现方式,如射线检测、补间动画和按钮点击等操作,为游戏和应用程序开发提供了无需编码的可视化解决方案,同时支持程序员通过API进行扩展。原创 2025-07-21 17:20:00 · 268 阅读 · 0 评论 -
如何基于FFMPEG 实现视频推拉流
我们经常会有在电脑上实现推拉流的需求,Unity 和Unreal 都提供了基于WebRTC 的视频流方案,效果还不错,但是当我们需要推拉整个电脑屏幕视频流时,可能要借助一下第三方工具了。今天我们就来介绍一个非常好用的方案。局域网本地部署+本地播放视频流,延迟在2-3s左右。原创 2025-07-14 17:43:20 · 175 阅读 · 0 评论 -
Untiy 之如何实现一个跟随VR头显的UI
在VR开发中,UI元素的定位是一个重要问题。由于VR头显的自由度很高,传统的UI定位方式可能无法满足需求。我们需要让UI能够根据头显的位置和旋转自动调整,以保持良好的视觉效果。本文将介绍一个实现UI跟随VR头显的脚本,并详细解析其工作原理和代码逻辑。原创 2025-04-29 10:56:33 · 625 阅读 · 0 评论 -
Unity之如何实现 MQTT 物联网 消息队列遥测传输
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的物联网(IoT)通信协议,主要用于在设备之间实现高效的消息传递。MQTT 是一种基于客户端-服务器架构的协议,允许设备通过发布-订阅模式进行通信。它设计用于在带宽有限、网络状况不佳的环境中使用,特别适合物联网设备。本来我是项找一个开源的代码,然后改改。但是忙活了1-2天,最后也没有成功。最后直接购买了这个插件,一下就成功了。真是花小钱办大事。以后能花钱解决的是,就不要浪费时间了。原创 2025-04-19 11:47:26 · 191 阅读 · 0 评论 -
Unity之如何实现RenderStreaming视频推流
什么是 UnityRenderStream?Unity Render Streaming 是 Unity 引擎中的一个功能,允许实现实时高质量图形内容的流传输,适用于在线游戏、虚拟现实会议、教育培训和远程协作等多种场景。它结合了图形渲染、网络传输和流媒体技术,确保低延迟和高画质,支持多平台,提升用户体验和协作效率。我认为这有点难以理解,所以我将使用概念图来解释它。如上图所示,远程PC上运行的UnityEditor的GameView。原创 2025-04-19 11:11:07 · 834 阅读 · 0 评论 -
Unity之如何实现哔哩哔哩直播弹幕游戏
什么是直播间互动?当我们使用哔哩哔哩进行直播或者观看视频时,我们可以通过接入哔哩哔哩提供的 直播&互动玩法SDK,让直播和视频可以与Unity3D游戏客户端或者游戏服务器进行互动。原创 2025-03-09 23:27:56 · 1033 阅读 · 0 评论 -
Unity之一文搞懂Tilemap如何使用
在 Unity 中引入 Tilemap 之前,创建大地图的2D游戏很困难。放置许多 SpriteRender创建、使用和维护您自己的系统从AssetStore购买工具,学习如何使用它们,并使用它们。除非你有一个小游戏或小地图,否则“放置大量 SpriteRender”是不切实际的。“创建、使用和维护自制系统”的方法创建、使用和继续维护的成本很高。“从 AssetStore 购买工具,学习和使用的成本一样很高。现在可以使用 Unity Tilemap 的标准函数高效地创建充满矩形图像的地图。原创 2024-11-05 11:04:38 · 509 阅读 · 0 评论 -
Unity之如何在Linux上部署Dedicated Server专用服务器
我们在使用Mirror,Fishnet或者Unity Netcode开发多人游戏时,一般有三种链接模式,分别是:Host,Server,Client。Host:代表既是客户端又是服务器Server:代表仅是服务器Client:代表仅是客户端当我们仅是服务器是,我们可以把程序打包成Dedicated Server平台,一种无头服务器应用程序,什么是无头服务器呢?就可以理解为没有界面,是一种纯cmd样式的命令行服务器。今天我们就来简单说一下,如何使用Dedicatedted Server。原创 2024-10-24 22:39:50 · 1333 阅读 · 0 评论 -
Unity之如何在物体空间中制作马赛克
GrabPass 允许您创建应用马赛克叠加的着色器。如果你想在屏幕空间中应用马赛克,你可以通过使用片段着色器对其进行离散化来实现,但我在尝试将其应用到对象空间时遇到了问题,所以这是一个记录。▼ 原图▼ 画面空间马赛克▼ 物体空间马赛克我的动机是修改 noriben 的LED 面板着色器并创建一个滤镜,使另一面可以在 LCD 上看到。我很满意,因为我能够创建一个漂亮的着色器。▼ 像这样。原创 2024-10-23 09:00:55 · 277 阅读 · 0 评论 -
Unity之如何使用Unity Cloud Build云构建
Unity Cloud Build作为Unity平台的一项强大工具,它允许开发团队通过云端自动构建项目,节省了繁琐的手动构建时间,使开发者能够更专注于创作和创新。Unity Cloud Build不仅支持多种平台的构建,如iOS、Android、Windows和Web,且其灵活的配置选项使得团队能够根据项目需求自定义构建流程。这项服务还支持团队成员之间的协作,及时获取构建结果和反馈,提升了整体开发效率。Unity Cloud Build是一项允许您在Unity 提供的云中自动创建多平台构建的服务。原创 2024-10-21 09:27:11 · 804 阅读 · 0 评论 -
Unity之ShaderGraph 如何实现靠近变色效果的Shader
今天我们来实现一个靠近变颜色的特效Shader它可以用再什么地方呢?我做的是一个VR游戏,我觉得非常有用,当我带着VR头显靠近了边界时,马上就撞到墙了,它可以提醒我。颜色的变化可以让我感受到我距离墙的距离。当然在普通的pc游戏或者手游种,我觉得它也会有很大的用处。好了,废话不多说,先看下效果。原创 2024-10-14 00:17:08 · 334 阅读 · 0 评论 -
Unity之如何使用GameCI进行CI构建
你想自动执行 Unity 测试吗?通过 CI(持续集成),每次将代码更改推送到存储库时都会执行测试,从而更容易及早发现问题和错误。本文介绍GameCI,这是一个 CI 工具,可使用 GithubAction 自动构建和测试 Unity 项目。CI(持续集成)是软件开发过程中的一种实践方法。目的是主要通过使用自动化构建和测试来保持开发软件的质量并简化开发流程。原创 2024-10-10 09:22:13 · 549 阅读 · 0 评论 -
Unity 之如何实现基于OpenAI的ChatGPT的聊天机器人
在当前的技术环境中,人工智能聊天机器人越来越普遍。OpenAI的ChatGPT是一个强大的语言模型,能够生成丰富的人类语言文本。在这篇博客中,我们将探讨如何使用Unity来实现一个基于OpenAI的ChatGPT聊天机器人。原创 2024-09-11 12:41:16 · 907 阅读 · 0 评论 -
Unity之OpenXR如何使用Netcode实现一个多人VR游戏
Netcode for GameObjects 是专为 Unity 构建的高级网络库,可用于抽象网络逻辑。您可以通过网络会话同时向许多玩家发送 GameObjects 和世界数据。借助 Netcode for GameObjects,您可以专注于构建游戏,而无需考虑低级协议和网络框架。Netcode框架的核心特性包括:易于使用:设计上界面,适合各种技能水平的开发者。性能:为实时游戏提供优化的网络传输保证、低延迟和高帧率。客户端服务器架构:支持典型的客户端服务器模型,允许多个玩家同时连接。原创 2024-08-27 13:16:58 · 673 阅读 · 0 评论 -
Unity之Mirror如何实现多人同步游戏一
Mirror是一个出色的开源游戏网络库,可以用来制作局域网多人游戏,最初Mirror诞生于Unity早起的Unet,后来Unity把Unet给弃用了,但是Mirror在官方团队的努力下,一直不停地优化框架,并且承诺永远不收费,并持续优化。Mirror最大特点是,服务器和客户端是一个项目,从而实现最大的生产力,只需使用NetworkBehaviour而不是MonoBehaviour即可:▣ [Server] / [Client]标签用于仅服务器/仅客户端代码。原创 2024-03-25 17:22:56 · 2291 阅读 · 0 评论 -
Unity之XR Interaction Toolkit如何在VR中实现一个可以拖拽的UI
普通的VR项目中,我们常见的UI都是一个3D的UI,放置在场景中的某个位置,方便我们使用射线点击。但是为了更好的体验,我们可能会有跟随头显的UI,或者可拖拽的UI,这样更方便用户去操作。所以我们今天的需求就是:如何基于XR Interaction Toolkit 插件 在VR中使用手柄射线来拖拽UI。原创 2024-02-18 11:58:48 · 1773 阅读 · 2 评论 -
Unity如何实现bHaptics TrackSuit震动衣的SDK接入
TrackSuit是bHaptisc公司旗下的一款震动衣,包括X16,X40等不同型号,是一款尖端的无线高级触觉背心,采用人体工程学设计,具有40个精确的触觉反馈点。通过无缝的跨平台支持和无限制、无滞后的游戏体验,增强您的VR冒险体验。用于PC或者VR游戏中高度还原真实射击触感。原创 2023-10-31 00:37:30 · 687 阅读 · 0 评论 -
Unity如何实现TreeView
最近有一个需求,需要实现一个TreeView的试图显示,开始我一直觉得这么通用的结构,肯定有现成的UI组件或者插件可以使用,结果,找了好久,都没有找到合适的插件,有两个效果差强人意。最后在回家的路上突然灵光一闪,想到了一种简单的实现方式,什么插件都不用,仅使用Unity自带的Button和Layout。不仅可以实现一级树形目录,还能实现二级,三级等等,只要你有需要,都可以自定义实现。原创 2023-09-29 15:06:22 · 1542 阅读 · 0 评论 -
Unity之Photon PUN2开发多人游戏如何实现组队功能
Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。我们在查看Pun2的Demo时,会发现Demo中自带了一个简易的PhotonTeam和PhotonTeamsManager,如果我们只希望有一个组队功能,那么其实也够用,但是如果我们希望实现不同队伍的队名,队标,或者积分功能之类的,那么就需要自己扩展了。原创 2023-08-27 18:58:02 · 2193 阅读 · 0 评论 -
Photon之如何解决Photon Server无法在局域网使用的bug
先介绍一下Photon的两个服务器服务:Photon Cloud 是一个完全托管的软件即服务 (SaaS) 解决方案。我们可以完全专注于应用程序客户端,而托管、服务器操作和扩展均由光子官方负责。Photon Server 是一个本地服务器应用程序,我们可以在本地或指定的计算机上运行和托管。我们可以自由配置和设置自己的多人游戏后端。完全可定制和扩展。注意Photon Cloud 本身是基于 Photon Server的。只不过他是有光子帮我们维护,原创 2023-08-02 17:17:55 · 1711 阅读 · 0 评论 -
Unity如何实现Microphone实时录音的频率数据提取
Unity中使用Microphone可以通过麦克风录制AudioClip音频,我们可以通过它实现录音功能,然后可以通过录入的音频数据对音频进行分析,比如音量大小,频率高低,等等。我们今天就来分析一下音频的高音低音。原创 2023-06-10 13:18:48 · 3159 阅读 · 0 评论 -
Unity之Photon PUN2开发多人游戏 如何创建公共道具
Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。使用PUN2我们可以快速构建一个多人位置和动画同步的游戏,但是当我们增加一点复杂度,比如多人游戏时,场景中随机出现道具,大家都可以去捡,这就需要场景的公共事件,而不是某一个人的事件同步问题了。原创 2023-05-30 23:47:58 · 1039 阅读 · 1 评论 -
Unity之如何接入google cardboard-xr-plugin实现android手机VR
我们提到VR,总是会想到Oculus,HTC Vive,Pico等头戴VR设备,但是别忘了,最早Google就通过再手机端实现VR了,而且还推出过Cardboard手机盒子,让我们可以用最低的成本体验到VR效果。原创 2023-05-24 17:08:35 · 2956 阅读 · 1 评论 -
Unity之使用Photon Server + PUN2 开发局域网多人游戏
Photon Engine是一款跨平台的实时多人游戏引擎,它提供了可靠的基础设施和工具,使开发者能够轻松地构建和部署多人游戏。Photon Engine支持多种平台,包括PC、移动设备和Web,同时还提供了多种语言的SDK,如C++、C#、Java、JavaScript等,使得开发者可以使用自己熟悉的编程语言进行开发。Photon Engine的核心功能包括实时通信、房间管理、匹配制度、数据同步等,这些功能都是为了支持多人游戏而设计的。原创 2023-05-23 17:06:41 · 3494 阅读 · 0 评论 -
Unity之使用Photon PUN开发多人游戏教程
Photon是一个网络引擎和多人游戏平台,可以处理其服务器上的所有请求,我们可以在 Unity(或其他游戏引擎)中使用它,并快速把游戏接入Photon的网络中,而我们就可以专注于在项目中添加逻辑,专注于游戏玩法和功能了。PUN(Photon Unity Networking)是一种开箱即用的解决方案,用于处理 Unity 项目中的多人游戏,在本教程中,我们将学习如何:1.创建一个房间供其他玩家连接2.最多可让 20 名玩家连接到同一游戏3.了解玩家如何通过自定义操作相互互动并影响我们的游戏。原创 2023-05-23 08:56:57 · 2018 阅读 · 0 评论 -
Unity之如何接入HybridCLR(代号wolong,原huatuo)热更新框架
HybridCLR(代号wolong)是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。HybridCLR快速上手官方还提供了一个简易的小Demo,演示了如何使用HybridCLR实现热更新。官方文档其实已经非常详细了,我写本文目的主要为了记录一下我的接入过程。我们可以下载官方的示例Demo,我们参考Demo更容易理解HybridCLR。原创 2023-04-12 01:18:12 · 2077 阅读 · 3 评论 -
Unity如何实现3D物体拆解组装
最近有一个需求,是做一个发动机的拆卸和安装功能,其实是一个很简单的功能,但是其中有一个点我觉的非常有意思,就是拖拽组装时,物体如何精准拖到目标位置,思路有了,但是我一直找不到实现方式,早晨刷牙时无意间想到了叉乘,我才有了解决方案。就凭这一次的灵光乍现,也很有必要写篇博客来记录一下。首先,我们先来看下我们要实现的效果,就是对一个发动机(任意多组件物体,如:车)的360°预览查看,手动拖拽拆解,手动拖拽组装。360°旋转视角远近拉伸视角点击拖拽拆卸拖拽组装。原创 2023-02-18 00:20:33 · 9543 阅读 · 57 评论 -
Unity之如何实现TTS文本转语音(真人发音)
微软Azure TTS 文本转语音 服务将文本转换为逼真的语音的语音服务功能支持个各国语言,各种中文各种方言,支持不同音色男音女音支持离线和在线版本原创 2022-10-15 17:42:16 · 4870 阅读 · 0 评论 -
Unity之如何实现一个VR任务(剧情)系统
最近再做一个VR项目,里面有大量的剧情和VR操作任务。比如:1.张三说了什么话,干了什么事,然后,李四又说了什么,做了什么动画,完了之后,场景中某个物体高亮,让我们触摸或者射线点击(pc的话鼠标点击)和其发生交互。2.我们使用VR手柄或者鼠标与场景中的一个物体或者仪器,进行频繁的交互。3.VR场景中出现一些选择性的操作,不同操作进入不同的剧情分支。比如UI选择是|否,物体选择A|B等,当你选了是或者触摸了A,就会进入A分支剧情。相反如果选择了B就会进入B分支。原创 2023-02-13 18:26:54 · 2418 阅读 · 8 评论 -
Unity如何实现录制回放功能
最近一个VR项目,需要实现一个第三人称视角的回放功能,如果这种功能纯让美术去K动画,那显然会非常消耗人力,且复用性极差,所以我想了一个方案。大致原理:使用第一人称控制人物行为,然后使用帧同步的机制,记录下来用户的每一帧有效操作,并存储下来,最后当我们回放时,就可以按照用户的真是操作指令,一帧一帧的还原第一人称的行为。这样美术同学就只需要去做一些通用行的简单的动画片段即可。原创 2023-01-30 19:12:59 · 2675 阅读 · 0 评论 -
Unity如何实现一个弹框队列管理PopManager
一.前言:最近游戏中加的弹窗页面有点多,导致快上线时,频繁出现弹窗的问题,不是冲突了,就是出不来,所以我想从根源上解决这个问题。解决弹窗的问题,需要把握好3点:1.需要整理各个弹窗的优先级,2.需要清除各个弹窗的弹出条件和弹出时机。3.需要做好弹窗队列的统一管理。二.弹窗配置如果想更方便的管理弹窗的优先级,弹出条件,关闭时机等,我们必须有一个弹窗配置表。如下所示:id弹窗名称弹出优先级弹出条件mask切场景行为可重复入栈idnameprioritypag原创 2022-03-31 11:43:56 · 5494 阅读 · 0 评论 -
Unity如何接入Firebase Cloud Message远程推送
一. 前言:当一款游戏发展到一定阶段,必不可少的要接入推送SDK,推送功能,分为以下两种:本地推送:玩家打开游戏后,给手机系统通知设置推送的倒计时,等游戏关闭后,倒计时结束时,手机会自动打开通知给用户。由于是提前设定死的内容和计时器,所以灵活性差。远程通知:有一个服务器后台,可以随时随地给玩家发送通知提醒。好处是灵活,但是坏处就是无法根据用户的进度,定制推送内容。所有用户一把抓,走统一逻辑推送。二.远程推送我们今天要聊的远程推送,是基于Firebase Cloud Message的,如原创 2022-03-25 11:19:24 · 7849 阅读 · 0 评论 -
Unity如何接入本地推送 Mobile Notifications
一. 前言:当一款游戏发展到一定阶段,必不可少的要接入推送SDK,推送功能,分为以下两种:本地推送:玩家打开游戏后,给手机系统通知设置推送的倒计时,等游戏关闭后,倒计时结束时,手机会自动打开通知给用户。由于是提前设定死的内容和计时器,所以灵活性差。远程通知:有一个服务器后台,可以随时随地给玩家发送通知提醒。好处是灵活,但是坏处就是无法根据用户的进度,定制推送内容。所有用户一把抓,走统一逻辑推送。二.本地推送本地推送我们接入的是Unity自带的工具包Mobile Notification原创 2022-03-23 14:18:50 · 10717 阅读 · 0 评论 -
Unity-TextMeshPro如何扩展材质实现字体Face+Outline流光效果
前言TexeMeshPro 是Unity的一个Text文本插件,实现了比UGUI的Text,更好看的效果,跟高效的性能,所以深受大家的喜欢,但是再好的插件,也不是万能的,比如我们的策划有个新需求,要我们的VIP的名字比普通玩家有更好看的效果,例如:字体流光,外发光颜色扰动,字体贴图等等。那我们就需要去扩展TextMeshPRo的shader功能了。如下图所示本文,我就带大家一起来扩展一下:如何扩展TextMeshProUGUITextMesh原始面板扩展功能后的面板扩展TextMeshPro原创 2022-01-15 21:03:35 · 8833 阅读 · 3 评论 -
xlua-framework之网络框架
前言一般我们说到网络框架,主要是指Socket网络框架,如果是Http的话,我们没有必要单独介绍了,简单用可以直接使用WWW或者UnityWebRequest,如果稍微复杂的使用,可以使用RestSharp库。所以我们本章主要讨论的是xlua-framework框架是如何实现socket网络框架的。虽然lua自带的有socket库,但是luasocket其实更适合写命令行工具。游戏里直接用为Lua写的网络库其实不多,大多数是从C++、C#封装一个自己的库,然后在lua中调用。当然也有luasocket实原创 2021-10-14 15:26:15 · 1737 阅读 · 0 评论 -
xlua-framework之UI框架
前言我们前面说过xluaframework这个框架,是一个纯lua的一个框架,也就是说我们所有的逻辑都可以在lua中实现,只有资源模块和网络模块是c#原生写的,但是也在lua中给我们包装的工具类,让我们更方便的使用。在框架的纯lua代码中,不得不说,ui框架是我最喜欢的,一套基于mvc的一套ui框架。说到MVC框架,很多人可能会说,mvc根本就不适合游戏,此言差矣,我这里要郑重其事的来说明一下。首先,mvc,是一种编程思想或者说框架思想,并不是一个设计模式,而这种思想的核心是分层,也就是说,我们把ui原创 2021-10-13 17:32:40 · 2105 阅读 · 1 评论