ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유니티 Unity GoogleVR 추가
    [게임 엔진]/[유니티 Unity] 2020. 12. 27. 16:01
    728x90
    반응형

    스크립트 수정

    GvrEditorEmulator.cs의 234줄 주석처리

     

     

     

    Gvr 추가하기

    각 scene마다

    Hierarchy에 Create Empty - Empty object (이름: player) 생성 – 하위에 Main Camera 넣기

    Player에 Gvr Pointer Physics Raycaster 스크립트 넣기

    Main Camera 하위에 Gvr Reticle Pointer 넣기, ([선택] Reticle 빨간색으로 바꾸기)

    Main Camera에 Gvr Pointer Physics Raycaster 스크립트 넣기

    Hierarchy에 Gvr Editor Emulator 넣기

    Hierarchy에 Event System 넣기

    Event System에 Gvr Pointer Input Module 스크립트 넣기 – 스크립트 위로 올리기

    Hierarchy에 Gvr Event System 넣기

    Gvr Event System에  Gvr Pointer Input Module 스크립트 넣기

    Canvas Render Mode – World Space

     

     

    Button마다 들어있는 Script변경,  OnClick에서 스크립트 제거

    2초 응시하면 씬 전환하는 스크립트

    5째줄 LookToChange 가 스크립트 이름

    39째줄 (“”)안에 버튼을 응시하면 가야 할 scene 이름 넣기 (newscene 자리에)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.EventSystems;
    using UnityEngine.SceneManagement;
     
    public class LookToChange : MonoBehaviour
    {
        public float gazeTime = 2f;
        private float timer;
        private bool gazedAt;
     
        void Update()
        {
            if (gazedAt)
            {
                timer += Time.deltaTime;
                if(timer >= gazeTime)
                {
                    ExecuteEvents.Execute(gameObject, new PointerEventData(EventSystem.current), ExecuteEvents.pointerDownHandler);
                    timer = 0f; 
                }
            }
        }
     
        public void PointerEnter()
        {
            gazedAt = true;
            timer = 0f;
        }
        public void PointerExit()
        {
            gazedAt = false;
            timer = 0f;
        }
        public void PointerDown()
        {
            timer = 0f;
            SceneManager.LoadScene("newscene");
        }
    }
     
    cs

     

    Button에 Add component – Event Trigger 추가

    Event Trigger에 Add New Event Type에서 PointerEnter, PointerExit, PointerDown 추가

     

    PointerEnter에서 +누르고 hierarchy에서 Button끌어와서 None(Object)에 놓기, No Function 클릭 - LookToChange – Pointer Enter () 선택

     

    PointerExit에서 +누르고 hierarchy에서 Button끌어와서 None(Object)에 놓기, No Function 클릭 - LookToChange – Pointer Exit () 선택

     

    PointerDown에서 +누르고 hierarchy에서 Button끌어와서 None(Object)에 놓기, No Function 클릭 - LookToChange – Pointer Down () 선택

     

    (LookToChange는 스크립트 이름)

     

     

    728x90
    반응형

    댓글

S.B. All Rights Reserved.