VRChat World에서 uGUI 사용

6795 단어 uGUIUnityVRChat

입문


VRCHAT의 세계에서 uGUI를 사용할 때의 주의사항과 필요사항 등
구체적인 예를 들어 소개하겠습니다.
이 기사는 Unity의 원래 uGUI에 가까운 사용법을 소개했습니다.
또 세계를 만들어본 사람들을 위한 내용이라고 생각해요.
VRCHAT의 흑마법 같은 사용법(Animation에서 Press uGUI의 Button까지~)
참조butadiene 121 동영상
또한 uGUI 자체의 일반적인 사용 방법에 관해서는 소개하지 않으니 각자 조사해 주십시오

uGUI



단순화 유닛에서 제공하는 GUI 구축 기능
예) Button, InputFiled, Slider
VRChat에서 uGUI일 경우 기본적으로 로컬에서만 실행
(작업 내용이 다른 사람과 동기화되지 않음)
VRCSDK의 VRC_너는 Trigger를 교묘하게 감아서 동기화 uGUI를 만들 수 있다
(2019/10/19 업데이트) 해외 동기화 uGUI 슬라이더 공개
https://twitter.com/Phasedragoon/status/1185207396202774528
@hatuxes 선생은 이 글에서 이것을 사용하는 방법을 소개하였다
https://qiita.com/hatuxes/items/7be6e1ef4c5fb446512b

작업 가능한 uGUI 설정


uGUI가 VRChat의 세계에서 작동할 수 있도록 하기 위해서는 다음과 같은 것이 필수적이다
  • Create>UI>Canvas를 사용하여 생성, Canvas에서 VRC_ 사용UiShape 구성 요소 설치
  • 설치 시 Canvas의 RenderMode를 WorldSpace로 설정하여 배율 및 크기 조정
    (Scale 0.005, Width:300, Height:200 등)
  • Canvas 레이어를 Default로 설정
    (UI 또는 UiMenu의 경우 빠른 메뉴를 열 때 라이센스가 나타날 수 있음)
  • 생성된 Canvas의 하위 세대에 Create>UI에 Button 및 Slider 등을 추가합니다(자 세대로)
  • 슬라이더의 Navigation은 None입니다.
    (None이 아닌 경우 화신을 이동할 때 Slider 이동)
    나는 Button을 제외하고는 모두 None일 수 있다고 생각한다

    작업 시 EventSystem이 생성되지만 필요한 경우 삭제하지 않고 보존하십시오.

    동기화할 uGUI의 Button 만들기

  • VRC_Trigger를 Button에 연결한 다음 OnClick()을 사용하여 VRC_Trigger의 Interact 설정
    (VRC_Trigger를 반드시 Button에 설치해야 하는 것은 아님)
  • VRC_Trigger의 OnInteract가 실행되므로 Always UnBuffered 등을 설정합니다.
    버튼을 누를 때의 동작 설정

  • VRC_Trigger에서 Custom으로 설정할 수도 있고, Button에서 Execute Custom Trigger로 불을 켤 수도 있습니다.

    InputFiled에서 비디오 URL을 SyncVideoPlayer 등에 입력합니다.


    동영상 URL(예: YouTube)을 SyncVideoPlayer(또는 SyncVideoStream)에 동적으로 추가
    입력 내용이 동기화되지 않지만 동기화 비디오 플레이어의 원래 규격에 따라 재생되는 비디오 내용은 동기화됩니다
    SyncVideoPlayer의 Owner 사용자는 입력을 통해 입력 내용을 반영합니다.
    (특별히 Owner를 전환하지 않았다면, 아마도 실례적인 Master는 Owner일 것이다)
  • InputFiled의 OneEndEdit 오른쪽 아래에 있는 +
  • 를 누릅니다.
  • RuntimeOnly의 선택 섹션에서 SyncVideoPlayer가 있는 객체 선택 (또는 드래그)
  • RuntimeOnly 오른쪽에서 SyncVideoPlayer의 AddURL을 선택합니다(이때 Dynamic(위쪽)의 AddURL을 선택합니다)
  • 이렇게 입력한 후 Enter 키를 누르면 새 애니메이션 URL로 SyncVideoPlayer에 추가됩니다.
    그리고 추가 URL을 재현하는 애니메이션으로 조립하면 됩니다

  • 추가 전 SyncVideoPlayer에 Stop->Clear, 애니메이션 URL 추가 후 Play, 추가 애니메이션 재생 가능(1례만)
    그때 애니메이션 URL을 추가해서 반영하는 데 시간이 걸리기 때문에 5초 정도 켜서 틀어야 돼요.

    Slider에서 AudioSource 볼륨 변경


    세계 배경음악 및 SyncVideoPlayer 볼륨 조정 방법
    객체 AudioSource 설정
  • OnValueChanged(Single)
  • Dynamic float(위쪽)의 float volume 선택
    (Slider의 값 값이 AudioSource.volume에 들어갑니다.)
  • 슬라이더의 최소값, MaxValue 및 Value 설정
  • 참고로 Button 등에서 Audio Source.mute가 사실이라면 무음 단추를 만들 수 있습니다

    또한 SilderA에서 SliderB의 maxValue를 설정할 때 SliderA를 조작하여 SliderB의 최대치를 변경할 수도 있습니다
    여기가 동기화되지 않고 로컬에서 실행됩니다.
    (동기식 슬라이더는 TPC 슬라이더를 사용해야 합니다. 또는 애니메이션 주위를 감아야 합니다(상당히 복잡한 메커니즘).

    다른 슬라이더 사용하기


    만약 당신이 슬라이더를 조작한다면 다른 슬라이더도 함께 이동할 수 있다
  • 슬라이더 A의 OnValueChanged에서 슬라이더 B의 Dynamic float의 value
  • 를 설정합니다.
  • 반대로도 마찬가지다.슬라이더 A를 이동하면 슬라이더 B도 이동합니다
  • 참고 자료


    VRCHAT 기술 노트 uGUI: 다음 설치 예제
    JetDogs-Prefabs: Jetdog 선생의 세계를 위한 Prefab은 uGUI의 일부를 집중적으로 포함하고 있습니다.
    uGUI에 대한 설명
    [유니티 입문] 캔버스는 뭐 할 수 있어요?UI의 기초를 배우세요!
    uGUI(Unity의 UI 기능) 사용 방법 요약

    관련 문장


    [VRCHAT] uGUI를 사용한 세계 메뉴의 샘플 공개 + 설명

    좋은 웹페이지 즐겨찾기