소개
(현) 캐나다 AAA 게임 스튜디오 U사 프로그래머
- PC/콘솔 AAA 게임 프로젝트 참여
(전) 국내 게임사 N사 서버 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 유니티 캐주얼/미드코어 게임 프로젝트 참여
(전) 국내 대기업 S그룹 소프트웨어 엔지니어
- S그룹 계열사 전산 시스템 프로젝트 참여
안녕하세요. 게임 개발자 BurningCarrot 입니다.
게임을 개발하는 사람이 되고 싶다는 마음으로
대기업을 퇴사한 후 국내 게임 회사를 거쳐
현재는 해외 게임 스튜디오에서 일하고 있습니다.
현재 업계에 몸담고 있는 만큼, 현업에서 사용하는
실전 노하우와 기법을 최대한 공유 드리고자 합니다.
여러분과 같이 게임을 좋아하고 만드는 한 사람으로서,
제 강의를 수강 하시는 모든 분들이 각자의 목표에
한걸음 더 다가갈 수 있는 유익한 시간이 되었으면 좋겠습니다.
강의
전체1수강평
게시글
질문&답변
2024.09.07
SingletonBehaviour 클래스의 where 제약 관련해서 질문 드립니다.
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다. SingletonBehaviour 제약을 추가하는 이유는 제네릭 타입 T가 항상 SingletonBehaviour 의 하위 클래스임을 보장하기 위해서 입니다. 이 조건이 없으면 잠재적으로 모든 타입을 T로 전달할 수 있게 되며, 이로 인해 싱글톤 패턴이 깨져버리는 결과를 초래합니다. where 제약을 사용하는 또 다른 좋은 예로는 ObjectPool 클래스가 있겠습니다. 아래와 같이 Character 로 제네릭 타입 T를 제약함으로써, 오브젝트 풀에 사용할 수 있는 클래스는 Character 클래스의 하위 클래스만 가능하도록 강제할 수 있습니다. public class ObjectPool where T : Character { //....(중략) }
- 0
- 1
- 49
질문&답변
2024.09.05
SingletonBehaviour 수업 마지막 부분에 질문이 있습니다.
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다. 비주얼 스튜디오에서 빌드를 하는 이유는 유니티 에디터로 돌아와 리로드 완료를 위해 대기하는 것이 번거롭기 때문입니다. 코드 수정 후 비주얼 스튜디오에서 확실하게 빌드를 끝내면 유니티 에디터로 돌아와 기다림 없이 바로 작업할 수 있습니다. 또한 급한 마음에 리로드가 끝나지 않은 상황에서 작업을 할 시 예기치 못한 에러가 발생할 수 있습니다. 그리고 간혹 유니티 에디터에서 제대로 리로드를 하지 못하는 경우도 있습니다. 이런 경우 별도의 에러는 발생하지 않기에 리로드 문제인지 다른 작업의 문제인지 혼선이 올 수 있습니다. 이런 문제들을 예방하기 위해서 코드 수정 후 빌드를 꼭 하시는 것을 권장 드립니다.
- 0
- 1
- 41
질문&답변
2024.08.13
InGame 씬 배경 화면이 나오지 않아요
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다. InGameUICamera 오브젝트의 Camera 컴포넌트의 설정값들이 어떻게 되어 있으신가요? 첨부된 스크린샷처럼 되어 있는지 확인 부탁드립니다. (사진)
- 0
- 1
- 94
질문&답변
2024.08.12
InventoryUI가 특정 상황에서 ESC로 나가지지 않는 현상
안녕하세요! BurningCarrot입니다. 내용 공유해 주셔서 감사합니다. 이번 주에 강의 보완 및 자료 재업로드 하도록 하겠습니다.
- 0
- 3
- 124
질문&답변
2024.08.10
스트링을 말아서 로그 쏘실 때 두가지 방식 차이
안녕하세요! BurningCarrot입니다. 먼저 [유니티 시스템 프로그래밍 Pt.1]을 수강 해주셔서 감사합니다. 문의해 주신 내용에 답변 드립니다. 첫 번째 방법은 String Interpolation 두 번째 방법은 String Concatenation 이라고 합니다. 두 방법 간의 성능 차이는 거의 없다고 봐도 무방하며, 편의성 및 가독성 측면에서 첫 번째 방법을 사용하시는 것을 권장 드립니다. 두 가지 방법이 모두 가능하다는 것을 보여드리기 위한 것이었을 뿐 아래 코드를 첫 번째 방법으로 수정하셔도 무방합니다. Logger.Log("Load failed (" + e.Message + ")");
- 0
- 1
- 93