분류 전체보기 (40) 썸네일형 리스트형 [TIL][Unity] 직렬화 특강 직렬화와 역직렬화Unity 에서 많이 생성되는 적이나 투사체 등의 오브젝트에 주로 Prefab 기능을 사용하곤 한다. 이 Prefab과 같이 어딘가에 정보를 보관했다가 그대로 다시 가져올 수 있는 것을 직렬화와 역직렬화라고 한다.이는 이미 Unity 에서 여러 요소에 적용되어 있는 부분이다. PlayerPrefs간단한 값을 저장, 불러오기 할 때 좋다. 저장할 때 Key와 Value를 입력하여 저장하고 불러올 때 Key값을 이용하여 불러온다. CSV엑셀 형태의 파일로 기획자와 협업할 때 편리하다.직렬화 시 엑셀에 쓰인 내용을 그대로 표현한다. PlayerPref과는 달리 '\n' + ', '로 구분된다.역직렬화시 위 구분점을 토대로 구분하여 실제 데이터에 대입한다. XML저장할 값들이 어떤 Key값을.. [TIL][Unity] 트러블슈팅 - 움직이는 오브젝트에서 오디오 재생 트러블슈팅 - 움직이는 오브젝트에서 오디오 재생실생활에서 차량이 움직일 때, 차량이 가까이 다가오면 소리가 크게 들리고 멀어지면 소리가 작아진다. 이를 프로젝트의 차량 오브젝트에 적용하고 싶었다.최초로 코드를 통해 플레이어와의 거리를 계산하여 일정 거리 이하일 때 오디오 볼륨값을 높이는 방식을 사용하였으나 잘 되지 않았다.문제 : 오디오 볼륨이 서서히 커지는 것이 아닌, 스위치를 켜고 끄듯 들렸다 들리지 않았다 함 원인은 지속적으로 볼륨을 올려주는 것이 아니라 한 번에 지정한 값으로 상승시켰기 때문이다.원인 : 조건문의 조건 설정 오류로 인한 코드 오작동 이 문제에 대해 조사하던 중 조건문을 재설정 하는 것이 아니라 기본 제공되는 기능을 사용하여 이 문제를 쉽게 해결할 수 있음을 알았다.Audio Sou.. [TIL][Unity] 트러블슈팅 - 같은 레이어 개체 간 충돌 무시 트러블슈팅 - 같은 레이어 개체 간 충돌 무시그림과 같은 맵에서 도로에 차량이 돌아다닐 때, 교차로에서 서로 충돌할 경우 오브젝트의 Rotation값이 뒤틀려 하늘로 올라가 버리는 현상이 발생했다. 이를 해결하기 위해 Rigidbody의 Freeze Rotation을 이용하였으나, 이 경우 Position 값이 변하여 문제가 지속되었다. 문제 : 오브젝트가 서로 충돌 시, Rotation 값 및 Position 값이 강제 변경되는 현상 이 문제의 원인을 기존에는 Rotation 값의 변화를 강제로 제어하는 옵션이 미적용된 것으로 규정하고자 하였으나 Position 값의 변화에도 동일한 현상이 발생하기에 서로 충돌하는 것 자체를 원인으로 규정하고자 하였다.원인 : 같은 개체인 오브젝트가 서로 충돌함 이를 .. [TIL][Unity] 트러블슈팅 - Invalid AABB inAABB 에러 트러블 슈팅 - Invalid AABB inAABB 다음과 같은 UI에 스태미나 게이지를 표시하고 스태미나의 변화를 Image의 Fill Amount 값을 조정하여 UI로 제공하는 기능을 구현하고자 하였다. 이 때, 문제가 발생하였다.에러가 발생하며 게이지 부분의 Image가 사라지는 문제가 발생한 것이다. 게이지가 비활성화 됨에 따라 스태미나의 변화를 UI에 나타낼 수 없게 되었다. 문제 : Invalid AABB inAABB UnityEngine.Canvas:SendWillRenderCanvases () 에러 코드가 발생하며 Image 비활성화 이 문제의 원인을 파악하고자 에러코드에 대한 검색을 시작했으나, 흔치 않은 에러인지 만족스러운 검색 결과가 나타나지 않았다. 따라서 튜터님께 여쭤보았다.하지만.. [TIL][Unity] 코루틴 사용하기 코루틴 사용하기이번 내일배움캠프를 진행하며 정말 많이 들었던 용어가 바로 코루틴이다. 매번 들어만 봤고 이번에 이론을 배우게 되어 기억하고자 정리하였다. 코루틴코루틴은 작업을 다수의 프레임에 분산하는 메서드이다. Unity에서 코루틴은 실행을 일시 정지 후 Unity에 반환하지만 중단한 부분에서 다음 프레임을 계속 할 수 있는 메서드이다. 또한, Update() 메서드가 주로 반복되는 코드를 담당하지만 Update 메서드가 아닌 부분에서도 반복적인 코드를 사용해야 할 상황이 나오는데 이 경우 코루틴을 사용하는 것이 효과적이다. 동기? 비동기?코루틴은 그렇다면 동기일까? 혹은 비동기일까? 동기는 어떤 작업이 요청되었을 때 그 작업이 종료될 때 까지 기다린 후 다음 작업을 수행하는 방식이고, 비동기는 어떤 .. [TIL][Unity] 게임 개발 입문 프로젝트 프로젝트 명 : 과제 피하기프로젝트 소개 : 똥피하기 게임 레퍼런스를 사용하여 과제 낙하물을 피해 생존하는 게임 제작하기 와이어프레임 : https://excalidraw.com/#room=21229dd8dda8e237ed1a,VkNbKA6-wB_ldpv5Ik2wEA Excalidraw — Collaborative whiteboarding made easyExcalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.excalidraw.com프로젝트 Github : https://github.com/ChungRaeGyu/Alt_F4_Avoi.. [TIL][팀프로젝트] 트러블슈팅 트러블슈팅이번 주간 팀 프로젝트를 진행하며 가장 강조되었던 사항 중 하나가 바로 트러블슈팅이다. 트러블슈팅이 도대체 무엇일까?트러블슈팅이란 문제 발생 시 원인을 규명하고 해결하는 작업을 의미한다. 프로그램을 개발할 때 스크립트에서 에러가 발생하고, 해당 에러의 원인을 찾아 수정하는 것. 이 일련의 프로세스가 즉 트러블슈팅이다. 팀 단위 트러블슈팅은 왜 기록되어야 하는가?앞서 언급하였듯이 프로그램을 개발하는 과정에서 에러가 발생하고 그 에러를 해결하는 일은 굉장히 빈번하게 발생한다. 더군다나 팀 단위 개발에서는 여러 명이 동시에 작업을 하면서 같은 에러로 골머리를 앓는 경우도 발생한다. 이 경우 효과적으로 에러를 해결하고자 트러블슈팅을 문서화하여 기록하는 것이다. 팀원이 겪은 트러블슈팅을 보며 본인의 에러.. [TIL][Unity] 배경음악 랜덤 재생하기 배경음악 랜덤 재생하기대부분의 온라인 및 오프라인 심지어 인디게임에서도 배경음악(BGM)이 랜덤하게 재생된다. 이 배경음악이 게임의 분위기나 상황을 더욱 고조시키는데에 크게 이바지하기 때문에 게임에서 BGM의 역할은 결코 작다고 할 수 없다. 나는 그래서 우리 프로젝트에 하나의 BGM을 반복하여 재생하는 것이 아닌 랜덤한 BGM을 재생시키고 싶었다. 사운드클립 배열 만들기배경음악이 아무런 기준도 없이 랜덤하게 재생된다면 어떠할까? 예를 들어 죽음을 앞둔 기사의 마지막 모습에서 상큼발랄한 BGM이 재생된다고 가정해보자. 이는 게임의 분위기를 고조시키기는 고사하고 해치게 될 것이다. 따라서 사운드클립 배열을 만들어 비슷한 분위기의 사운드클립을 모아 그 중에서 랜덤 재생 시키는 것이 바람직하다.public A.. 이전 1 2 3 4 5 다음