728x90

UnityEngine 119

유니티를 이용한 VR 앱 개발, 초보자도 VR게임을 만들 수 있을까?

. 오랜만에 유니티 엔진 개발 서적을 읽었습니다. 2020년 2월 10일에 출간된 신간, 유니티를 이용한 VR앱 개발. 머스터드 컬러가 먹음직(?)스럽습니다. 부담스럽지 않은 분량인데 풀 컬러 지면이라 캐주얼하게 접근하기 좋아 보입니다. 쉬운 책을 여러 권 읽는 스타일인 저 같은 분들께 좋은 독서 거리인 것 같습니다. ​ 이 책은 일본인 저자들이 공동 집필한 책입니다. 코노 노부히로, 마츠시마 히로키, 오오시마 타케나오 세 명의 저자들인데 다들 게임 개발 베테랑들입니다. 베테랑들이 모여 초보자도 쉽게 접근할 수 있는 책을 엮었다는 점이 꽤 신뢰가 갑니다. ​ 그리고 이 책의 역자도 언급하지 않을 수 없는데요, 김은철님, 유세라님 두 분은 제가 초보자분들께 종종 추천하는 "유니티 교과서"의 역자이기도 합니..

[Unity][Asset] DOTween, 트위닝 애니메이션 플러그인

트위닝 애니메이션을 빠르고 효과적으로 만들 수 있게 도와주는 Tweening 애니메이션 애셋, DOTween 입니다. 설치가 쉽고 사용이 편리합니다. 메뉴 Tools/Demigiant/DOTween Utility Panel 위와 같은 패널 창에서 Setup DOTween 클릭 그럼 설치됩니다. 메뉴얼을 같은 창의 Get Started, Documentation 등을 참고. http://dotween.demigiant.com/getstarted.php DOTween - Get Started Before anything else Step 1 Download DOTween and unzip it anywhere in your Unity Assets folder (just not inside the Editor..

[Unity] Canvas Hierarchy 순서 가장 위/아래로 이동시키기

GameObject를 생성하면 Herarchy에 들어가고, Canvas 의 Child로 추가된 GameObject 들은 제일 하위에 있는 Object 의 Image 가 가장 위에 보이게 됩니다. 그래서 Canvas 에 추가된 Object 순서를 바꾸고 싶다면 Sibling 순서를 바꿔줘야 하는데, 가장 위/아래로 이동시키려면 아래 API를 사용하면 됩니다. ​ transform.SetAsFirstSibling(); transform.SetAsLastSibling(); ​ SetAsFirstSibling() 은 가장 아래에 그려지게 SetAsLastSibling() 은 가장 위에 그려지게. ​ https://docs.unity3d.com/ScriptReference/Transform.SetAsLastSib..

[Unity] API Level 29 빌드 에러, SDK 업데이트 방법

구글플레이 정책이 업데이트 되면서 Android 10(API 레벨 29)이상만 업로드 가능하게 되었습니다. 유니티 엔진에서도 새로운 APK를 빌드할 때 API Level 29 로 설정해줘야 합니다. 과거엔 Android SDK Manager 를 통해 API Level 에 맞는 모듈을 업데이트 받을 수 있는데, Unity Hub 가 SDK Manager 역할을 일부 대체하면서 자동으로 API Level 업데이트도 해주고 있었죠. ​ 그런데... API Level 29 업데이트를 하려고 보니 에러를 뱉으면서 동작하지 않습니다. Build failure Unable to install additional SDK platform. 블라블라... ​ 갑자기 이러니 당황스러웠는데, 해결법은 간단합니다. Unity ..

[Unity] 잦은 자동빌드, 느리고 멈출 때 해결법

유니티를 사용할 때, 코드 한두줄 바꾸고 유니티 에디터를 잠깐 조작할 일이 종종 생깁니다. 어셋을 확인한다거나 컴포넌트 셋팅을 확인한다거나... 그 때마다 수정된 코드를 변경된 어셋으로 감지해서 자동으로 Refresh 가 되면서 컴파일러도 돌아가는데... 그 때마다 에디터가 프리징됩니다. ​ 에디터 전환을 자주 하다보니 잦은 프리징이 좀 짜증나고 시간 허비도 많아서 셋팅을 변경했습니다. ​ Edit > Preferences 로 가서 Auto Refresh 를 꺼줍니다. 이제 코드를 바꾸든 리소스를 변경하든, 유니티는 자동으로 뭔가 해주지 않습니다. 대신, 수종으로 Ctrl + R을 눌러주면 됩니다. 프로그래머 분들은 컴파일 할 때마다 F7 누르듯, 인터넷 브라우저 F5로 새로고침 하듯, 유니티에선 Ctr..

유니티..바이블 - 19장 마스터 데이터 퀘스트 (2화 끝)

. . 1화에서 이어집니다. 1화 : https://wonsorang.tistory.com/544 유니티..바이블 - 19장 마스터 데이터 퀘스트 (1화) . . 19장: 마스터 데이터 퀘스트 Excel Importer, 마스터 데이터의 구축과 활용, 레벨 디자인, ScriptableObject ​ - Excel Importer 플러그인을 이용한 엑셀 파일의 이용 방법 - 엑셀 파일을 이용하는 마스터.. wonsorang.tistory.com MasterDataRepository 클래스를 만들어 퍼사드로 사용. ​ [Pseudo Code] [CreateAssetMenu] //어셋 Create 메뉴에 MasterDataRepository 노출. public class MasterDataRepository ..

책떼기 완 "유니티 그래픽스 최적화 스타트업"

. . 그래픽스 프로그래밍 개념 공부 및 재활훈련겸 보기 시작했던 책 "유니티 그래픽스 최적화 스타트업" 오지현 저 ​ 전부 읽고 내용정리까지 마무리 했습니다. 기본적인 렌더링 개념부터 최적화에 필요한 필수 내용들도 하나씩 다루고 있어 내용이 알찹니다. ​ 유니티로 그래픽스 관련 작업을 한다면 한 번은 읽어볼만한 내용들도 많고요, 유니티의 렌더링 특징에 대해서도 깨알같이 다루는 내용들이 많습니다. ​ 아래는 내용정리 포스트 링크 모음. 챕터 제목을 클릭하면 열립니다. ​ 1.최적화 개요 2.렌더링 파이프라인 3.병목 4.드로우콜과 배칭 (Draw Call & Batching) 5.라이팅 (Lighting) 6.그림자 (Shadow) 7.GI (Global Illumination) 8.텍스처 (Textur..

유니티 그래픽스 최적화 - 9.SRP;LWRP

9. SRP;LWRP 최적화의 가장 중요, 병목 제거 ​ 9-1 SRP (Scriptable Render Pipeline) 유니티 2018부터 Scriptable Render Pipeline 제공. 렌더링 처리 방식을 C#으로 제어 가능. 라이팅 처리 방식, 전반적 렌더링 루프 직접 구성 가능. 새로운 렌더링 기술 직접 적용하거나, 특정 하드웨어에 맞게 최적화도. ​ GPU 렌더 파이프라인뿐 아니라, 어플리케이션 스테이지 렌더 루프 모두 포함. 한 프레임 렌더링에 들어가는 컬링, 펜더 패스, 멀티 패스 모든 절차 아우름. ​ 기존 유니티 렌더 파이프라인은 블랙박스. 공개되지 않았다. SRP 를 통해 제어하고 커스터마이징 가능. 기본 렌더 파이프라인은 Built-in 파이프라인이라고 부름. 앞서 설명한 포..

유니티 그래픽스 최적화 - 8.텍스처 (Texture)

. . 8. 텍스처 (Texture) ​ 8-1 인트로 텍스처는 주로 픽셀쉐이더 단계에서 사용. 텍스처 값 샘플링 > 최종컬러 반영. (Vertex Texture Fetch 기법은 논외) 참고 : 텍스처 사용은 아래 참고 https://youtu.be/-6iquaC0Hf4 ​ 8-2 대역폭 (Bandwidth) 텍스처 병목 = 메모리 대역폭에 종속( Memory Bandwidth ) 이미지 데이터 사이즈가 커지면 대역폭 문제 발생. 프로세서가 한 번에 가져올 수 있는 데이터 크기 한정. ​ 모바일 기기 더욱 이슈. 전력소모, 물리적으로 작아서 쿨링 미미, 발열 문제. 그래서 대역폭이 작게 설계. CPU, GPU 뿐 아니라 메모리도 발열과 전력 소모에 큰 영향. 쓰로틀링(Throttling, Thermal..

유니티 그래픽스 최적화 - 7.GI (Global Illumination)

. . 7. GI (Global Illumination) ​ 라이트와 그림자는 연산이 비싸기 때문에 라이트맵과 라이트 프로브 등 미리 연산하는 솔루션들을 적극 활용, 절약하면 좋다. GI 적용 가능. 광원이 태양광 하나로 출발해도 Direction 라이트 영향, 튕겨서 들어오는 Indirection 라이트 영향도 받음. 어떤 지점은 Direction 영향은 막히고, Indirection 영향만 받기도. https://docs.unity3d.com/kr/current/Manual/LightMode-Baked.html ​ 이 현상을 글로벌 일루미네이션(Global Illumination) 라이트맵과 라이트프로브를 이용해서 GI현상까지 미리 연상하여 기록해놓을수 있다. 실시간으로 GI를 처리하려면 많은 연산 ..

728x90
반응형