유니티 34

유니티 - Simulator와 아이폰 노치에 UI 대응해보기

UI 제작 연습을 위해 게임 명일방주를 역기획해서 UI를 만들어보았다. 다만 게임씬에서 보이는 게임 화면은 PC 기준으로 보여주고 있는 것이다. 물론 모바일 비율로 바꿀 수도 있지만 실제 기기에서는 어찌 적용될지 궁금함이 생긴다. 이럴 때 사용할 수 있는 것이 Simulator이다. Simulator 사용 게임씬에서 Game 대신 Simulator를 선택해주면 된다.  Simulator로 바꾸면 여러가지 기기들이 보인다.  실제 기기에서 어떤 식으로 보여지는지 알 게 된다. 아이폰의 경우 다이내믹 아일랜드나 노치로 인해 화면을 일부 영역을 가리고 갤럭시의 경우 펀치홀이 화면을 아이폰보다는 훨씬 덜하지만 화면을 조금이지만 가린다. 아이폰 12의 경우엔 노치가 상당히 큰 편인데 아이폰 12로 설정해보고 확인..

유니티 2024.07.11

유니티 - 프리펩 Variant

프리펩 중첩 플레이어 프리펩이 있고 안에 메쉬가 있는데 이 메쉬를 다른 프리펩으로 바꿔보자 이렇게 되면 중첩 프리펩이 되는데이렇게 했을 때 장점은 NewPlayerMesh 프리펩을 수정시 Player 프리펩을 사용하는 모든 애들한테 쉽게 반영이 되도록 할 수 있다. 하지만 해당 중첩 프리펩을 이용한 애들이 온전히 같은 모양을 하고 있을 땐 유용할 지 몰라도 각각에 차이를 줘야할 때가 있을 것이다. 그럴 때 중첩된 프리펩을 각각에서 수정 시엔 Override를 하고 싶지 않은데 아래와 같이 빨간색 -표시, 초록색 +가 뜨는 문제가 있다. 물론 실행에는 문제가 없지만 나에겐 거슬리는 부분이라 개인적으론 중첩프리펩은 잘 사용하지 않고 프리펩을 언팩하여 사용한다. 다만 이렇게한 언팩하여 사용한다면 프리펩 끼리 ..

유니티 2024.07.03

유니티 - 코루틴의 WaitForSeconds을 효율적으로

yield return new WaitForSeconds(0.2f);  이런 식으로 코루틴에서 사용하게 된다면 "new" 키워드를 쓰기에 매번 새로운 WaitForSeconds를 생성하는 것이다. 고로 필드에 선언을 해주는 것이다.private WaitForSeconds myWait = new WaitForSeconds(0.2f);IEnumerator MyCoroutine(){ yield return myWait; Debug.Log("기다렸다 코루틴");} 이런식으로 필드에 객체를 만들어 놓고 쓰면 매번 새롭게 WaitForSeconds 생성되는 것을 방지할 수 있다.

유니티 2024.07.01

유니티 - Queue의 NullReferenceException

지옥 같은 NullReferenceException 이다. 이전에도 이것 때문에 글을 작성했는데 다시 작성을 하게 됐다. 만일 리스트와 큐를 선언한다하자 public으로 선언하면 알다시피  인스팩터 창에서 넣어줄 수가 있어 별도의 초기화를 하지 않아도 된다. 이렇게  인스팩터창에서 리스트에 값을 넣어주고 아래와 같이 리스트의 값들을 큐에 넣어주는 작업을 해보자 void Start(){ for(int i = 0; i ()); }} 리스트는 GameObject라 Card 컴포넌트를 가져와 Card 타입의 큐에 넣어주고 있는 모습이다.이렇게 하면 리스트에 있는 Card 데이터를 다 큐에 담아준 것으로 보인다. 하지만 이렇게 하면 NullReferenceException를 마주하게 된다... 대체 뭘..

유니티 2024.06.23

유니티 - 생성 지점을 씬창에서 가시적으로 보이도록 하기

만일 Empty GameObject를 만들어 몹이 나오는 생성 지점(Spawn Position)을 여러 곳 두었는데 문제는 이 생성 지점들이 가시적으로 보이지가 않는 다는 것이다. 이럴 때는  각각의 생성 지점 오브젝트의 인스팩터 창에서 씬창에서 보이는 아이콘을 선택해줄 수가 있다.파란 원형 아이콘을 선택 시 다음과 같이 씬창에 보이게 되며 게임창에선 보이지 않는다. 다른 생성 지점에 대해서도 아이콘을 적용시켜주면 다음과 같이 씬창에서 가시적으로 생성 지점을 확인할 수 있게 된다.

유니티 2024.06.18

유니티 - 포톤 기본 설정

패키지 먼저 설치해야함 https://assetstore.unity.com/packages/tools/network/pun-2-free-119922 PUN 2 - FREE | 네트워크 | Unity Asset StoreGet the PUN 2 - FREE package from Photon Engine and speed up your game development process. Find this & other 네트워크 options on the Unity Asset Store.assetstore.unity.com 에셋 스토어에서 펀2 무료버전 받아서 패키지 매니저 다운로드 후 임포트한다. 임포트 후에 애플리케이션 ID를 만들어야함 포톤 사이트에서 로그인후 새 어플리케이션 만들기 눌러 포톤 종류는 PUN..

유니티 2024.06.17

유니티 - 애니메이터창에서 실시간 전환이 안보일 때

유니티에서 게임씬을 돌리면 애니메이터에선 실시간으로 어떤 애니메이션이 수행되고 있는지, 애니메이션이 어떤 식으로 변하는지 트렌지션 과정을 보여준다. 흐름을 파악하기 쉽다.  프로젝트 할 때 팀장 분께서 만드신 애니메이터의 동작흐름을 확인하고자 실행을 해봤는데위와 같이 게임씬을 시작해도 아무런 변화가 없어 당혹스러운 상황이 생겼다. 이럴 땐 어찌하면 되냐.. 너무나도 간단하게 해당 애니메이터가 달려있는 오브젝트를 하이레키 창에서 클릭해주면 된다.참고로 자식에 애니메이터가 달려있더라도 부모가 아닌 자식을 눌러줘야 실시간 전환이 보인다. 즉 여기선 Aj@Idle 객체를 클릭해야 실시간 전환이 보이게 된다. Animation 창에서도 그랬는데 적용이 되어 있는 오브젝트를 선택해주는 것이 애니메이션에선 중요한 것..

유니티 2024.06.14