ããããªãã¯ãŒã«ãäœæ (å¿çšç·š)
ã¯ããã«
æ¬èšäºã¯ãæ¢åã®ã¢ã»ãããçµã¿åãããŠã¯ãŒã«ããäœæã»ã¢ããããŒããããçµéšããããåå¿è ãäžçŽè ã«åãã§ãã
ãšããããã¯ãŒã«ããäœæããŠã¿ããã©ã軜éåãæèãããUdonã§ã®ããã¯ãäœã£ãŠã¿ãããšãã£ã次ã®ã¹ããããžã®èžã¿åºãæ¹ãããããããªãâŠ
ãšãã£ãæ¹ã
ã«åããŠãå
¥ãå£ãšããŠãªã¹ã¹ã¡ããããµã€ããå皮玹ä»ããŸãã
ç®æ¬¡
ã¯ãŒã«ã軜éå
ãã»åŠçã®è»œéå
ãã»å®¹éã®è»œéåã¯ãŒã«ãã®ããã¯ã®èªäœ
ãã»ã³ãŒããæžããªãæ¹æ³
ãã»UdonSharpã®ããããããã«
1.ã¯ãŒã«ã軜éå
ã¯ãŒã«ãäœæãããŠãããšåžžã«é ã®é
ã«ãã©ã€ã"軜éå"ãšããèšèã
ãããããšã¯æããã©âŠã©ããªãã®ãããã®ãïŒ äœãããã°ããã®ãïŒ
ãšããéšåãããããªãâŠãšããæãããã€ãŠç§ã¯æ±ããŠããŸããã
åãæ°æã¡ãæ±ããŠããæ¹ãããããâãèªãã§ã¿ãŠãã ããã
åã«ã¯ãŒã«ãã®"軜éå"ãšãã£ãŠãã倧ããåããŠ2çš®é¡ãããŸãã
ã²ãšã€ã¯ã¯ãŒã«ãã®"åŠç"ã®è»œéåã
ããã宿œããããšã§ãåããã«ã¯ã«ã¯ããæ©äŒãæžããããšãåºæ¥ãã§ãããã
ããã²ãšã€ã¯ã¯ãŒã«ãã®"容é"ã®è»œéåã
æ°ãã«ã¯ãŒã«ãã«å
¥ãéãå¿
ãããŒã¿ã®èªã¿èŸŒã¿ãå¿
èŠã§ãã
ã¯ãŒã«ãã®"容é"ãå°ãããªãã°ããã®æéãççž®ããããšãåºæ¥ãŸãã
å
ã»ã©ã玹ä»ããèšäºã§ã¯ããããã®2çš®ã®"軜éå"ã«ã€ããŠã
ããã€ãã®å¯ŸåŠæ¡ãšããæ¹ã®æåŒããæžãããŠããŸãã
åŠçã®è»œéå
å
ã»ã©ç޹ä»ãããã¡ãã®èšäºã§ã玹ä»ãããŠããã¡ãã·ã¥ãã€ã¯ãšããææ³ã§ãããææã®ã¢ã»ããã§ã¯æããã®ã®Mesh Bakerãšããã¢ã»ããã®ååãããè³ã«ããŸãã
Unity Asset Storeã§ã¯å®æçã«ã»ãŒã«ãéå¬ãããŠããŸãã®ã§ã賌å
¥ãèããŠããæ¹ã¯ææèŠããŠã¿ããšãããããããŸããã
ã¯ãŒã«ãã ãã§ãªããã¢ãã¿ãŒã«äœ¿ãããšã§ãããªã¢ã«ã®åæžãåºæ¥ããããŸãã
ç§èªèº«ããã®Mesh Bakerã䜿ã£ãŠããŸããæåã¯äœ¿ãæ¹ããããããã
èŠæŠããŠããŸããã®ã§ãåèã«ãããµã€ãã玹ä»ããŸãã
ãããŒã³ãŒã«ã®å¢æžã®å
·äœäŸãšããŠã¿ãã®ã«ãããããã§ãã
容éã®è»œéå
ãã¡ãã®èšäºã§ã¯å®¹éã®è»œéåã«ã€ããŠãè§ŠããããŠããŸãã
ãã®å段ãšããŠã容éã倧ãããªã£ãŠããŸãæ¯é
é
ã¯ã©ããïŒã
確èªããããšãã«ã¯âã®ãµã€ããåèã«ãªããŸãã
2.ã¯ãŒã«ãã®ããã¯ã®èªäœ
ã¯ãŒã«ãã®äœæã«å€å°æ
£ããŠããŠãããããªã®ããã¯ã¢ã€ãã ãæ¬²ããããšããæããboothã®æ€çŽ¢æ¬ã«å©ãã€ããæ¥ã
ãéã£ãŠããã£ãããæ¹ã
å€ãããšæããŸãã
ã§ããããããããšãå¢ããŠãããšãããããããšã«ããã¿ãªåœãŠã¯ãŸã
ã¢ã»ãããèŠã€ãããã«æ¶ã
ãšããããšãããã§ãããã
ã§ã倧äžå€«ã§ãã
ããç¡ãã®ãªããäœãã°ããã®ã ããïŒïŒïŒïŒïŒ
çããã¯ãã€ã§ããã¯ãŒã«ãã®ããã¯ã"åµãåŽ"ã«ç«ã€ããšãåºæ¥ãŸãã
ãã®ããã®æåŒãã«ã€ããŠããã¡ãã§ã話ãã§ããããšæããŸãã
ã³ãŒããæžããªãæ¹æ³
ç¡ããªãäœãã°ããïŒãšã¯èšã£ãŠããä»ãŸã§ã«ããã°ã©ãã³ã°ãªã©ã«
è§Šããããšãç¡ãã®ã§ã€ãããã³ãŒãã£ã³ã°ã®ãå匷ãããŠUdonSharpã
ãŽãªãŽãªæžãã®ã¯ããŒãã«ãé«ããšæããæ¹ãããã£ããããããããŸããã
ãããªæ¹ã§ããå®å¿ãã
å®ã¯ãã³ãŒãã£ã³ã°ç¡ãã§ãã¯ãŒã«ãã®ããã¯èªäœãåºæ¥ãã®ã§ãã
倧äžå€«ã§ãã
ãUdonã¯ããšããšããžã¥ã¢ã«ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹()
ãã ãããããã䜿ãã°UdonSharpã§ã³ãŒããæžããªããŠãè¯ãã
ãªã©ãšå®£ãã€ããã¯ãããŸããã
(ããã䜿ãããªãããªãUdonSharpæžããã¯ãâŠ)
ä»åã玹ä»ããã®ã¯ãã¡ãâã
Trigger2to3ãšåŒã°ããã¢ã»ããã§ãã
ããã¯ããšããšãSDK2ã®æä»£ã®ä»çµã¿ã§ãã£ãVRC TriggerãSDK3ã§
å®è£
ããŠäœ¿ããããã«ãããšãããã®ã§ãã
ç§èªèº«ãVRChatã®äžçã«å
¥ã£ããšãã«ã¯æ¢ã«SDK3ã«å®å
šç§»è¡ãããŠãã
SDK2ã仿Žäœ¿ãå¿
èŠã¯ç¡ããšããã€ãŠã¯æã£ãŠãããŸããã
ãããããã®SDK2æä»£ã®VRC Triggerã¯ãã³ãŒãã£ã³ã°ãããã«ã®ããã¯ãèªäœããç®çã§äœ¿ãå ŽåããšãŠããšã£ã€ããããä»çµã¿ã§åºæ¥ãŠããŸãã
TriggerãšActionãçµã¿åãããããšã§ã
ããã€ãã©ããªãšããã«ããªã«ããã©ãããã®ãïŒããšããéšåãããŒãã®çµã¿åããã§äœæããããšãåºæ¥ãŸãã®ã§ãçŽæçã«äœããããã§ãã
ããã¥ã¢ã«ãå å®ããŠããã®ã§ãã©ããªããšãåºæ¥ãã®ãïŒã©ããã£ãŠäœ¿ãã°ããã®ãïŒã«ã€ããŠããããŸã§æ©ãŸãã«æžã¿ãŸãã
ããã«ãSDK3ãšãŠSDK2ãããŒã¹ã«ããã®ã§ããããSDK3ã®UdonSharpã
è§ŠããšããŠããåçš®ã¡ãœããã®ããªãšãŒã·ã§ã³ã¯çµæ§äŒŒãŠããã®ã§ã
UdonSharpã§ã©ãæžããïŒãã€ã¡ãŒãžãããããªãããŸãã€ãã§ãã
ç¹ã«ãããããã®ãTrigger2to3ã®ããã¥ã¢ã«ã«ãSDK3ã®Udonã§ã©ã®ããã«å®è£
ããŠããã®ãïŒãèšèŒãããŠããäºã§ãã
ç§èªèº«ãTrigger2to3ã§ã®ããã¯ãäœããªãããUdonã§æžããªãã©ãããã®ãïŒãããã¥ã¢ã«ãã確èªããããšã§å匷ããŠããâŠãšããããã»ã¹ã蟿ã£ãŠããŸããã
âã®å匷ã¹ã¿ã€ã«ã¯äººã«ãã£ãŠåãäžåãããããšã¯æããŸãããTrigger2to3ã«è§ŠããããšããUdonSharpãè§Šãããšã®åŠšãã«ã¯ãªããªããš
èããŠããããšããããšãäŒããŠããããã§ãã
èªäœã®ã¯ãŒã«ãã®ããã¯ã«èå³ã¯ãããã©ã³ãŒãã£ã³ã°ã¯ã¡ãã£ãšâŠ
ãšããæ¹ãæ¯éãŸãã¯æ°è»œã«è©ŠããŠã¿ãŠãã ããã
UdonSharpã®ããã
èªç±èªåšã«ã¯ãŒã«ãã®ããã¯ãäœæããããšããããã®ããªãïŒïŒ
UdonSharpã®æ²Œæ³ãžããããïŒïŒïŒïŒ
UdonSharpã䜿ãã°ããã¬ã³ããæããããšããæãããã¬ã³ãã«ãããªããäœããããšæã£ãã®ããã¯ã
é£è¡ãšãã§ã¯ããä»ããããšããå°é¢ã«ç匟ãããã¬ã³ããççºããã
ããšã ã£ãŠåºæ¥ããã§ãïŒïŒ
奜ãã«ãã¶ã€ã³ããå®è£
ããããšãåºæ¥ãŸã(é床ã¯ãããŸãã)ã
ãã ããUdonSharpã¯è§Šã£ãŠãã人å£ããäžèŸã«ãå€ããšã¯èšãã
ããŠããŠãéããã®ã«èŠåŽããŸããã®ã§ããªã¹ã¹ã¡ã®ãµã€ãã
ããã€ã玹ä»ãããŠããã ããŸãã
UdonSharpã®åŠç¿ãé²ããè¶³æããã«ããŠããã ããããªãã ãã®ã¯ãŒã«ããäœãåºãããã®äžå©ã«ãªãã°å¹žãã§ãã
UdonSharpã䜿ã£ãŠããŸãã¯åããã®ãäœã£ãŠã¿ããïŒïŒ
ãšããç®çã«ããã¿ãªãªã®ããã¡ãâã
UdonSharpã®ã€ã³ã¹ããŒã«ã«ã€ããŠã¯ããªããã£ãããšæžãããŠããŸãã®ã§ãå¿ èŠã«å¿ããŠãã¡ãããåç §ãã ããã(2.SDKå°å ¥ã®éšå)
UdonSharpã®æžãæ¹ã ãã§ã¯ãªãããªããžã§ã¯ãã«U#ãã¢ã¿ãããããšãããã解説ããŠãããŠããããšã³ããªãŒãã€ã³ãã«ããã¿ãªã§ãã
ãã®èšäºãããèªã¿ããŸãã¯UdonSharpã®äœ¿ãæ¹ãçè§£ããŸãããã
âã§UdonSharpã®äœ¿ãæ¹ãçè§£åºæ¥ãããæ¬¡ã¯UdonSharpã«ã€ããŠã®ç解床
åäžãšãå®äŸã«ããã€ã¡ãŒãžã®æç¢ºåããŸãšããŠãµããŒãããŠããã
ãã¡ãâãèªãã®ãããããã§ãã
ä»åŸUdonSharpãè§Šã£ãŠããã«ããããæ¬åœã«âŠæ¬åœã«é·ãä»ãåãã«ãªã
"åæåŠç"ã«é¢ãã解説ã詳ããèšèŒãããŠããŸãã
åããŠã®æ¹ã¯é ãæ©ãŸããã·ãŒã³ãå€ããããããŸããããæ ¹æ°åŒ·ã
åãåããŸãããã
æãããåæåŠçããã¯éããããŸãããè
¹ãæ¬ã£ãŠæŠããæã¿ãŸãããã
ãããŸã§ããã°ãUdonSharpã«å¯Ÿããçè§£ã¯ããªãæ·±ãŸã£ãäºã§ãããã
ãããããå®äŸãšããŠãUdonSharpã®äœ¿ãæ¹ãèŠãããšããæ¹ã¯
ã³ãã©âãªã©ãããããã§ãã
ãã¬ããŒãã®ã®ããã¯ãªã®ã§ãããã¡ãã£ãšããã²ãŒã ã®ãããªäœãã«ãªã£ãŠããŸãã
è¡çªå€å®ãªã©ã«ã€ããŠã®çè§£ãæ·±ãŸãäºã§ãããã
ããšã¯ããã®èŸºâãåèã«ããªããã奜ããªã®ããã¯ãäœæããŸãããã
äžã€ç®ã¯ãEventãäžèЧã«ãªã£ãŠããŠç°¡åãªè§£èª¬ãã€ããŠããã®ã§ãšãŠãèŠãããããããã®ãµã€ãã§ãã
äºã€ç®ã¯ãPlayerã«é¢ããæäœãããããšãã«äœ¿ã"VRCPlayerApi"ã«ã€ããŠãŸãšãŸã£ãŠãããµã€ãã§ããUdonSharpã§ã¯ãªããããžã¥ã¢ã«ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ã€ã¹ã§ããUdonGraphã®èšäºãªã®ã§æ³šæããŸãããã
ã©ããªããšãåºæ¥ãããã©ããªããŒã¿ãè¿ããïŒãªã©ãæ¥æ¬èªã§åãããããæžãããŠããŸãã
远å ã§ãå人çã«ã€ããªã·ã®ã³ãã©âãå ±æããŸãã
ã©ã¹ã¯ã¡ãããšéã¶ã¯ãŒã«ãã®èšäºã§ã(ïŸïœœïœžïŸïœ¬ïŸïœ¶ïŸïœ²ïœ²ïŸïœ¯ïŸïœ°)ã
ãã®ããã¯ã¢ã€ãã ãã§ã¯ãªãããã®ããã¯ã¯ãŒã«ããäžžããšè§£èª¬ããŠãããŠããã®ã§ãèªã¿è§£ãããšãåºæ¥ãã°å€§ããªåŠã³ã«ãªããŸãã
ãšããããŸã§æ¥æ¬èªã§èªã¿ããã解説ãããèšäºã玹ä»ããŠããŸããã
ããããæçµçã«ã¯ "å
¬åŒã®ããã¥ã¢ã«" ã«è§Šããããšã«ãªããšæããŸãã
UdonSharpã®å匷ãå§ããé ã«èªãã§ããµãããªããšæããŸãïŒç¬ïŒ
ãšã¯ãããå
¬åŒã®ããã¥ã¡ã³ãã玹ä»ããªãããã«ããããŸããã
æ¥æ¬èªã®è§£èª¬ãååšããªãå Žåã«ã¯ã³ã¬ãèªã¿ãªããäœæ¥ããããšã«ãªãããã§ãã
ãšã¯ãããããŸãé£ããèããå¿
èŠã¯ãããŸããã
ãã€ã䜿ããšãããããããªãŒãšé ã®çé
ã«çœ®ããŠãããŸãããã
ããŠãããŸã§ã§ãUdonSharpåŠç¿ã®ããŠããŠç޹ä»ã¯çµäºã§ããâŠ
æåŸã«UdonSharpã®ãããã°æ¹æ³ã玹ä»ããŠãããŸãã
UdonSharpã®ãããã°æ¹æ³
ãŸãã¯ãsteamã®èšå®ããããããã°ã¡ãã¥ãŒã®æå¹åããèµ·åãªãã·ã§ã³ã§æå®ã§ããããã«å€æŽããŸãã
âã®ãµã€ããåèã«ãèµ·åãªãã·ã§ã³ãšããŠ--enable-debug-guiãå ããããã«èšå®ãããŠãã ããã
steamã®èšå®ãåºæ¥ãããUdonSharpã®ã¹ã¯ãªããå
ã®ä»»æã®å Žæã«ã
Debug.Log("ä»»æã®æåå");
ã远èšããŸãããã
ãã®åŸVRChatå
ã§ãã¹ãããæãäžèšã远èšããåæãèªã¿èŸŒãã ãªãã°
"ä»»æã®æåå"ã®éšåãã³ã³ãœãŒã«ã«åºåãããããã«ãªããŸãã
Debug.Log("ä»»æã®æåå");ã¯è€æ°èšèŒããŠãåé¡ãããŸããããåŠçãšããŠã¯æ¯èŒçéãã®ã§ããããã°ãçµãã£ããã³ã¡ã³ãã¢ãŠãããŠããããã«ããŸãããã
ã¹ã¯ãªããã«è¿œèšãçµãã£ããããã£ããUnityã§BuildïŒTestã宿œããŠã¿ãŠãã ããã
ãã¹ã¯ãããã¢ãŒãã§VRChatãèµ·åãããã
åè§å
¥åã«ããããã§ãå³ShiftããŒãïŒã`ãïŒãïŒããæŒããŠãã°ç»é¢ã衚瀺ããããšãåºæ¥ãŸãã
â»Â  `  ã¯ïŒ ã®æžããŠããããŒã§ãã
Debug.Log("ä»»æã®æåå");ã远èšããã®ããã¯ã¢ã€ãã ãåããã
"ä»»æã®æåå"ã衚瀺ãããã®ãåŠã(è€æ°è¿œèšããå Žåãããã€ç®ãŸã§è¡šç€ºããããïŒ)ã確èªããããšã§ãUdonSharpã®ãããã°ãè¡ãããšãåºæ¥ãŸãã
ãããã«
以äžã§ãããããªãã¯ãŒã«ãäœæ (å¿çšç·š)ã¯ãããŸãã§ãã
å°ãã§ãçããã®ã¯ãŒã«ãäœæã®åã«ãªãããªã幞ãã§ãã
æåŸã«äžã€ã ãã¡ãã»ãŒãžãã

å¿
ãã宿çã«ããã¯ã¢ãããåã£ãŠãã ããã
äœæ¥ããŠããšãããã¯ã¢ãããé¢åã«ãªãæ°æã¡ã¯ããããŸãã
ã§ãããæåŸã«ããªããæãã®ã¯ãã€ã ã£ãŠããã¯ã¢ããã§ãã
ããã¯ã¢ããã§å¿ã®ããšããä¿ã¡ã€ã€ãã®ã³ã®ã³ãšã¯ãŒã«ãäœæã
é²ããŠãããŸãããïŒïŒ