開發(fā)者更新 - 2023年1月26日

歡迎來(lái)到2023年1月26日的開發(fā)者更新!這是2023年的第二次開發(fā)者更新。
如果你想回顧一下,可以閱讀我們之前的開發(fā)者更新:

VRCat“早期支持者”徽章發(fā)放結(jié)束
VRCat早期支持者徽章將在本月底停用!

這個(gè)徽章顯示在你的個(gè)人資料中,如上圖所示。它自2020年12月起一直有效,可以說(shuō)我們已經(jīng)給了每個(gè)人一個(gè)相當(dāng)公平的機(jī)會(huì)!
不過(guò)別擔(dān)心,VRCat會(huì)繼續(xù)在快捷菜單頂部的視角上向你討要零食。
創(chuàng)作者助手提醒
我們目前計(jì)劃在發(fā)布更新的VCC(我們稱之為“VCC-Web”)之前等待,然后再全面切換到VCC。
由于收到反饋,我們正在研究直接下載資源包。它們將是與VPM兼容的UnityPackages,而不再使用傳統(tǒng)的資源包。VCC仍然是設(shè)置VRChat SDK和保持其更新的推薦和主要方法。
SDK2棄用提醒
除了將SDK管理轉(zhuǎn)移到VCC,SDK2將同時(shí)被棄用。SDK2將不再提供下載。
在未來(lái)的日期,SDK2創(chuàng)建的世界和角色將不再允許上傳。我們將盡可能在VRChat中支持現(xiàn)有的SDK2內(nèi)容。
持續(xù)開發(fā)
新的快捷菜單Avatar詳情
我們對(duì)快捷菜單中的角色詳情頁(yè)面進(jìn)行了一些改進(jìn)工作!它的風(fēng)格更接近MM Avatar詳情頁(yè)面?,F(xiàn)在,它甚至還有一個(gè)“喜歡的Avatar”按鈕。另外,有人請(qǐng)求將紋理內(nèi)存統(tǒng)計(jì)移到下載大小統(tǒng)計(jì)附近,所以我們也做了這樣的調(diào)整。

為了讓你了解更多幕后情況,我們還對(duì)統(tǒng)計(jì)數(shù)據(jù)的顯示方式進(jìn)行了一些改動(dòng),這樣將來(lái)在這個(gè)頁(yè)面上進(jìn)行調(diào)整會(huì)更加容易。
音頻滑塊修復(fù)
我們的下一個(gè)更新將修復(fù)VRChat主要音頻滑塊的問(wèn)題。從0%調(diào)整到100%將會(huì)更加平滑,這使得音頻滑塊在設(shè)置舒適音量方面更加有用。
以下是一個(gè)比較GIF,說(shuō)明了我們目前音頻滑塊的問(wèn)題。
音量警告:聲音會(huì)相當(dāng)大!(實(shí)際上沒(méi)有可以能發(fā)出聲音GIF)

你可能會(huì)注意到…
在0%時(shí),VRChat仍然是可聽的
直到達(dá)到75%-100%,VRChat才變得很大聲
125%的音量非常大
我們的下一個(gè)更新將解決所有這些問(wèn)題!100%的音量將與之前一樣大,但1%-99%的值現(xiàn)在會(huì)被正確計(jì)算。125%不會(huì)再讓你被嚇得措手不及,而0%將靜音游戲。
現(xiàn)在,將任何滑塊設(shè)置為50%,它的聲音將變?yōu)樵瓉?lái)的50%。不過(guò),這個(gè)改變意味著1%-99%的值將比以前更大聲。我們已經(jīng)調(diào)整了VRChat的默認(rèn)音頻設(shè)置來(lái)補(bǔ)償這一點(diǎn)-它們會(huì)保持與以往一樣大聲。
如果你想了解更多內(nèi)容,我們可以繼續(xù)討論,請(qǐng)?jiān)谠u(píng)論中留言。我們希望這些改變能讓VRChat對(duì)你來(lái)說(shuō)更加舒適!
注意:由于這些改變,我們下一個(gè)更新將會(huì)重置所有用戶的音頻設(shè)置。我們會(huì)通過(guò)加載畫面彈出窗口來(lái)通知用戶,以免讓任何人感到措手不及。
Avatar同步錯(cuò)誤
有一個(gè)問(wèn)題已經(jīng)存在一段時(shí)間,就是有些用戶加入世界后可能會(huì)出現(xiàn)參數(shù)不同步的情況。我們的一名工程師解決了這個(gè)問(wèn)題,并對(duì)問(wèn)題進(jìn)行了詳細(xì)說(shuō)明:
這是一個(gè)我在上個(gè)星期的項(xiàng)目中解決的bug,我在很久以前的時(shí)候玩游戲時(shí)就注意到了這個(gè)問(wèn)題,直到現(xiàn)在它還在持續(xù)存在。因此,我看到很多衣服出現(xiàn)問(wèn)題(在某些情況下甚至是簡(jiǎn)單的破碎的Avatar),很多人在嘗試設(shè)計(jì)動(dòng)畫狀態(tài)機(jī)來(lái)應(yīng)對(duì)可能發(fā)生的情況時(shí)都感到頭疼。
這是這個(gè)bug在運(yùn)行時(shí)的GIF:

第一次切換Avatar時(shí)一切都正常。當(dāng)我切換到白發(fā)Avatar時(shí),一切都按預(yù)期初始化。幾秒鐘后,我再次重復(fù)這個(gè)過(guò)程,你會(huì)注意到這次頭發(fā)在短暫的黑色狀態(tài)下,襪子也不見(jiàn)了,然后一會(huì)兒后又恢復(fù)正常。如果我的狀態(tài)機(jī)更脆弱,它可能永遠(yuǎn)無(wú)法恢復(fù),因?yàn)樗赡軙?huì)做出無(wú)法返回的過(guò)渡。更糟糕的是,這種情況只發(fā)生在遠(yuǎn)程Avatar上(本地Avatar從未出現(xiàn)過(guò)),而且通常只發(fā)生在房間中的某些人身上,這讓遇到這個(gè)問(wèn)題的用戶感到非常困惑,并且更加困難地去解決這個(gè)問(wèn)題。
最終,這個(gè)問(wèn)題是參數(shù)同步和Avatar初始化之間的競(jìng)態(tài)條件。當(dāng)用戶改變Avatar時(shí),他們會(huì)發(fā)送Avatar改變信號(hào),同時(shí)初始化他們的動(dòng)畫控制器,并將參數(shù)同步發(fā)送到房間中。當(dāng)從用戶收到參數(shù)同步時(shí),它們會(huì)被存儲(chǔ)在緩沖區(qū)中,然后被應(yīng)用于他們的Avatar的動(dòng)畫控制器。當(dāng)一個(gè)遠(yuǎn)程用戶的Avatar初始化時(shí),首先會(huì)加載它的默認(rèn)參數(shù)值,然后再將接收到的參數(shù)同步數(shù)據(jù)寫入這些默認(rèn)值之上。
在某些網(wǎng)絡(luò)和處理?xiàng)l件下,如果在一定的時(shí)間范圍內(nèi)沒(méi)有收到參數(shù)同步,那么緩沖區(qū)中的舊數(shù)據(jù)將被應(yīng)用到新的角色上。這意味著在某些情況下,當(dāng)用戶進(jìn)入一個(gè)世界時(shí),他們的Avatar可能會(huì)首先初始化為所有參數(shù)為零,或者如果他們切換Avatar,可能會(huì)將前一個(gè)Avatar的參數(shù)內(nèi)存塊應(yīng)用到當(dāng)前角色上,直到下一個(gè)參數(shù)同步到來(lái)并進(jìn)行修正。
這個(gè)bug通過(guò)更加緊密地將參數(shù)同步與相應(yīng)的角色關(guān)聯(lián)來(lái)解決,這樣我們就可以確定緩沖區(qū)中的數(shù)據(jù)是否過(guò)期。如果數(shù)據(jù)過(guò)期,我們就可以選擇不應(yīng)用它,并在等待已知即將到來(lái)的參數(shù)同步時(shí)加載默認(rèn)值。解決方案并不復(fù)雜,大部分時(shí)間都用在嘗試重現(xiàn)這個(gè)問(wèn)題,確定問(wèn)題出在哪里(由于并行性和時(shí)間限制,我無(wú)法在編輯器中重現(xiàn)這個(gè)問(wèn)題,所以每次迭代都必須構(gòu)建一個(gè)新的客戶端)。
搜索優(yōu)化和用戶體驗(yàn)改進(jìn)
我們一直在致力于進(jìn)行一系列較小的改進(jìn),以使VRChat中的搜索更加便捷,尤其是當(dāng)你需要反復(fù)搜索不同內(nèi)容時(shí)。
通過(guò)這些改變,搜索的工作方式基本與以前相同,但有一些關(guān)鍵改進(jìn):
如果你輸入自定義搜索過(guò)濾器并執(zhí)行搜索,我們現(xiàn)在會(huì)儲(chǔ)存這些搜索參數(shù)。
在主菜單仍然打開的情況下,我們會(huì)用這些自定義過(guò)濾器覆蓋所有隨后的搜索,包括預(yù)設(shè)搜索,并使用“搜索細(xì)化”按鈕上的金色文字指示這一事實(shí)。這將排除查詢,只會(huì)覆蓋過(guò)濾器。
一旦關(guān)閉主菜單,自定義搜索過(guò)濾器將清除并返回到默認(rèn)狀態(tài)。在這一點(diǎn)上,如果用戶需要這些過(guò)濾器,就必須重新定義它們。
如果用戶在“世界”和“用戶”搜索之間切換,這也將清除自定義搜索參數(shù),因?yàn)樗鼈冎g是不兼容的。
在世界搜索中,“相關(guān)性”現(xiàn)在是一個(gè)“排序方式”參數(shù)。實(shí)際上,在代碼中它一直是一個(gè)排序參數(shù),但我們更新了細(xì)化搜索模態(tài)框以更好地反映這一點(diǎn)。
細(xì)化搜索模態(tài)框上的“更新結(jié)果”按鈕只有在用戶更改了任何選項(xiàng)后才會(huì)變?yōu)榭捎脿顟B(tài)。這將更好地提示用戶必須按下該按鈕才能應(yīng)用過(guò)濾器。點(diǎn)擊模態(tài)框外部將導(dǎo)致其關(guān)閉并且不會(huì)應(yīng)用任何更改。
與搜索過(guò)濾器類似,搜索查詢也會(huì)保留在搜索查詢框中,直到用戶關(guān)閉主菜單或更改查詢內(nèi)容。
使用“Exact”排序選項(xiàng)的預(yù)設(shè)搜索將禁用打開“細(xì)化搜索”模態(tài)框的按鈕,并將覆蓋用戶之前設(shè)置的任何過(guò)濾器,因?yàn)椤癊xact”過(guò)濾器僅在內(nèi)部設(shè)置以獲取特定結(jié)果。
我們考慮過(guò)改變選擇過(guò)濾器的方式,但最終決定繼續(xù)使用“細(xì)化搜索”模態(tài)框,而不是轉(zhuǎn)換為下拉列表。當(dāng)前的設(shè)計(jì)對(duì)于需要同時(shí)選擇多個(gè)選項(xiàng)的設(shè)置來(lái)說(shuō)效果更好。
以下是我們的QA團(tuán)隊(duì)演示這些改進(jìn)的視頻!
更新過(guò)濾器然后搜索新內(nèi)容將保留你的過(guò)濾器設(shè)置:

關(guān)閉主菜單將清除先前的搜索條件和過(guò)濾器:

搜索“Worlds by VRChat”預(yù)設(shè)過(guò)濾器是一種特殊情況,它不允許你細(xì)化搜索。隨著我們?cè)陬A(yù)設(shè)搜索背后用例的擴(kuò)展,我們可能會(huì)再次使用這個(gè)功能!

我們希望這些改變能使與我們的搜索界面交互更加輕松和直觀,因?yàn)檫@是VRChat中探索的一個(gè)非常重要的部分。
Quest裸手追蹤更新
我們沒(méi)有視頻,因?yàn)樨?fù)責(zé)這個(gè)項(xiàng)目的工程師今天遇到了問(wèn)題。??但是,下面是一系列即將推出的Quest手指跟蹤功能的更改!
請(qǐng)注意:目前這些功能僅適用于Quest。我們當(dāng)然希望盡快將手指跟蹤帶到PC端,但目前還沒(méi)有預(yù)計(jì)時(shí)間。我們正在努力!
新內(nèi)容
現(xiàn)在你可以在無(wú)障礙設(shè)置中選擇三種拾取選項(xiàng):
拳頭 - 用手握拳來(lái)與拾取物交互
捏 - 用拇指和小指一起捏拾取物
兩者皆可 - 用任意手勢(shì)來(lái)與拾取物交互
你現(xiàn)在可以同時(shí)使用捏的手勢(shì)和拳頭來(lái)“在持有時(shí)使用”當(dāng)前手中的物體,比如筆、槍等。
手勢(shì)鎖定:將你的左手拇指和小指并在一起,可以禁用所有手指跟蹤手勢(shì),只保留快捷菜單手勢(shì)。
跳躍切換:現(xiàn)在你可以在無(wú)障礙設(shè)置中完全關(guān)閉跳躍手勢(shì)。
取消手勢(shì):點(diǎn)擊你的拇指和小指將關(guān)閉大多數(shù)提示和菜單。
修復(fù)和調(diào)整
修正了抓取物體時(shí)的方向,使其更加自然。
修正了傳送門放置弧的方向。
現(xiàn)在,如果手部跟蹤臨時(shí)丟失,你仍然會(huì)保持手中抓取的物體。
如果跟蹤臨時(shí)丟失,你的手現(xiàn)在會(huì)保持在原來(lái)的位置。
還有一些其他修復(fù):
修復(fù)進(jìn)行VR拍攝時(shí)的相機(jī)界面滾動(dòng)問(wèn)題。
修復(fù)在實(shí)例中封禁用戶導(dǎo)致幀率下降的問(wèn)題。
修復(fù)投票踢人通知未顯示的問(wèn)題。