환경. 오큘러스 인테그레이션을 설치.

용도.VR에서는 Canvas overay를 사용하지 못한다.
그래서 VR개발할때는 월드카메라를 기본으로 사용하는데. 
그러면 다른 가까운 3D 오브젝트에 캔버스가 묻혀버리는 일이 발생해서 글자가 안보인다.

2021 이전에는 카메라의 DepthOnly 를 사용해서 만들지만

이후 버전에서는 CameraStack을 사용하기때문에 사용방법이 달라져서
다른 분 들은 나 처럼 시간허비 하지 말라고 적는다.

1.하이어라키는 다음과같이 구성한다.
CenterEye가 VR에서 사용하는 카메라인데 
카메라를 복붙을하던 새로만들어도 좋다.
다음과같이 준비해 주고 


먼저 UI카메라의 설정을 오버레이로 설정한다.
그리고  보여주고싶은 컬링마스크를 지정한다. 

캔버스의 레이어를 카메라의 컬링마스크와 똑같이 해준다.

그럼 UI카메라에는 다른 3D 오브젝트를 제외한 UI패널만 나타나게 되고.



메인카메라의 Stack에 오버레이 UI카메라를 등록해주면.
저 UI카메라와 겹쳐서 보인다.


도움이 되었다면 댓글과 광고 한번씩만 눌러주시면 감사 하겠습니다.

'Unity 3D > VR' 카테고리의 다른 글

유니티 오큘러스 에어링크 안될 때 체크리스트.  (0) 2023.01.01
VR 탈착 감지코드  (0) 2022.12.25

이것은 분노의 고삐다.

고삐는 느슨해지거나 탄탄해진다.

살다보면 여러 일을 겪으며 사람은 늘 좋고 나쁜
스트레스를 겪으며 살아간다

사랑 , 자산 , 가족 ,일 등등..

이중에 신념과 가치관이 제일 중요하다

살면서 외적에서 오는 스트레스로 인해
여유가 생겼다 줄었다를 반복하지만

신념과 가치관은 내적 자존감과 사고방식으로
감정조절을 하고 스트레스를 스스로 관리함으로
성숙함을 나타내는 지표이다.

그래서 나는 화나거나 속상한일을 외부에 먼저
표출하기 전에 원인을 찾고 해결하기 위한
수단이 타인과의 소통일 때  드러낸다.

나 자신이 매일매일 성취하는것에 뿌듯함을 느끼고
자존감을 높여간다면 외부자극에 덤덤해지고
다른 사람을 포용하는 여유가 생겼다.

마른사람한테 멸치라고 하면 기분나빠 하지만
운동선수한테 멸치라고 놀렸을때 코웃음 친다던가

다른사람이 힘들어할때 지긋이 들어주기도 하고
나도 비슷한 경험을 했다며 공감해 줄 수 있었다.

남의 생각 또한 존중해주며 나와 완전 다른길 이라면
다투지 않고 갈림길에서 원만히 헤어졌다.

단 하나, 분노하며
여유를 부리지 말아야 할때는
누군가가 나나 소중한 사람을 해치려고하거나
정말 큰 위기가 닥쳤을때다

남자는 특히 더 그렇다
최대한의 공격성을 발휘하며 나와 내 가족을 지키기 위한
피지컬과 지능을 항시 발전시켜 두어야 한다.






openVR과 oculus integration 에셋 설치 된 상태에서

 void Start()
    {
        OVRManager.HMDMounted += mounted;
        OVRManager.HMDUnmounted += UnMounted;
    }

    public void mounted()
    {
        Debug.Log("mounted!");
    }
    public void UnMounted()
    {
        Debug.Log("Bye!");
    }

 

스팀VR의 경우는 이렇다.

public class HeadsetDetection : MonoBehaviour
        {       
        public SteamVR_Action_Boolean headsetOnHead = SteamVR_Input.GetBooleanAction("HeadsetOnHead");
                public bool IsHeadsetOnHead;
                public Action OnHeadsetOnHead, OnHeadsetOffHead;
            void Update()
                {
             if (headsetOnHead != null)
                    {
                        if (headsetOnHead.GetStateDown(SteamVR_Input_Sources.Head))
                        {
                            Debug.Log("Headset placed on head");
            
                            IsHeadsetOnHead = true;
            
                            if (OnHeadsetOnHead != null)
                            {
                                OnHeadsetOnHead();
            
                            }
                        }
                        else if (headsetOnHead.GetStateUp(SteamVR_Input_Sources.Head))
                        {
                            Debug.Log("Headset removed");
            
                            IsHeadsetOnHead = false;
                            if (OnHeadsetOffHead != null)
                            {
                                OnHeadsetOffHead();
                            }
                        }
                    }
            }
    }
  • [ ] 학교과정에서 말고 번외로 혼자서 만들려고 했었던 사이드 프로젝트가 있는지
  • [ ] 가잘 잘했다고 하는 프로젝트가 뭔지
  • [ ] 조용한 환경을 선호하는지 잔잔한 소음이 있는곳을 선호하는지
  • [ ] 포트폴리오에서 제일 어렵게 구현한 부분은 어디인지 어떻게 해결했는지
  • [ ] 아티스트와 리소스를 주고받았을때 어떻게 소통하는지
  • [ ] 버그났을때 가지는 자세와 마인드
  • [ ] 프로젝트 시작전 포지션 인원의 불균형은 어떻게 해결했는지
  • [ ] 잘못했을때 본인의 자존심을 버리고 일적인내용을 논리적으로만 소통이 가능한지 테스트 (자기생각을 표현 할 수 있는지)
  • [ ] 포트폴리오 코드를 보고 한번 꼬집어보고 어떤 이유에서 이렇게 했는지 더 나은방법이 있는지 찾아봤는지 등
  • [ ] 본인 장,단점 알고있는거 (자기객관화)
  • [ ] 내가 옳다고 생각했던걸 잘못 됐다고 지적받았을때 어떻게 대응하는지

면접 볼 때 마다 질문내용 생각하기 귀찮아서 아예 리스트를 적어놨었다.
키워야 하는 신입을 뽑을때, 기술적인 질문을 하기전에 물어봤던것들이며
질문중에 포트폴리오 내용을 보고 기출변형으로 물어보는것이 좋다.
개인적으로 면접에 참가할 때 아예 프린트해서 가져가는 질문이다.

최근 시나리오가 있거나 알파테스트중 앞의 부분을 건너뛰고싶을때 만들었던 스크립트다.
수 많은 if문과 switch문을 보는게 너무 극혐이라 단 4줄이면 되도록 만들었다!

이 코드를 붙인 오브젝트를 프리팹으로 만들어서 키보드 0~9를 눌렀을 때 
원하는 함수를 매핑하거나 다른 함수의 인스턴스로 불러와서 호출하면 정말 편하다.



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

public class SkipHelper : MonoBehaviour
{

//키보드 누르면 등록된 이벤트를 발생시켜 건너 뛰게 하기 위해 만든 스크립트 
    [SerializeField]
    public UnityEvent[] Events;

    void Update()
    {
        if (Input.inputString.Length == 0)
        {
            return;
        }
        else
        {
            Events[Int32.Parse(Input.inputString)].Invoke();
        }
        
    }
}

 

도움이 되었다면 광고나 댓글 한번씩 부탁드립니다~

혼자서 정말 많은 게임과 어플을 기획해보고 개발하다 말아먹으면서.

정말 수십개의 유튜브와 책을 보고 내린 짧은 결론이다.

정말 심플하고 간단하다.

사람들에게 정말 필요한 가치를 제공하면 된다.

가치란 무엇인가에 대해 정말 많이 고찰도 했었는데.

결국 나온 결론은 , 시간 & 돈 으로 환산 할 수 있으면 된다.

부당한 이득으로 부자가 된사람을 제외하고.

한국에 있는 100억원 이상의 자산을 가진 8800명의 부자들중
70%는 주식&코인에 투자경험이 없다고 한다.

사람들이 무엇을 필요로하는지. 그리고 도움이 되어서 불편함을 해소해줄수 있는지. 잘 생각해보자.

더 쉽게 예를 들면, 2022년 10월 카카오 데이터 센터에 화재가 났을때.
우리가 무료로 당연하게 써오던 카카오톡 서비스가 터졌을때 결제,전산이 망가져서
얼마나 수많은 사람이 패닉에 빠졌는지. 다들 알 것이다.
공짜로 서비스를 누리면서도 다들 돈내고 이용하는 것 처럼 욕들을 했다.
주식판에서 분할 상장이며 문어발 사업확장한다며 사람들은 그렇게 욕하면서도
결국은 카카오톡을 쓰고 있다.

그렇다. 사람들은 결국 소비자이고 내가 얼마나 힘들던 관심이 없다.
그저 좋은 결과와 나에게 만족감을 주었냐만 생각을한다.
감성으로 마케팅을 해도, 알맹이가 별로면 다 떠난다.
시장은 언제나 냉혹하고. 객관적이다.

내 능력으로 소비자에게
어디까지  최고의 가치를 제공 할 수 있는지 잘 파악하자.

똑똑하게 효율적으로 잘 준비해서. 부자가되자.
다만 부자가 되는 방법은 사람 성향마다 다르듯이 과정또한 다르다.

부자를 무작정 따라하려 하지말고, 필요하다고 생각된다면 하나씩 몸에 익히며 참고 하자.
자신만의 길을 찾자.

이것을 머릿속에 넣어놓고 더 이상 부자가 되는 방법에 대해서 알아보는데 시간을 투자하는것은 아깝더라.

졸업반 학생때, 혼자 여러 프로그래밍을 연구하고 독학하면서 느끼는것이 많았고 시간 또한 넘쳐났기 때문에
내가 공부한것을 공유하며 블로그를 열심히 관리했다.

그러다 정확히 2019년 5월 마지막날,  내가 공부하는 공간에 한 VR스타트업의 대표님이 찾아오셔서
그자리에서 면접을 봤고, 회사에 오라고해서 들어갔다. 

사내 정치질로 인해 모든 사원이 물갈이되던 찰나의 회사여서 내가 들어갔을때
회사에 대표님 둘 ,인사계 인원과 PM하나, 개발자는 나 혼자.
 
이제 갓 취업한 신입이 5억원의 자금이 투자된 프로젝트에 메인 프로그래머로 자리잡는 어메이징한 상황이 시작되었고.
블로그를 신경 쓸 수 없게되면서 티스토리는 까맣게 잊어먹었다.

심지어 인수인계없이 전임자가 만든 똥코드를 쌍욕을하며 분석하다가 그냥 다 뜯어 고쳐버렸고
나는 그 프로젝트를 무사히 통과시키게 되면서, 회사가 5억원을 토해내는일이 발생 하지 않았다. 

다른 게임개발자들이 VR/AR 회사 들어가지말라고 뜯어 말릴때,
"나는 미국의 페이스북이나 애플같은 IT 선도기업들은 AR/VR에 미친 투자를 하고있는데

왜 하지마? 그들은 당신보다 큰 시장을 볼줄 아는 눈을 가졌을 텐데?"
라는 의문을 가졌고. 
 
3년동안 유니티만 써왔고 언리얼을 다룰일이 없어서 다 까먹었지만
AR/VR에서 정말 많은 삽질과 독학을 하면서 
풍부한 경험을 갖추게 되는시점에서,

코로나가 터졌고! 메타버스가 터졌다!

그야말로 내가 몸담고 있던 시장의 가치가 떡상하고,
다들 하지 않았던 VR/AR 개발에서의 경력과 포트폴리오는 남들보다 독보적이게 됐다.

서버,쉐이더에도 관심이 많아서 혼자 공부를 해왔던 나는 다른방면에서도 아티스트와 소통하고 남의 똥도 잘 치울수 있는
제너럴리스트로 활약할 수 있었다.

지금까지 내가 공부해왔던것들은 
후임자들이 내 발자취를 보고 빨리 따라와서 나 만큼의 일을 해주면 편하겠다
그리고 내가 열심히 시간을 투자해서 공부하고 연구한건데 아무나 날로먹게 할 수는 없지.
하는 마음에 회사의 사내 위키에 노션에만 공유해 왔는데.

시기만 빠를뿐, 신기술이 나오면 1~2년뒤에 구글에 공유를 좋아하는 너드 개발자들이
레딧이나 포럼에 신나서 정보를 올리기 시작하기 때문에, 나도 그 정도는 셀프 브랜딩을 해보려고 한다.

어차피 내 블로그는 유입량이 다 구글링 검색이니까 다들 알아서 찾아왔을 것이다.
가져가서 새로운 가치를 만들어서 재밌는 게임들을 탄생시켜주었으면 좋겠다.

진짜 특허낼정도의 기술을 공유 해 줄 수는 없지만
그래도 자잘하고 유용한 정보들은 공유할 예정입니다!

내가 블로그를 운영하지 않는 동안에도 2019년의 정보를 찾기위해 평균 30명씩 내 블로그를 찾아왔다는것에 놀랐고.
마지막글에 댓글주신분 덕분에 의욕이 생겼어요 감사합니다.

최근 공부하는것에 비해 학습률이 안올라가서 고민이다.

 

이해가 안되고 그냥 수긍만 하게되서 그냥 던져버리고

 

어제 오버워치만 12시간 하고 잤더니 머리가 상쾌해졌다 ㅋㅋ

 

개발자한테 있어서 가장 중요한 능력은 이것저것 많이 아는것 보다.

 

새로운것을 빨리 배우고 적응하는 능력이고, 호기심이 끊이질 않아야 그게 유지가 된다.

 

일적인 능력면에서만 말하자면 이 두가지가 제일 핵심인것인데.

 

배웠던것은 점점 버리는 기술이 되어가고.

 

나이가 들면 생각이 쌓인 경험에 의해 점점 완고해지고 학습능력도 점점 떨어지는것이

개발자를 은퇴하게 만드는것이 아닐까 생각한다.

 

그러면 나이가 들면서 지금까지 쌓아온 노련함이나 축적된 지식을 활용해서 살아남아야하는데.

 

이에 대한 답을 내기는 아직 어렵다..

 

다만 줏어들은 건 많아서 두루뭉술하게 말한다면.

 

돈좀 벌어 둔 것이 있고 업계에서 떠나고 마음 좀 편하게 있고 싶다 하면 치킨집 하는거고.

흥미가 있어서 더 공부하고 좋은방향으로가면 네임드교수나 1인개발자가 될 수 있고,

나쁜방향으로 갈 경우 사내 정치질만 잘하는 꼰대가 될 수 있다고 생각한다. 

+ Recent posts