728x90

2024/03 20

[Unity] 모바일 최적화 2022LTS 자료 모음

1월 17일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS https://www.youtube.com/watch?v=-IrpQzZi_p8 2월 21일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS 2편 https://www.youtube.com/watch?v=6dBsTYa3APA 3월 20일 오후 4시 알쓸유잡 : 모바일📱최적화 2022LTS 3편 https://www.youtube.com/watch?v=vGYIgZJHby8 추가 자료 Unity의 UI 시스템(UGUI) 성능 최적화 https://www.youtube.com/watch?v=1e2mSCS7o1A 게임 개발에 필수적인 내용을 담는 명서들을 소개합니다. (유니티 최신 버전) https://link.coupang.com/a/be3P0..

[Unity] 시네머신을 활용해 쉽고 간편하게 카메라 이동 영역 제한

유니티 엔진에서, 카메라가 캐릭터를 따라다니지만, 특정 영역까지만 따라가길 원하는 경우, 시네머신(Cinemachine) 기능으로 간단하게 구현 가능. 0. Cinemachine 은 Package Manager 에서 Package 를 추가 해줘야 사용할 수 있음. 1. CinemachineVirtualCamera 컴포넌트 하단의 Extensions / Add Extension 찾기. 2. Add Extension 에서 CinemachineConfiner/ Confiner2D 를 추가. 3. Confiner 인 경우 Collider, Confiner2D 인 경우 2D polygon 이나 composite collider 로 영역을 지정해서 설정. Confiner 의 뜻 "한정[제한]하는 사람[것]." 특정..

<젤다의 전설 : 시간의 오카리나> 공략 (스크랩)

젤다의전설 - 시간의 오카리나 N64 유저들은 물론이요, 모든 액션·RPG를 즐기는 유저들까지 기대를 모아 왔던 「젤다의 전설」이 드디어 발매되었다. 까다롭기로 유명한 일본의 저명한 잡지인 패미통에서도 40점 만점을 내린 최초의 작품일 정도로 일본에서는 인지도가 높다. 유저들의 많은 기다림에 보답하듯, 그래픽, 사운드, 연출 등 여태까지의 액션·RPG와는 차원을 달리할 정도로 높은 완성도를 자랑한다. 독자 여러분들에게 약속한 대로 이 게임에 대한 완벽공략을 소개한다. 제작사: 닌텐도 장르: A·RPG 발매일: 11월 21일 발매가: 6,800엔 주요 등장인물 요정들과 함께 은둔하며 사는 꼬맹이족(コキリ족-코키리족)의 한 소년. 꼬맹이(コキリ-코키리)들의 수호신인 데크의 나무의 명을 받아 이 세계를 위협하..

게임 레벨 디자인 관련 메모 (2024.03.27)

레벨 디자인 이론들 메모 정보의 제한. Z주목 학습의 법칙 https://www.youtube.com/watch?v=MMggqenxuZc 백문이 불여일견. 벨브 하프라이프2의 플레이어 행동 유도 디자인. Affordance : 행동 유도성 Signifier : 지각 가능한 단서 플레이어마다 인지력 역시 다르기에 디자이너는 최고점과 최저점 사이에서 절충안을 찾아내야 일부 디자이너들은 공간을 만든 뒤 스크린샷을 찍은 뒤 혹은 (감각이 더 발달했다면) 현장에서 화면 영역이나 공간별로 나눠 종류나 위치별로 배치 프랍 배치에 대한 9등분 기법 https://twitter.com/MaxPears/status/1059732251972456448?s=19 X의 Max Pears님(@MaxPears) Talking ea..

테트리스에 영감을 준 펜토미노(Pentomino)

1985년 테트리스는 구 소련의 개발자인 알렉세이 파지노프로가 개발하고 TTC(The Tetris Company) 에서 저작권을 보유 및 관리. 고대 로마의 전통 포즐인 펜토미노(Pentomino)에서 영감. 다섯 개의 정사각형으로 이루어진 폴리오미노. 5개의 단위 정사각형이 변끼리 붙어 이루어진 도형으로 모양을 만드는 놀이. 12가지의 알파벳 모양. 펜토미노 참고 링크들 https://creativeqedu.com/%ED%8E%9C%ED%86%A0%EB%AF%B8%EB%85%B8pentomino%EC%9D%98-%EB%9C%BB%EA%B3%BC-%EC%95%84%EC%9D%B4%EB%93%A4%EC%97%90%EA%B2%8C-%EC%A2%8B%EC%9D%80-%EC%A0%90-10%EA%B0%80%EC..

테트리스의 신작 <테트리스 리버스드> GDC 기사와 관련 자료 수집

GDC2024 기사들을 보다가 테트리스 관련 기사를 보게 됨. 기사 자체는 테트리스의 차기작, 새로운 테트리스를 개발하기 위한 프로토타입을 개발했던 과거 이야기를 푸는 GDC 강연? 강연이라기보다는 테이블 토크같은 느낌이었던 것 같은데... 기사 자체보다는 테트리스와 관련된 이야기들에 호기심이 생겨서 잠깐 서치해봄. 과거에 테트리스와 관련된 저작권 분쟁이 크게 있었던 기억. 관련 내용들을 각종 위키를 검색해보면 기사들이 잘 정리돼있음. 테트리스의 "테트"는 그리스 숫자 접두어인 Tetra, 4라는 의미를 갖고, 폴리오미노의 개념에서 4개의 정사각형으로 이루어진 테트로미노를 활용한 블록 퍼즐게임. 테트리스의 개발자인 파지트노프가 좋아하던 테니스(Tenis)를 합쳐서 "테트리스"라는 이름이 붙은 것. 테트리..

[Unity] 유니티 엔진으로 툴 제작 시 에디터 클릭 이벤트 후킹하기

Unity Engine 에디터 내에 Scene View 를 활용해서 툴을 만들 때, 마우스 좌클릭을 기본 도구에서의 선택 도구 외에 다른 용도로 사용하려고 하면 Unity Engine 의 Event 를 핸들링 할 필요가 있다. Event.current 가 에디터의 UnityGUI 이벤트가 되는데, 이 이벤트가 마우스 좌클릭일 때 Use() 를 호출해서 사용처리 해버리면 선택 도구로 작동하는 것을 후킹할 수 있다. if (Event.current.type != EventType.MouseDown) return; if (Event.current.button != 0) return; Event.current.Use(); // 툴에서 원하는 동작 처리. Event.current.button 의 값은 마우스 버튼..

[Unity] Texture2D와 RenderTexture의 핵심 차이

Texture2D와 RenderTexture의 핵심적인 차이는 다음과 같다: 사용 목적 Texture2D: 2D 이미지 데이터를 저장하고 사용하는 데 사용된다. 주로 텍스처 매핑, UI 요소, 그림 및 사진과 같은 이미지 표현에 사용된다. RenderTexture: 렌더링 결과를 저장하기 위한 특수한 유형의 텍스처이다. 주로 카메라의 렌더링 결과를 저장하거나, 이미지 처리, 후처리 효과, 텍스처 생성 및 수정에 사용된다. 렌더링 가능 여부 Texture2D: 렌더링 가능한 텍스처가 아니며, 즉 렌더링 파이프라인에 직접 사용할 수 없다. RenderTexture: 렌더링 결과를 저장하기 위한 텍스처로서, 렌더링 파이프라인에 직접 사용할 수 있다. 메모리 할당 방식 Texture2D: CPU 메모리에서 생성..

[Unity] 최초 실행되는 UnityMain 함수 만들기 (RuntimeInitializeOnLoadMethod 상세 순서 설명)

유니티 엔진에서 초기화를 하고싶어 유니티는 BuildSettings의 Scenes In Build 목록에 셋팅된 0번 인덱스 씬으로 시작하게 됨. 이 때 씬을 로드하면서 초기화도 같이 수행하게 되는데, 씬에 올라간, 씬의 Hierarchy 목록의 GameObject 들의 Awake와 Start의 호출 순서가 보장되지 않음. Awake, Start 호출 순서가 보장되지 않더라도 초기화 처리는 가능하겠지만, 어떤 GameObject 들의 초기화보다도 먼저 초기화 처리를 하고싶은 경우가 있을 수 있음. 이 때, [RuntimeInitializeOnLoadMethod] 어트리뷰트(Attribute)를 활용해서 특정 static 함수의 속성을 설정해서, 게임이나 앱 실행 후 가능한 빠른 시점에 호출되도록 핸들링 ..

[Unity] 유니티 셰이더 코드에서 _MainTex_TexelSize 변수의 정체는?

셰이더 코드는 참조하다보니 _MainTex_TexelSize; 라는 변수를 선언만 하고 바로 사용하는 모습들을 종종 보게 됨. 내장 변수인 것 같은데, 어떤 값을 담는지 설명은 검색해도 보이던데 어디서 어떻게 생성해서 값을 할당 해주는 것인지에 대한 내용이 잘 보이지 않더라. 일단 이 변수는 유니티 엔진 내부에서 생성 및 할당해주는 변수는 확실하고, 관련 설명은 아래 유니티 공식 문서에서 서술하고 있음. 주의해야 할 부분은, _MainTex_TexelSize 라는 이름의 변수명을 생성해주는 것이 아니고, {TextrueName}_TexelSize 라는 이름으로 생성해준다는 것. 셰이더를 작성할 때 보통 _MainTex 프로퍼티를 생성하기 때문에 결론적으로 _MainTex_TexelSize 라는 변수가 만..

728x90
반응형