한 걸음 두 걸음

유니티 특강 Day5 ] ray이벤트처리 / Video 비디오 및 전환/ insideout 본문

Unity

유니티 특강 Day5 ] ray이벤트처리 / Video 비디오 및 전환/ insideout

언제나 변함없이 2019. 1. 25. 13:13
반응형

ray 이해하기

일정한 방향을 나타내는 것이 ray라는 것을 알 수 있다.(ray가 방향을 만들기 위해 사용하는 두 벡터 점을 갖고 있다. 이는 origin, dir값으로 나뉘어 console창에서 확인할 수 있다.)

이제 카메라 시점으로 ray를 사용하고 싶으니 camera ray 키워드로 검색해서 찾아보자면

위와같은 것이 나온다.

HMD 기계는 보통 카메라나 컨트롤러로 제어한다. (PC - mouse / keyboard )

으아아 노정신하다;;

다운받은 스크립트인데 (navigation) 너무 정신없어.. 스크립트 다운받아서 적용함


여기서는 구에 insideout 효과를 주는 것까지 완료함.

이제 button 에 onClick 이벤트를 적용시켜서 동영상 변경까지 했는데

이후에 동영상 내부에서 돌아다니는 것도 구현하면 좋을 듯!

이는 동영상 video Clip 메소드가 제공되어있어서 그냥 가져다썼는데 새로 만들어보자면

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;

public class MaterialChange : MonoBehaviour
{

   // public VideoPlayer vid1;
    public VideoClip vc1;


    public void vidTog() {
        gameObject.GetComponent<VideoPlayer>().clip = vc1;
    }
}

이렇게 만들어주면 된다. 여기서 unityEngine에서 Video를 가져다 썼기 때문에 새로운 비디오 객체인 vidioClip이나 VideoPlayer등의 객체를 가져다 쓸 수 있게 되었다. 그러기때문에 앞으로도 뭔가 객체를 가져다 써야하지만 빨간줄이 생기는 경우에는 unityEngine 뒤에 쳐서 뭔가 더 있나 확인해보야한다. *이 아니었나보다.


이제 추가적으로 controller차이에 따른 설정을 해봅시다,

지금은 PC로하고있기때문에 마우스클릭을 받지만 VR기기에서는 광선 터치로 먹기 때문에 이를 반영해보자

카메라에

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class rayButton : MonoBehaviour
{

    public Camera cam;

    void Update()
    {
        RaycastHit hit;
        //Ray ray = cam.ScreenPointToRay(Input.mousePosition);//씬의 카메라의 태그를 main camera로 설정을 해야 한다.
        Vector3 forward = transform.TransformDirection(Vector3.forward) * 1000;
        Debug.DrawRay(transform.position, forward, Color.red);
    }
}

넣어서 mainCamera 객체로 넣어준 다음, 실행시키면
이렇게 카메라에서 광선 나오는 것도 확인가능함!!


으으,,,ㅋㅋㅋㅋ 광선으로 버튼 hit하면 버튼 눌리는 이벤트 ㅎ발생해서 동영상 바꾸는 거 만들고있는데

충돌이 일어나고있지 않으니 button collider 추가해줬어염!

edit collider로 작디작은 범위를 늘려주어야해여

엄청 넓혀놨더니 충돌 발생해서 동영상 바꼈다!!! 성공햇따!! 이제 집가서 복습함ㄴ서 왜그런지 이해해야겟따 아 꺄 ㅇ

UI다보니까 원래 collider가 없는데 이를 넣어서 늘려줬어요오


vidTog없던데 난 ㅠㅠ ㅠ_ㅠ 저게뭐람

왜 갑자기 생겼대.. 내가 만든 커스텀 스크립트 중 하나인 거 같으니 확인해봅시다아아

아 이거!! 그냥 동영상 바꿔주는 스크립트인데 ? 이미 제공된 스크립트? 메소드가 있어서 그거 사용하고 있었음!! 하여튼 이런거라니, 사용되었으니 좋음!


https://vimeo.com/134639706
참고 url


반응형