유니티3D 6

[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (3) | World Space UI 클릭 이벤트 발생 안함 해결, 제네릭 데이터 로더 구현, 데이터 AES 암호화해서 json으로 입출력

World Space의 UI 클릭 이벤트 발생하지 않는 문제 해결두가지 퍼즐 구현 마무리를 하고 다른 파트와 합쳐보다가 문제가 발생했다.현상 : Player를 추가하고나면 World Space에 있는 UI에 클릭이 안된다. World Space에 있는 UI 캔버스의 EventCamera는 스크립트에서 동적으로 할당하기 때문에 이 문제는 아닌 것 같았다. 찾은 원인 : 커서 Lock모드 PlayerController에서 커서의 lockState를 Locked로 세팅해주고 있는데, EventSystem은 보통 마우스가 움직일 때 UI 감지를 업데이트 하는데 Locked 상태에서는 마우스 이동이 없다고 판단될 수 있다고 한다. 해결 :  클릭 감지 시 UI 이벤트 수동으로 실행 이벤트 감지를 못하는 것이 원인..

[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (2)

목차- 물리 버튼 제작 마무리  ㄴ Spring Joint의 프로퍼티- Player ↔ 오브젝트 상호작용 조작감 개선  ㄴ 픽업 위치 개선  ㄴ 픽업 오브젝트 회전 기능 추가물리 버튼 제작 마무리이전 글 - 2025.03.13 - [프로젝트 일지/Unity] - [Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (1)어제 실제 세계의 버튼과 같은 구조로 Spring Joint를 달아서 사용할 것 같다는 결론이 났었는데, 문제가 생겼다. 그렇게 하면 연결된 두 물체가 한 물체로 여겨져서, 서로 충돌 이벤트가 발생하지 않는다.버튼의 바닥부분과 뚜껑 사이에 스프링이 있고, 무게에 의해 뚜껑이 내려가면 바닥면과 충돌하면 버튼이 눌린 것으로 인식되어야 하는데 OnCollisionEnter에 들어오..

[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (1)

어제부터 새로운 팀 프로젝트를 시작했다. 와이어프레임을 그려보며 회의를 시작했다가, 아이디어를 뻗어나가며 계획을 완성시켰다. 와이어프레임은 포문을 열어주는 정도의 역할이고 사실상 브레인스토밍식의 회의를 한 것 같은데, 다양한 게임 경험을 공유하는 것 같아서 재미있었다. 이번에는 피그마가 아닌 miro를 사용해서 문서를 작성하였는데 아주 좋은 툴을 알게 된 것 같다!! miro에서 아이디어 회의, Git 규칙, 와이어프레임, 클래스 설계도 등을 모두 작성하였다. 클래스 설계는 자세히 설계하지는 않고 파일 depth를 설계한 것에 가까웠다. 초기에 필요할 스크립트와 폴더가 정리된 채로 시작하는 정도만 해도 작업이 수월하게 느껴졌다. 이번 팀 프로젝트에서는 퍼즐 시스템 두 가지를 담당하여 개발하고 있다. 굉...

[Unity/TIL] 3D 개인 프로젝트 일지 (2)

문제 상황 : 애니메이션때문에 캐릭터가 점점 회전함...앞뒤 이동만 하고 있는데 캐릭터가 회전하는 영상이다. 예상 원인 : 회전과 관련된 코드가 아직 없었고, 애니메이션을 추가한 뒤로 발생한 문제이기 때문에 애니메이션의 각도가 원래 방향으로 돌아오지 않는 문제라고 예상했다. 애니메이션 실행 중에 회전하는 것이 아니라, 애니메이션을 한 번 끝낼 때마다 회전이 적용되는 것 같다. 3D 애니메이션을 처음 적용해봐서 해결을 어디서 해야할지 예상조차 할 수 없었다.해결 :챗 GPT에게 물어보고 따라해보니 해결됐다. 해결을 함으로써 원인을 예측할 수 있었다. 내가 가져온 애니메이션 파일 자체에 루트 본의 회전 정보가 포함되어 있었던 것이다.(Rig 탭에서 애니메이션 타입을 Humanoid로 해야 아래 설정들이 나타..

[Unity/TIL] AI Navigation 사용해서 NPC 구현

적이나 NPC들이 스스로 길찾기 알고리즘을 통해 돌아다닐 수 있게 하는 AI Navigation 기능을 드디어 배웠다. 걸을 수 있는 구간과 그렇지 않은 구간을 설정할 수 있다. 구역간 우선순위를 설정할 수도 있고, 특정 지형에서는 이동속도를 다르게 할 수 있다.  AI Navigation 사용 방법Package Manager에서 Packages: Unity Registry로 해놓고 AI Navigation을 Install 해준다.NavMesh 설정NavMesh를 깔아서 길찾기를 할 영역을 만들어 줄 것이다. 맵의 바닥 영역과 강 영역 각각 Walkable, Not Walkable로 설정해준다.Bake를 누르면 Nav Mesh가 쫙 깔린 것을 볼 수 있다. 장애물 - Nav Mesh Obstacle네브 ..

[Unity/TIL] 3D 환경 조성하기 (스카이박스 & 낮과 밤 구현하기)

목차- 스카이박스로 하늘 만들기- 조명으로 낮과 밤 만들기 스카이박스전체 씬을 둘러싸서 하늘의 역할을 함. 6 Sided Skybox를 만들면 총 여섯 면으로 둘러싸고 있어서 6개 각각 텍스처 매핑할 수 있음. 스카이박스로 하늘 만들기새 'Material' Create > Shader를 Skybox로 적용.Window > Rendering > Lighting 창 열어서 Environment 탭에서 Skybox 머티리얼 지정해줄 수 있음.스카이박스의 Sky와 Ground 색을 지정해줬다. 조명으로 낮과 밤 만들기Directional Light의 Roatation을 조절해보면 90도일 때 해가 꼭데기(정오)에 있음. 0도일 때 해가 동쪽에 있고, 180도일 때 서쪽에 있으며 270도일 때 가장 깜깜하다. 이..

728x90