Commit 예시 #feat (Feature, 기능 추가): - feat 태그는 코드베이스에 새로운 기능이 추가될 때 사용됩니다. 예) feat: 사용자 인터페이스에 검색 기능 추가 #fix (Bug Fix, 버그 수정): - fix 태그는 코드베이스에서 버그를 수정할 때 사용됩니다. 예)fix: 로그인 모듈의 메모리 누수 이슈 해결 #docs (Documentation, 문서 수정): - docs 태그는 문서를 생성하거나 업데이트할 때 사용됩니다. 예)docs: README에 설치 지침 업데이트 #style (Style, 코드 스타일 수정): - style 태그는 코드 로직 변경 없이 코드 스타일만 변경할 때 사용됩니다. 예) style: 코드 포맷팅을 prettier로 재구성 #refactor (Re..
Git Conflict 일어날 때 본인이 작업하던 프로젝트를 가져오고 싶으면 위를 선택!(여기선 Use the modified file from main) 그게 아니면 아래 (origin/main) 선택합니다.
1. Rotation 먼저, transform.LookAt과 Quaternion.LookRotation의 차이점이 궁금했는데 직접 해보니 같은 결과가 나온다. 먼저 LookRotation같은 경우, 지정된 forward와 upwards 방향에 의해 rotation이 결정된다. LookAt은 target의 현재 위치의 vector point을 향해 회전한다. 음, 두개의 문법을 살펴보니 차이점이 존재한다. 일단 LookAt같은 경우 타켓팅 되어야할 대상이 존재해야 한다는 것이다. 예를 들어, 유도 미사일 같은데에 사용하면 좋을 듯 싶다, LookRotation은 타켓 없이 회전될 때 사용되어야할 것 같다. 예를 들어, 캐릭터의 회전 같은 곳에 사용하면 될 듯 하다. Z축을 기준으로 한다. Z축을 중심으로 ..
트레일러 영상 VR Project의 명칭은 Chess Maze입니다. 시놉시는 다음과 같습니다. 메타버스 세계에서 펼쳐진 새로운 version의 체스을 제시합니다. 2030년, 메타버스가 보편화된 세상에서 여러분은 VR 체스 월드에 직접 들어가, 체스의 주인공이 되어 완전 새로운 경험을 하게 됩니다. 플레이어는 양손 컨트롤러를 이용해 자석과 연결될 수 있습니다. 자석마다 보유한 능력이 달라, 스테이지마다 자석의 능력을 이용해 앞으로 나아갈 수 있습니다. 스테이지마다 '열쇠'가 존재하며 열쇠를 획득해야 새로운 길이 만들어지고, 그 길을 따라 스테이지를 탈출할 수 있습니다. 마지막 Final 스테이지에서는 퀸과 추격적을 펼치게 됩니다. 퀸을 피해 킹의 꼭대기에 올라가 왕관을 탈환하면 게임이 종료됩니다. 팀 ..
트레일러 영상 영상의 줄거리는 다음과 같습니다. 천재 프로그래머가 현실세계를 완벽히 복제해낸 가상세계에, 프로그래머가 잠든 사이 버그가 발생해 가상세계에 빛을 잃어버리는 아포칼립스가 발생하면서 가상세계에 살고 있는 AI가 버그를 고치기 위해 여정을 떠나면서 영화가 시작된다. 각 씬마다 붉은색, 초록색, 파란색 빛만 존재하는데 각 씬에 존재하는 버그(Bug)가 존재하는데, AI가 해결해야하는 부분이다. 3개의 씬 모두 버그를 해결하면 3색을 되찾게 되며 영화는 끝이난다. 팀 구성 프로젝트는 XREAL 구성원 팀장 이지인, 팀원 김진우, 오연주로 구성되어 있으며 지인님께서 전체적인 플로우 제작(타임라인 기능을 활용한)과 Shader를 구현해주었으며 저는 Shader를 구현하였습니다. 오연주님께서는 프로젝트의..
오브젝트에는 Renderer라는 컴포넌트가 존재한다 그 아래에는 Mateirlas 요소가 있다 메테리얼은 쉐이더 작성할 때 이용한 것들을 사용해 요리조리 주무를 수 있다 예를 들어 코드에서 Thickness를 수정하고 싶으면 레퍼런스를 불러 SetFloat의 값을 수정해주면 된다 이때 material과 sharedmateiral의 차이가 있는데 mateiral은 오브젝트의 sharedmaterial의 사본을 복제해 material에 할당하는 거다 즉 원본 파일이 아니란 뜻임 모든 오브젝트의 메테리얼을 동시에 바꾸고 싶으면 sharedMateiral을 쓰면 되고 단독으로 바꾸고 싶으면 mateiral을 사용하면 되는 것이다 이때 material을 사용하면 Batch Rendering을 사용할 수 없는 것이..
나는 주로 캐릭터 움직임에 사용하곤 했다 이렇게 대각선으로 이동하면 피타고라파덕의 스킬로 인해 루트2가되어 약 1.41만큼 앞서 나가기 때문에 정규화(Normalized)를 통해 대각선으로 갈때도 1로 맞추어 주었다. 이걸 또다른 방식으로 이용할 수 있는데!!! 바로 Direction을 얻고자 할 때 유용하고 사용된다. 이렇게 A에서 B로 갈 때 방향을 구하려면 다들 벡터는 아시죠? B - A = (화살표오른쪽가리키는거)AB 이렇게 되는거 그러면 방향은 구했는데 이렇게하면 AB선분의 길이까지 가져오게 되죠. 그래서 정규화를 통해 값을 딱 1만 가져오면 되죠! Vector dir = (B-A).normalized()를 통해 방향을 가져와요 다같이~
첫 번째 방법, Oculus Developer Hub를 이용하는 방법 페이스북 아이디를 만듭니다. (있으면 안만들어도 됩니다) 핸드폰에 Oculus앱을 설치합니다. 컴퓨터에 Oculus Developer Hub를 설치합니다. 핸드폰 및 컴퓨터 세팅 핸드폰 오큘러스앱을 실행하신 후 블루투스를 켜서 퀘스트2와 연결해줍니다. 이때 중요한 점, 세팅하고자 하는 Oculus Quest2의 전원 및 블루투스도 켜져있는 상태여야합니다. 핸드폰 오큘러스 앱의 개발자 모드를 켜줍니다. 다음은 PC의 Oculus Developer Hub를 킵니다. PC Oculus Developer Hub에 연결된 기기가 없다면 위와 같은 화면이 나올 것입니다. 새로운 기기를 추가하는 방법으로는 우측 상단 버튼을 눌러줍니다. 본인 기기의..
내가 자주 사용하는 PingPong함수이다. t값이 length값이 되면 t값이 다시 -되어서 0이된다 최댓값이 Length가 되는 것이고, 최솟값은 0이다. Movement에만 사용되는 것은 아니고 Alpha값 조정할 때 자주 사용했다, 깜빡깜빡 거리도록 하는거
Git 충돌 시 수동으로 해결하기 > : 내 프로젝트 지우고 싶은 곳은 ======을 기준으로 지우시면 됩니다. > & == 모두를 지우신 후에 [Mark as resovled]를 눌러주시면 [Commit merge] 버튼이 활성화 됩니다.
첫 번째로 Scene Depth와 Camera 노드를 사용했고 Screen Position을 이용하였으며 두개의 노드를 Substract노드를 통해 뺐습니다. 두 번째로 파도의 타일링을 구현했습니다. Time노드와 각각 Tiling and Offset 노드를 통해 output을 Sample Texture 2D에 각각 넣어줬씁니다. 세 번째로 파도의 출렁임을 표현하기 위해 Position(Object)노드를 사용하였고 Split을 통해 R, B채널만 뽑아왔씁니다(파도의 높이를 뽑아오려면 G채널 뽑아와야 하는거 아닌가..?) 최종 Graph 결과물은 이러하다. 노말맵이 약간 이상하다. 파도의 출렁임이 좀더 자연스러웠으면 좋겠다 싶었다.
모델 제공은 우리XREAL팀인 '오연주'님께서 제공해주셨다! 금손이심... 번개가 번쩍번쩍하는 효과를 추가하고 싶으나 실력부족.. VFX로 하면 이쁠 것 같은데.. + 번개 이펙트 추가함 파티클 시스템을 활용함
Rigidbody rb; if (gameObject.TryGetComponent(out rb)) { // Rigidbody 컴포넌트가 존재하므로 이제 'rb'를 사용하여 접근할 수 있습니다 } else { // 이 GameObject에는 Rigidbody 컴포넌트가 없습니다 } TryGetComponent는 GameObject에 존재하는 경우 지정된 유형의 컴포넌트를 검색하려고 시도합니다. 컴포넌트가 발견되면 true를 반환하고 그 컴포넌트에 대한 참조를 제공합니다. 발견되지 않으면 false를 반환합니다. GetComponent와의 차이 Rigidbody rb = gameObject.GetComponent(); if (rb != null) { // Use rb } 지정된 구성 요소 유형이 발견되지 않으..
유니티 Rigidbody에는 AddForce라는 함수가 있습니다. 이 함수는 Rigidbody에 힘을 더해주는 함수인데 여기에는 더해줄 힘(여기에는 방향도 포함되어있다)과 힘을 어떻게 줄지 종류를 정하는 2개의 인자를 받습는다. ForceMode 종류를 살펴보겠습니다. 1. Aceeleration - 질량(X) - 연속적인 힘(continuous) 2. Force - 질량(O) - 연속적인 힘(continuous) 3. VelocityChange - 질량(X) - 즉각적인 힘(instatnt) 4. Impulse - 질량(O) - 즉각적인 힘(instatnt)