[Unity] Custom Editor Window 데이터 Import 시, Save/Load
·
엔진, 프레임워크/Unity
[Unity] Editor Refresh 시 EditorWindow 데이터 Save/Load1. 상황Data 변환기를 EditorWindow로 만들었다. 평소에는 이런 상황이 나타나는 기능을 개발한 적이 없어서 몰랐는데, Field에 값을 채우면 Unity가 새로고침 되면서 Field에 채운 값들이 사라졌다. 변환기는 1차 작업과 2차 작업으로 나눌 수 있다. 1차 작업은 Field의 값을 바탕으로 Script를 생성하는 것이고 2차 작업은 Field의 값을 바탕으로 S.O를 생성하는 것이다. Script 생성 시, 자동으로 새로고침이 되면서 Field의 값을 날리기 때문에 2차 작업에 필요한 값을 요구할 수 없는 상황이었다. 설정을 통해서 자동 새로고침을 끌 수 있지만, 내가 원하는 해결 방법은 아니었..
[Unity] Reflection을 사용해서 List에 값 추가하기
·
엔진, 프레임워크/Unity
[유니티] Reflection을 사용해서 List에 값 추가하기1. 상황Excel 데이터를 S.O로 변환하기 위해서 ScriptableObjectGenerator 클래스를 만들었다. 해당 클래스는 S.O의 타입을 가지고 있지 않고 Path를 통해서 Script를 읽어온다. 그렇기 때문에 S.O의 타입을 String 문자열 말고는 가질 수 없었고 Generic으로 메서드를 만들기 어려운 상황이었다. ScriptableObjectGenerator 클래스는 CreateScriptableObject 메서드를 통해서 S.O를 생성하게 되는데, 내가 보유한 정보는 다음과 같았다.1. S.O 클래스의 위치(string)2. 데이터가 들어가야 하는 변수의 이름들(List)3. 데이터로 만들어야 하는 값들(List) 이..
[WARNING] Unable to find style 'ToolbarSeachTextField' in skin 'DarkSkin' Used
·
엔진, 프레임워크/Unity
경고 메시지 Unable to find style 'ToolbarSeachTextField' in skin 'DarkSkin' Used Unity Version : 2022.03.19 Input System Version : 1.8.0 내용 Input System을 실행하고 Key 바인딩 과정에서 값을 선택하면 위 경고 메시지와 같은 문구가 콘솔창에 나타났다. 해당 경고로 인한 결과인지는 모르겠지만, 아래 이미지에 나타난 항목에서 마우스 클릭으로 선택이 불가능했다. 해결 방법 해당 경고 메시지가 나타나지 않는 1.6.3 버전으로 다운그레이드를 하여 해결할 수 있었다. 기존 버전을 삭제하고 Package Manager에서 위 이미지와 같이 설치하면 된다.
[인프런] 따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01 후기
·
엔진, 프레임워크/Unity
* 해당 강의는 인프런 '찍먹클럽' 강의 체험단으로 수강하였습니다. 따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01 후기 활동하고 있는 게임 제작 동아리 Bridge에서 인프런 강의 체험단 찍먹클럽 모집 공고 소식을 공유받았다. 찍먹클럽은 1 달마다 선정되는 주제가 다른데, 이번에는 전공인 게임개발이고 평소 공부한 내용을 바탕으로 강의 영상을 만들고 싶단 생각이 있어서 바로 신청했다. 결과는 정말.. 신기하게도 선정됐다. 체험단 신청 시에 4개의 강좌 중에서 1~4 순위를 선택할 수 있었는데, 다른 일정과 병행해야 했어서 1, 2순위로 유니티 주제 강좌를 간절히 빌었는데 다행히 1순위 강좌인 『따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01』가 선정됐다. 강좌 소개 해당 강좌..
UI에서 Particle System 추가하는 방법 - Raw Image & Render Texture
·
엔진, 프레임워크/Unity
팀에서 위 사진에 보이는 빨간 박스 안에 파티클을 추가해달라는 요청을 받았다. UI로 되어 있어서 일반적인 방법으로 Particle System을 동작시킬 수 없으므로, 구현 방법을 찾아봤다. 처음에는 Canvas의 조정을 통해서 적용하는 방법을 생각했으나, 이 경우는 다음과 같은 사유로 인해서 사용하지 않았다. - UI 위에 Particle System이 올라갔어야 했다. 우리 팀에서는 가장 후순위로 UI를 그려주는 Overlay 타입의 Canvas를 사용하고 있으므로, Camera 타입의 Canvas를 Overlay 위로 올릴 수 없었다. 그래서 다른 방법으로 Render Texture를 사용해서 작업을 완료했다. Project 창에서 우클릭을 해서 Render Texture를 생성해주자. 그 다음은..
Unity - Bezier Curve에 대해서 학습해보자.
·
엔진, 프레임워크/Unity
Bezier Curve의 원리 유니티뿐만 아니라, 컴퓨터 그래픽에서 부드러운 곡선의 구현을 위해서 많이 사용된다. 그래서 해당 내용을 Unity 카테고리에 적을까 Math 카테고리에서 작성할까 고민을 하다가 Unity에서 구현하는 방법을 가지고 Bezier Curve를 소개할 예정이라 Unity 카테고리에 작성을 한다. 베지어 커브(Bezier Curve)는 선분에서 얻는 점을 가지고 구현을 할 수 있다. 1차 베지어 커브부터 N차 베지어 커브까지의 값을 구할 수 있는데, 해당하는 수식들은 아래와 같다. 1차 베지어 커브 B(t)= (1−t)P0​+tP1​ 2차 베지어 커브 B(t)= (1−t)[(1−t)P0​+tP1​]+t[(1−t)P1​+tP2​]=(1−t)2P0​+2(1−t)tP1​+t2P2​ 3차..