Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

19 total results found

Udon Graph :基础操作与信息

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

欢迎来到Udon Graph UdonGraph是Vrchat制作的,Udon Behaviour可以加载的两种编程格式的一种,全名Udon Node Graph(Udon节点图),正如名称所说。UdonGraph是通过节点图来实现编程的,就像是下面这样…… 如图,这段代码的意思是:当玩家交互时(Event Interact事件)向控制台输出Message(Hallo World) 很简单,对吧,UdonGraph就是这样的东西,让我们一起走入UdonGraph的世界,探寻他的一切…… 接口 您可...

Udon Graph 基础教程-脚本数据互相交换以及互相触发以及自我延时循环

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

大家好,欢迎来到Udon Graph基础教程,本期我们来讲讲多个Udon脚本之间的数据交换问题在Graph的解决方式。 数据交换: UdonGraph提供了一个名为ProgramVariable的功能,该功能一共有三个模块,分别是Set ProgramVariable,Get ProgramVariable ,Get ProgramVariableType 这两个的作用分别是:获取指定Udon脚本的指定参数,设置指定Udon脚本的指定参数,获取指定Udon脚本的指定参数的参数类型 Set Progr...

制作一个用于开关物体/组件的按钮

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——应用篇

本期咱们来制作一个可以开关物体的按钮 PART1:程序目标设计 这个程序十分简单,我们的目标就是—— 开关一个物体 PART2:设计参数 EVENT:事件选择 既然是一个按钮,那么我们的选择一定是当玩家按下扳机,或者按下鼠标左键后触发,VRchat为我们准备了一个Event事件—— Event Interact  这个事件会在玩家交互后相应,并且开始执行后续的流 Variables:参数选择 在参数上,我们需要一个Pulic的接口来链接我们需要开关的东西,比如GameObject,或...

制作一个用于白名单/黑名单系统

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——应用篇

欢迎来到麦哲伦的udon graph实战教程,本期专栏将带大家手把手设计一个本地白名单系统。那么事不宜迟,让我们马上开始! PART1:程序目标设计 黑白名单系统的目标很简单,分为以下几点: 名单 确认本地玩家是否是名单中的人 如果是-执行操作,如果不是-略过   至于具体对名单人执行什么操作,我们可以通过将customEVENT发送到下一个udon,让其他的udon来执行具体操作,而黑白名单系统只需要做好自己的事情——确认玩家是否存在于黑白名单中   PART2:设计参数 ...

制作一个用于收集物状态统计系统

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——应用篇

本期我们来制作一个收集物统计系统  相信制作过游戏地图的朋友们都知道,收集物是游戏的一个很重要的元素。本期我们来制作一个完整的收集物系统。 第零步: 首先需要为可收集物制作一个脚本,通过“开关”自己来实现可收集的感觉。 比较简单,直接放图。 这个脚本的效果就是将自身关闭。后面我们也是通过Active状态来确认收集物是否被收集。 收集物统计系统 PART1:程序目标设计 这个我们需要这个系统输出以下信息 1:收集物名单(gameobject[]) 2:已收集数量(int) 3:未...

UdonGraph基础教程—int与Float使用速查表

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

int与Float使用指南 欢迎来到本期UdonGraph基础教学,本期将会为各位介绍Int与Float的所有可以使用的Graph组件接口 您一定很好奇为什么要将这两个一起讲?实际上这两个作为纯数字的数据类型,其在接口方面也有极高的相似性,如下图: 根据统计,在int的27个组件,Float的30个组件中,总共有20个组件的功能与用法是相同的,这也是我为什么要将他们放置在一起来讲,本文将会分为三部分,第一部分介绍两者共有的组件,一共20个,第二部分讲述int独有的组件,一共七个,第三部分讲述Float独有...

UdonGraph 基础教程:Event事件速查表

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

本期来盘点UdonGraph中所预设的所有事件的触发条件以及对应名称,本文将会按照官方文档中记载的顺序进行讲解,如果需要阅读原文请点击https://docs.vrczh.org/udonsharp.docs.vrchat.com/events#udon-update-events跳转至官方文档。 请善用Ctrl+F的网页搜索功能 UdonGraphEvent事件速查 Udon Events:Udon独有事件 本类下的事件由来自UdonSharpBehaviour,是Vrchat独有的事件类...

Udon Graph 基础教程-VRCJson使用指南

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

本期是VRCJson在UdonGraph的使用方法,我们可以通过DownloadString来下载JSON文件,再通过下文的方法来转化成DataToken,并使用DataToken来输出参数,本文将会详细解读如何使用Graph来完成这个过程。 UdonGraph:VRC JSON https://creators.vrchat.com/worlds/udon/data-containers/vrcjson/ 如何序列化/反序列化一个JSON文件 首先我们需要明白,VRC的Json文件以及后续的DataT...

Udon Graph 基础教程-简单的网络同步

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

本文所讲的网络同步部分只是基础中的基础!如果要深入研究请观看官方文档https://creators.vrchat.com/worlds/udon/networking/ 本期依然会以官方文档为基础进行讲解,并且在容易产生疑问的地方安插讲解——如果你还是不懂,请私信,这就是绝对是写的人的问题而不是你的问题! VRC Graph:简单的网络同步 大家好,欢迎来到本期UDON Graph网络同步篇章,本篇将会以简单的方式来讲述一些关于网络同步的故事…… 概述:网络原理 Udon 中用于联网的三个主要概...

VRChat
UdonGraph
Network

Udon Graph 基础教程:同类型参数的储存与转移利器——Array[]数组

Udon Graph新手入门指南(暂停更新) Udon Graph新手入门指南——基础篇

本章节将会教最基础的Array使用方式,更多使用方式请搜索unity-数组教程 Udon Graph:Array 基础认知 什么是数组: 数组是一个固定长度的存储相同数据类型的数据结构,数组中的元素被存储在一段连续的内存空间中。它是最简单的数据结构之一,大多数现代编程语言都内置数组支持。 为何使用数组存储一堆变量 与单独为每一个元素声明一个变量名相比,我们可以使用数组的索引值访问数组中的每一个元素。 例如: 你现在制作了一个游戏地图,你需要为这个地图制作了一个分数系统 我们需要实现一个系统来存...

VRchat虚拟导播系统V1.0-使用指南(全篇)

VRChat虚拟导播系统V1.0-食用指南

VRchat虚拟导播系统V1.0 本系统正在进行更新,本教程可能过时。 概述(What it This) 欢迎使用VRchat虚拟导播系统 本系统全名称为“VRChat Technical Director system(下称“本系统”)” 本系统的开发者为:“ARK-Magellan”唯一认证为QQ:2712509058。 本系统对应的Demo地图为:wrld_fba1d5b1-5596-4316-b623-a5c2535b7641 需要讲解请联系开发者 本系统是一款通用的集成了相机控制与相机切换...

VRchat虚拟导播系统V1.0

特殊篇:主程序事件触发速查表

VRChat虚拟导播系统V1.0-食用指南

发送控制信号 此脚本为控制台核心,用于与相机系统进行交互,引导相机系统进行数据更新以及状态切换   重要参数 public GameObject[] System; 此参数为相机系统合集,参数表示相机系统部分   private RenderTexture[] CameraRender; 此参数为初始化的相机系统RenderTexture合集,如果需要调用获取请延迟一帧后调用。   重要事件 InteractStart() 此事件为触发指令,触发该事件后系统将会将所有参数进行转发。 ...

VRChat Udon DataToken&VRCJson 食用指南

麦哲伦的Udon面馆

VRChat Udon DataToken&VRCJson 食用指南 VRC JSON VRChat Json官方解释链接 概念解释 Json——数据格式 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,我们可以通过VRCJson反序列化来将其转换成DataToken,相对的也可以通过序列化为符合Json标准数据格式的Json文件。 DataToken——数据令牌 数据令牌会储存数据——每个 token 存储一个且仅存储一个变量。一般我们不会...

一、用 Toggle 替代 Button 来实现按钮传参

UdonSharp邪修优化指南——Udon实战案例库

还在傻乎乎给每一个按钮配一个Udon脚本来实现传参?邪修教你用Toggle替代Button来实现按钮传参 众所周知,在 VRChat 的 Udon 开发中,按钮默认只能通过 SendCustomEvent 方法向 UdonBehaviour 发送无参事件。但实际开发中,我们常需按钮携带参数 —— 最典型的场景就是 “批量相同功能的按钮”(如道具选择、场景切换按钮),需要通过参数(如按钮 ID)确定具体是哪个按钮触发了事件。 我个人选择的方案是,结合 Toggle 组件与 Udon 代码:在 Toggle 被触发...

二、请在变量改变时通知其他的需要这个变量的脚本,而不是让他们在Update中不断检查

UdonSharp邪修优化指南——Udon实战案例库

还在滥用Update来获取其他脚本变量?邪修助你在实时和性能之间取得平衡。 这个问题的核心需求其实很明确 —— 我们需要尽可能实时地获取其他脚本的变量信息。比如在 UdonChips 钱包系统中,若要为其开发全新插件,就必须实时更新钱包余额,才能确保消费、查询等关联模块正常运行。对此,UdonChips 的官方解决方案是:在Update方法中,通过每一帧检查钱包脚本的指定变量与本地备份是否存在差异,以此实现变量的实时同步。 这种方案虽能满足基础需求,但高频的帧级轮询会带来不必要的性能开销。为优化性能表现,我对该...

三、使用简易对象池优化生成组件时的性能

UdonSharp邪修优化指南——Udon实战案例库

停下你每次都重新生成的代码,加入一个简易的对象池来优化生成组件时的性能。 在开始这篇 “邪修” 风格的方法教程前,我们先补充一组关键数据: Unity 中生成一个Prefab 实例,通常需要消耗约 1ms 时间; 而在此基础上,若该 Prefab 挂载了 Udon 脚本,Udon 为其生成对应的Udon 虚拟机时,还需额外消耗约 1ms 时间。 这组数据大家可自行测试验证。不难看出,生成 Udon 虚拟机的性能开销相当显著 —— 但实际开发中,很多场景(比如少量、高频复用的简单对象,如临时弹窗、交互...

4.将复杂数学运算卸载到Animator中来实现多线程计算

UdonSharp邪修优化指南——Udon实战案例库

已知Udon是一款单线程低效率的编程语言,这种低效率同时也体现在Udon对于复杂数学运算上。如果仅仅只是加减乘除的话可以忽略不计,但是若是计算傅利叶变换,贝塞尔曲线等复杂数学的时候,我们必须要进行优化。 好在,Udon允许我们与animator进行交互,那么我们就可以将数学运算卸载到animator中并且在等待animator运行完毕后获取到运行结果。   其优点在于: 1:多线程运算,量大管饱 2:运算速度更快 缺点在于: 1:需要等待一段时间后才可以拿到运算结果 2:十分复杂,在运用和设计上...

如果你需要在网络中传递玩家名称,请答应我不要直接传string的……

UdonSharp邪修优化指南——Udon实战案例库

在你正式开始网络同步之前——你最好知道的一些事

关于 UdonSharp 你不得不知道的 {placeholder} 件事 你应该知道:你的缺陷

这一篇东西记录了我【ARK-Magellan】在学习网络同步如何写这个问题的时候遇到的所有问题,这篇文章的所有知识有些来自日本或者其他网站,这篇文章只是将他们和在了一起……但是这些真的很重要,所以我希望你认真看完并且遵守其中的一些部分。 一切的开始:你必须要保证你已经会写本地的逻辑了再来考虑学习网络同步——但是在你从创建脚本开始,就应该考虑号网络同步的问题。 因为将一个网络同步变成本地脚本,只需要将同步状态改为None,但是把一个本地脚本变成网络同步脚本,无异于重新写一遍…… 很好你已经准备好了 ...