분류 전체보기 77

유니티 - 코루틴의 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

스파르타 코딩클럽 - 심화 프로젝트 후기

KEEP목표점을 확실하게 정하여 좋은 결과물을 만들 수 있었다.여러 새로운 시도를 해 다양한 시도를 할 수 있었음 PROBLEM서로에 대한 코드에 대한 소통이 다소 부족했다. 나중에 개인적으로 분석해서 겨우 완성할 수 있었다.관련 지식이 부족해 새로운 시도에 대한 완성은 실패하여 아쉬웠음 TRY서로 만든 코드에 대한 대화를 긴밀하게 해야겠음을 느꼈다.지식 공부가 늘 중요하다는 생각이다.

KPT 회고록 2024.06.28

유니티 - 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

동기화

로비씬 만들기  해당경로의 로비씬을 Assets 폴더의 씬 폴더로 이동시킴 LobbyMainPanel 코드 수정 해당코드는 Start 버튼 누르면 해당 룸을 찾을 수 없도록 만들고 게임씬으로 이동하는데1번 게임씬을 불러오도록 수정함Remove에 문제가 생겨서 수정한거임  playerListEntries 딕셔너리서 ActorNumber에 해당하는 게임오브젝트를 찾아 entry를 내보내고entry를 파괴 후에 해당 ActorNumber에 해당하는 애를 엔트리서 삭제한다.initialProps  AsteroidsGame의 클래스를 사용해 해시테이블안에 넣었고 그 해시테이블을 내 프로퍼티로 등록한 것이다. 플레이어 레디 버튼을 눌렀을 때의 콜백을 등록했다. Add리스너 방식으로 호출한다. 리스트가 없으면 만들어..

카테고리 없음 2024.06.18

C# - ??, is, as 연산자와 패턴 일치 기법

?? ?? 연산자는 null 판별할 때 쓰인다. string result = str ?? "str is null"; 만일 str 이 null이면 오른쪽에 있는 "str is null" 이 result에 들어가고null이 아니라면 str 그대로 result에 들어간다. ??=str ??= "str is null"; 이런식으로 쓰이면 만일 str이 null이면 "str is null"이 str에 들어가고null이 아니면 str 값 그대로 유지하는 것이다. str ??= GetDefaultValue(); 이런식으로 null일 때는 기본값을 설정하는 함수의 반환값으로 설정할 수도 있다. is is는 영어 is랑 비슷하게 생각하면 된다. A is B하면 A == B로 생각할 수 있다. 다만 is 뒤에는 변수가 오..

C# 2024.06.17

유니티 - 포톤 기본 설정

패키지 먼저 설치해야함 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