開(kāi)發(fā)者更新 - 2023年4月28日

歡迎來(lái)到2023年4月28日的開(kāi)發(fā)者更新!這是2023年的第13次開(kāi)發(fā)者更新。
備好船帆!升起…額…主帆!確?!?,朗姆酒桶?抱歉,我對(duì)航海的了解基本上主要來(lái)自《海盜》游戲。今天的開(kāi)發(fā)者更新封面展示了Shiro K的世界Sailing!
(https://vrchat.com/home/world/wrld_511d8efe-b233-4ffa-af92-846370aa0f47)
如果你想趕上進(jìn)展,請(qǐng)閱讀我們之前發(fā)布的專欄:

2023.2.2 Open Beta版
Open Beta版正在進(jìn)行中!你可以在這里看到更新說(shuō)明。我們將談?wù)撜谶M(jìn)行中的開(kāi)發(fā)中的一些新功能。
SDK電子郵件認(rèn)證變更
在之前的開(kāi)發(fā)者更新中,我們討論了SDK電子郵件認(rèn)證!簡(jiǎn)而言之,當(dāng)您登錄時(shí),如果我們發(fā)現(xiàn)登錄方式奇怪或不同尋常,就會(huì)發(fā)生這種情況。如果您沒(méi)有啟用雙因素身份驗(yàn)證,我們會(huì)向您發(fā)送一封帶有代碼的電子郵件,您需要輸入該代碼。
首次發(fā)布時(shí)情況有些混亂。?? 我們讓很多人感到非常困惑!為此,我們表示歉意!
我們將其關(guān)閉,進(jìn)行了一些微調(diào)和修復(fù),最近又重新打開(kāi)并修復(fù)了一些錯(cuò)誤。
值得注意的是,即使是舊的SDK現(xiàn)在也可以進(jìn)行認(rèn)證 - 只要它們支持基于令牌的雙因素認(rèn)證。這意味著只要您在過(guò)去…看了看手表…四年里更新了您的SDK,即使要求您輸入令牌2FA,您也可以輸入電子郵件代碼。
創(chuàng)作者助手 - 社區(qū)套件
上周,我們?cè)趧?chuàng)作者伙伴中添加了社區(qū)套件!社區(qū)套件使您能夠在無(wú)需等待我們篩選所需套件的情況下,通過(guò)社區(qū)制作的套件增強(qiáng)您的VRChat世界和Avatar項(xiàng)目。
這還意味著您將像創(chuàng)作者們推出套件一樣經(jīng)常收到這些套件的更新!
我們制作了一個(gè)簡(jiǎn)短的視頻,幫助您了解社區(qū)套件的工作原理:

閱讀我們的文檔以了解更多信息。
如何添加區(qū)存儲(chǔ)庫(kù)(非常簡(jiǎn)單)
如果你是資產(chǎn)創(chuàng)作者,如何創(chuàng)建套件列表
如果您是資產(chǎn)創(chuàng)作者,如何轉(zhuǎn)換.unitypackage文件
持續(xù)開(kāi)發(fā)
彈性骨骼
這個(gè)功能現(xiàn)在在VRChat 2023.2.2中的OpenBeta版中。
我們?cè)赩RChat中添加了一個(gè)名為“SquishyBones”的新PhysBones功能!
這個(gè)視頻是為了Live版發(fā)的發(fā)布,但您在這里可以看到一個(gè)小預(yù)覽。

喜歡視頻中第5秒的兔子Avatar嗎?它是由Moop制作的!你可以在這里獲得它。
此更新添加了新功能,允許骨骼以前所不能的額外方式進(jìn)行伸展和壓縮。
現(xiàn)有的“最大伸展”值允許您指定骨骼的長(zhǎng)度可以增長(zhǎng)/延長(zhǎng)多少。以前只有當(dāng)有人抓住骨骼并將其拉出時(shí),才會(huì)對(duì)此產(chǎn)生影響,但現(xiàn)在意義更大。
添加了“伸展動(dòng)力”值,該值指定骨骼應(yīng)允許運(yùn)動(dòng)如何影響骨骼的長(zhǎng)度。值為0(默認(rèn)值)使骨骼像現(xiàn)在一樣工作,保持其長(zhǎng)度不變。值為1表示骨骼將根據(jù)移動(dòng)方式而變長(zhǎng)/縮短。拉力值是試圖將這些骨骼恢復(fù)到其原始長(zhǎng)度和方向的力量。
以下是伸展動(dòng)力為零時(shí)的效果,這是默認(rèn)值。

...以及將伸展動(dòng)力設(shè)置為1時(shí)的效果!

我們還添加了“最大壓縮”值,它指定骨骼長(zhǎng)度可以壓縮/縮短的百分比。這類似于最大伸展,只是方向相反。您可以將這些術(shù)語(yǔ)視為骨骼長(zhǎng)度的最小和最大百分比。與最大伸展一樣,當(dāng)抓取骨骼并通過(guò)伸展動(dòng)力進(jìn)行操作時(shí),此值會(huì)受到影響。此外,碰撞體與可以壓縮的骨骼之間有獨(dú)特的相互作用。

這里有一個(gè)拉伸和壓縮的GIF示例。

現(xiàn)在,碰撞體可以通過(guò)壓縮來(lái)影響骨骼的長(zhǎng)度。具有正的最大壓縮值的骨骼將根據(jù)碰撞體的方向被推開(kāi)或向下壓。這可以以各種方式使用,從讓骨骼觸摸起來(lái)感覺(jué)柔軟。如果與約束一起使用,您可以在Avatar上制作獨(dú)特的按鈕。


還添加了一個(gè)名為“_Squish”的新參數(shù),它與現(xiàn)有的“_Stretch”參數(shù)非常相似。它提供一個(gè)浮點(diǎn)值,范圍從0到1。該值表示整個(gè)骨骼鏈
的長(zhǎng)度在其最小長(zhǎng)度時(shí)被壓縮的程度。與_Stretch一樣,如果骨骼鏈有多個(gè)分支,它將在所有分支之間選擇最大值。
PhysBone版本控制
提供這些新功能需要對(duì)某些值的應(yīng)用方式進(jìn)行一些更改。這些更改會(huì)影響到現(xiàn)有的VRCPhysBone組件的外觀。為了保持現(xiàn)有的Avatar行為,我們決定直接將版本控制添加到VRCPhysBone組件中。

所有現(xiàn)有的VRCPhysBone組件將使用舊版本1.0,并且工作方式完全相同。新的組件將默認(rèn)為最新版本,版本1.1。
如果升級(jí),您可以更改下拉菜單以選擇最新版本。您可以在版本之間自由切換。
請(qǐng)注意,某些值在不同版本之間的工作方式并不完全相同!對(duì)于這個(gè)更新,兩個(gè)特定的值發(fā)生了變化:Gravity和Stiffness。
重力
以前,重力是一個(gè)與拉力競(jìng)爭(zhēng)的力量。為了獲得特定的外觀,您需要平衡這兩個(gè)值的比例。
現(xiàn)在,重力直接作用于重力如何使您的骨骼的靜止位置變形的比例。值為1意味著您的骨骼將始終垂直下降,值為0.5意味著它將在靜止位置和世界下方的向量之間懸停一半。
在實(shí)踐中,我們發(fā)現(xiàn)這更容易調(diào)整您要達(dá)到的外觀。
由于重力不再是一個(gè)力量,拉力是唯一決定骨骼將以多快的速度落入新的靜止位置的力量。以前,很多指向直下的東西看起來(lái)像(拉力:0 重力:0.3)?,F(xiàn)在,這需要一個(gè)像(拉力:0.3 重力:1.0)這樣的配置。
剛度
以前,剛度是一個(gè)力量,其矢量是上一幀的骨骼矢量。這與拉力和重力競(jìng)爭(zhēng)的力量,并且用于減弱特定運(yùn)動(dòng)。與重力一樣,您需要管理此力量與其他力量之間的比例,以獲得特定的外觀。
現(xiàn)在,剛度作為當(dāng)前速度與保持骨骼在其先前方向的速度之間的比例。這更多是技術(shù)差異,而不是目的的差異,因?yàn)槟匀豢梢韵褚郧耙粯佑行У厥褂么酥怠?br>
之所以這么說(shuō),是因?yàn)閷?shí)現(xiàn)類似外觀所需的確切值會(huì)有所不同。
引導(dǎo)模式
這個(gè)功能現(xiàn)在在VRChat 2023.2.2的Open Beta版中。
對(duì)于新用戶來(lái)說(shuō),VRChat可能是一種壓倒性的體驗(yàn)。選擇您的第一個(gè)化身,找到酷炫的世界進(jìn)行探索,并導(dǎo)航菜單可能會(huì)讓人有點(diǎn)不知所措!我們正在努力開(kāi)發(fā)新功能,使這種體驗(yàn)更加簡(jiǎn)化。
其中一個(gè)新功能就是引導(dǎo)模式。

引導(dǎo)模式是一種新的UI“模式”,可以輕松訪問(wèn)VRChat的核心功能。例如,克隆某人的化身,更改世界,或阻止用戶。
引導(dǎo)模式將使新用戶在不讓他們感到選項(xiàng)和選擇過(guò)多的情況下掌握他們的體驗(yàn)。

引導(dǎo)模式將在Open Beta版中為所有人啟用。然而,一旦推向正式客戶端,我們將通過(guò)“A/B測(cè)試”來(lái)逐步推出該功能。
這種測(cè)試形式將該功能啟用于某些用戶,但并非所有用戶。我們將收集數(shù)據(jù),以了解人們?nèi)绾问褂么斯δ?,以及它是否有助于他們?cè)赩RChat中獲得更好的體驗(yàn)。通過(guò)這種方式,我們可以確保我們對(duì)VRChat所做的更改實(shí)際上會(huì)改進(jìn)體驗(yàn)!

一旦測(cè)試完成,并且引導(dǎo)模式完全推出,我們可能會(huì)提供一種方式供任何人啟用它,以便您可以獲得更簡(jiǎn)單的體驗(yàn)。
隨著更多功能添加到VRChat中,我們將不斷調(diào)整和調(diào)整引導(dǎo)模式,重點(diǎn)是幫助新用戶。例如,某人可以使用引導(dǎo)模式來(lái)查找與他們興趣相匹配的群組。這是我們想要嘗試的實(shí)驗(yàn)類型,所以請(qǐng)?jiān)趯?lái)注意一下。
我們將根據(jù)情況向社區(qū)提供更多信息。值得注意的是,我們不會(huì)宣布我們正在進(jìn)行的每項(xiàng)A/B測(cè)試。
新的SDK功能!
這些新的SDK功能現(xiàn)在已經(jīng)在VRChat 2023.2.2的Open Beta版中。
DataContainers和VRCJSON
我們添加了DataContainers!隨著它們一起出現(xiàn)了Lists、Dictionaries和Udon的JSON!我們?cè)谥暗拈_(kāi)發(fā)者更新中已經(jīng)討論過(guò)這個(gè)功能。

DataLists和DataDictionaries為Udon提供了類似于Lists和Dictionaries的功能。
我們還添加了VRCJSON,這是一個(gè)助手類,可以將JSON字符串(例如從Remote String Loading接收到的字符串)轉(zhuǎn)換為DataLists和DataDictionaries,反之亦然。閱讀數(shù)據(jù)容器/ VRCJSON文檔頁(yè)面以了解更多信息。
VRCAsyncGPUReadback
我們添加了對(duì)AsyncGPUReadback的支持!這使您可以從GPU和著色器中讀取數(shù)據(jù),而不會(huì)帶來(lái)過(guò)大的性能損失!我們?cè)?月9日的開(kāi)發(fā)者更新中已經(jīng)討論過(guò)這個(gè)功能。

我們添加了VRCAsyncGPUReadback.Request函數(shù)和相應(yīng)的OnAsyncGpuReadbackComplete事件。使用這些功能,您可以將數(shù)據(jù)從GPU讀取到CPU內(nèi)存中,而不會(huì)對(duì)性能產(chǎn)生太大的影響,代價(jià)是將數(shù)據(jù)延遲一幀或多幀。
查閱ASyncGPUReadback文檔以獲取更多信息。
Udon UI更新
對(duì)于即將推出的Udon UI功能,我們有一個(gè)快速的更新!我們一直在進(jìn)行一些測(cè)試,我們認(rèn)為您可能會(huì)喜歡了解我們的進(jìn)展。
這個(gè)UdonUI測(cè)試展示了系統(tǒng)通過(guò)這個(gè)系統(tǒng)可用的一些調(diào)試功能。使用Udon UI創(chuàng)建的一個(gè)世界空間畫(huà)布,在“AnimalFriend” UdonBehaviour上實(shí)時(shí)顯示一些值的更新,類似于控制臺(tái)中的日志,但可以輕松地附加到世界上…它還顯示了一個(gè)添加到快速菜單中的按鈕,該按鈕調(diào)用了一個(gè)方法來(lái)控制相同的UdonBehaviour。這里的所有Udon UI功能都是在不對(duì)AnimalFriend Udon程序進(jìn)行任何更改的情況下創(chuàng)建的。

按角色過(guò)濾群組成員
如上次的開(kāi)發(fā)者更新所提到的,按角色過(guò)濾成員的功能即將推出?。ㄉ踔量赡芤呀?jīng)推出,我還沒(méi)有檢查?。┻@個(gè)改變將幫助您在網(wǎng)站上組織/查看您的群組成員。
搜索您自己的群組成員正在進(jìn)行中,但尚未確定時(shí)間!