728x90

유니티 엔진 (Unity Engine) 137

유니티 그래픽스 최적화 - 4. 드로우콜과 배칭 (Draw Call & Batching)

. . 4. 드로우콜과 배칭 (Draw Call & Batching) 4-1 드로우콜 (Draw Call) 수많은 병목지점이 있지만, 드로우콜이 병목인 경우가 많다. 최적화를 많이 간과하기 때문. 01) 드로우콜의 이해 CPU가 GPU에 오브젝트를 그리라는 명령을 호출하는 것. 한 프레임에서, 오브젝트 하나를 그릴 때 여러가지 정보들이 CPU에서 GPU로 전달됨. (매시 데이터 ,텍스쳐, 쉐이더, 트랜스폼, 블렌딩 셋팅 등등) DATA > Storage(HDD,SDD,SD) > CPU Memory > GPU Memory 플랫폼에 따라 VRAM(GPU Memory)은 자동으로 관리됨. 가비지는 VRAM 에서 제거하고 올리는 등 관리가 됨. GPU는 그려야 하는 상태 정보를 담는 테이블을 가지고 있고 텍스처..

유니티 그래픽스 최적화 - 2.렌더링 파이프라인

. . 책 읽으면서 대략적인 내용 정리. 이번엔 렌더링 파이프라인입니다. 기본적인 내용들이고 이미지 설명이 많아서 정리는 심플합니다. 자세한 설명은 책 본문에서 확인해주세요. ​ 2. 렌더링 파이프라인 (Rendering Pipeline) 화면에 그려지는 과정, Graphics API 워크플로우 2-1 GPU의 의미 . 2-2 게임 루프 게임루프를 크게 묶어 보면 다음과 같다. - 리소스 생성 및 초기화 (Initialization) - 갱신 (물리, 입력, 로직, AI, 네트워크, 애니메이션 등) - 렌더 - 종료 전 해제 (Decommissioning) 스크립트 라이프사이클 플로우차트 (Script Lifecycle Flowchart) https://docs.unity3d.com/kr/2019.1/M..

유니티 그래픽스 최적화 - 1.최적화 개요

. . 유니티 리드 에반젤리스트 오지현님의 "유니티 그래픽스 최적화 스타트업" 오랜만에 다시 읽기 시작해서 내용 정리 중입니다. ​ 이전에 3챕터 다뤘고 이번엔 1챕터. 그냥 읽고 넘겨도 될 부분이 많아서 1챕터 정리는 짧네요. 제가 읽으면서 스터디 목적으로 간략하게 정리한 포스트입니다. 자세한 설명은 책 본문에서 확인해주세요. 1. 최적화 개요 최적화의 가장 중요, 병목 제거 1-1 최적화 이해 1-2 렌더링의 이해 슈렉의 법칙 기술 발전과 시간의 지남에 따라 렌더링 시간이 더 늘어남. 2001년 슈렉 1 렌더링 500만시간 데이터 크기 6TB 2004년 슈렉 2 렌더링 1000만시간 2007년 슈렉 3 렌더링 2000만시간 2010년 슈렉포에버 렌더링 4500만시간 슈렉1 데이터 크기 6TB 드래곤 ..

유니티, 업스케일 샘플링(Upscale Sampling) 데모

. . 유니티 최적화 서적에서 다룬 업스케일 샘플링 데모를 돌려봤습니다. 관련 내용 포스트는 아래. https://wonsorang.tistory.com/475 유니티 그래픽스 최적화 - 3.병목 . . 유니티 리드 에반젤리스트 오지현님의 "유니티 그래픽스 최적화 스타트업" 오랜만에 다시 읽기 시작해서 정리를 해봤습니다. 왜 3챕터부터냐... 는 정리 하고싶은 챕터 먼저 다시 읽어서요. 다른 챕터도 다시.. wonsorang.tistory.com GUI 해상도는 그대로 렌더링 하고, 인게임 렌더 텍스처를 줄이면서 최적화와 룩앤필을 둘 다 취하는 트릭인데요, 아래 깃헙에서 데모 프로젝트를 받을 수 있습니다. https://github.com/ozlael/UpsamplingRenderingDemo ozlae..

유니티 그래픽스 최적화 - 3.병목

. . 유니티 리드 에반젤리스트 오지현님의 "유니티 그래픽스 최적화 스타트업" 오랜만에 다시 읽기 시작해서 정리를 해봤습니다. 왜 3챕터부터냐... 는 정리 하고싶은 챕터 먼저 다시 읽어서요. 다른 챕터도 다시 읽고 정리해보겠습니다. ​ 제가 다시 볼 목적으로 간략하게 정리한 포스트입니다. 자세한 설명은 책 본문에서 확인해주세요. 3. 병목 ( Bottleneck ) 최적화의 가장 중요, 병목 제거 3-1 병목의 이해, 측정, GUI 병목 탐지 보통의 최적화 목록 - 매시 버텍스 줄이기 - 텍스쳐 크기 줄이기 - 가벼운 쉐이더 - 드로우콜 줄이기 - 게임 로직 최적화 - 물리 연산 줄이기 - 기타 등등... 프로파일링을 잘 해야한다. 최적화의 처음은 게임의 타깃 기기를 결정하는 것. 주 타깃 기기와, 시..

[Unity] 유니티 엔진 사용 팁 몇 가지

두괄식 요약 먼저 정리합니다. 1. Playmode Color tint 설정 2. Playmode 에서 수정한 Component, Editmode 에 적용하기 3. Inspector, Project 등 기본 윈도우 탭 추가하기. 4. 오브젝트들 선택 저장/불러오기 5. 선택된 오브젝트 활성화/비활성화 1. Playmode Color tint 플레이 모드로 전환되면, 유니티 GUI 의 배경 컬러를 바꿀 수 있는 옵션. 눈에 띄는 컬러로 조금만 설정해놔도 플레이모드인지 인지하기가 쉽습니다. 플레이 모드 걸어둔 상태로 씬 수정했다가 데이터 날려먹는 일을 방지해줍니다. ​ Edit > Preference 의 Colors 탭에서 수정합니다. ​ 2. Playmode 에서 컴포넌트를 수정한 경우. Playmode ..

[Unity] 시각적 코딩 도구 PlayMaker

PlayMaker 는 유니티 엔진의 Asset 중 하나입니다. 이미 수 년 전부터 유명한 Visual Scripting Tool 로 알려져 있기도 합니다. 유니티 엔진의 강력한 컴포넌트 시스템을 기반으로 한 FSM 제작 도구인데, 확장성이 훌륭해서 이미 여러 프로젝트에서도 활용된 것으로 알고 있습니다. 실제로 지인분들 중에서도 상용 프로젝트에서 활용했다는 이야길 여러번 들었던 것 같군요. ​ 스샷에 보이는 것처럼, State 와 Event, 그리고 State 속의 Action 들로 원하는 기능들을 구현할 수 있습니다. 꽤 로우레벨 단위의 Action 들도 준비돼 있기 때문에, 코딩 한 줄 없이도 기능을 구현할 수는 있습니다. 로우레벨 단위 Action 들은 Operator 정도 수준들이라, 모든 Oper..

[Unity] 씬 에디팅을 위한 Snap Settings

Snpa Settings 윈도우는 메뉴의 [Edit]>[Snap Settings...] 를 클릭해서 열 수 있습니다. ​ Snap Transform 은 Ctrl 누르고 드래그 Vertex Snap Transform 은 V 키 누르고 드래그 ​ Snap 이 뭐냐 하실분도 계실텐데요, 특정 단위에 "딱 끊어지게 맞게"이동시키거나, 회전, 크기조정 하는 걸 말합니다. Vertex Snap 은 말 그대로 Vertex들이 딱 맞아떨어지게, 갖다 붙이듯 위치 등을 변형시킬 때 씁니다. ​ 아래 1분짜리 영상을 보시면 바로 이해 되실겁니다. ​ How to Snap objects https://www.youtube.com/watch?v=t_xxsCcM60k ​게임 씬을 구성하거나, 래벨디자인을 하거나 배경 프랍등을 ..

[Unity] FPS Sample, 참고하기 좋은 대형 프로젝트

Unity Korea 관계자인 지인분에게 물어봤습니다. ​ "초급 말고 중고급 사용자가 참고하기 좋은 샘플 프로젝트같은 게 있을까요? 코드가 많으면 더 좋고요" "FPS Sample" "오, 그런 게 있군요. 구체적인 프로젝트 이름이 뭔가요?" "FPS Sample" "좀 더 구체적으로..." "FPS Sample" ​ ...그렇습니다. 담백하게 FPS Sample! Unity 의 개발진들이 모여 만든 샘플 프로젝트입니다. 일단 용량부터가36GB 정도로 무시무시합니다. AAA급 퀄리티의 아트에셋과 네트워크 플레이를 제공하는 FPS 게임 샘플 풀소스입니다. 홈페이지에선 아래처럼 소개하고 있습니다. ​ FPS 샘플 소개 The FPS Sample is available for download. It incl..

[Unity] 에러 Maximum number (256) of shader keywords exceeded...

한 줄 솔루션 유니티 재시작 하세요. 관련 글 : https://github.com/Unity-Technologies/FPSSample/issues/13 Maximum number (256) of shader keywords exceeded · Issue #13 · Unity-Technologies/FPSSample There seem to bee too many shader keywords in the project as I am getting alot of these errors: Maximum number (256) of shader keywords exceeded, keyword _DISTORTIONDEPTHTEST_OFF will be ignored. A... github.com

728x90
반응형