밉맵(mipmaps) - 원본 텍스처의 다양한 해상도로 구성된 이미지 집합 밉맵(mipmaps, MIP maps)은 컴퓨터그래픽에서 텍스처 맵핑에 사용되는 기술로 원본 텍스처의 다양한 해상도(점차적으로 더 작아지는)로 미리 준비된 이미지 버전 목록을 의미합니다. MIP은 라틴어 'multum in parvo'의 약어로 '작은 공간에 많은 것'을 의미합니다. 카메라에서 먼곳에 존재하는 객체를 그리는 경우 원본 텍스처의 상세한 정보가 필요하지 않습니다. 원본 텍스처를 사용하면 품질과 성능에 부담이 생길 수 있기때문에 밉맵을 사용하여 텍스처 피라미드(가장 상위 원본 텍스처의 해상도부터 시작하여 2의 거듭제곱 비율로 점차적으로 작아지는 해상도를 가진 텍스처들)에서 적절한 해상도를 선택하고 멀리 떨어진 객체에 더..
유니티 안드로이드 환경설정에서 SDK, NDK, JDK 직접 설치할경우 다운로드 웹사이트 Android SDK(Software Development Kit) 일반적으로 안드로이드 스튜디오를 설치할때 안드로이드 SDK도 함께 설치합니다. 안드로이드 스튜디오 설치 진행에서 SDK를 다운로드하고 설치하도록 안내합니다. https://developer.android.com/studio NDK(Native Development Kit) 아래 안드로이드 개발자 웹사이트에서 NDK를 직접 다운로드하고 설치할수있습니다. (안드로이드 스튜디오의 설치 진행에서 NDK를 선택적으로 설치할 수 있는 옵션이 제공됩니다) https://developer.android.com/ndk/downloads?hl=ko https://de..
유니티의 새로운 입력 시스템 기술문서 모음(new input system) 새로운 입력 시스템 소개 https://blog.unity.com/kr/technology/introducing-the-new-input-system Input System(Quick start guide) https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/QuickStartGuide.html PlayerInput 클래스 https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/api/UnityEngine.InputSystem.PlayerInput.html#UnityEngine_InputSystem_PlayerI..
유니티 모바일 터치(Touch) 입력 기술문서 모음 iOS 및 Android 장치는 화면을 동시에 터치하는 여러 손가락을 추적할 수 있습니다. Input.touches 속성을 사용하여 화면을 터치한 각 손가락의 상태에 대한 데이터에 액세스할 수 있습니다. 손가락이 화면에 터치된 경우 각 손가락에 대한 정보(위치, 압력 등)가 Input.touches 배열에 저장되며 이 정보를 사용하여 다양한 작업을 수행할 수 있습니다. https://docs.unity3d.com/ScriptReference/Input-touches.html Input.touchCount 속성 public static int touchCount; 현재 화면 터치 개수를 의미합니다(읽기전용) https://docs.unity3d.com/S..
유니티 프로파일링(profiling) 기술문서 및 동영상 프로파일링(profiling) https://docs.unity3d.com/kr/2019.4/Manual/profiler-profiling-applications.html learn unity(profiling applications made with unity) https://learn.unity.com/tutorial/profiling-applications-made-with-unity# cpu usage profiler module https://docs.unity3d.com/2019.4/Documentation/Manual/ProfilerCPU.html Introduction to Profiling https://youtu.be/uXRURW..
유니티에서 스프라이트(sprite) 이미지에서 방출하는 파티클시스템 만들기 스프라이트(sprite) 이미지 또는 텍스처에서 방출하는 파티클 설정하는 방법(Shuriken) 1)새로운 파티클시스템을 생성합니다. 2)파티클시스템의 속성을 설정합니다(start lifetime, start speed, start size, max particles, emission rate over time) 3)파티클시스템에 사용할 텍스처 유형을 sprite로 변경하고 적용합니다. sprite shape 4)sprite shape의 경우 shape 모듈에서 shape(sprite)과 type(triangle)을 선택합니다. sprite에 스프라이트를 참조하고 texture에 텍스처 이미지를 참조합니다. rectangle sh..
유니티에서 파티클시스템(Shuriken)에 힘 적용하기(Particle System Force Field) 파티클 시스템(Particle Systems, Shuriken)의 입자에 힘을 적용하는 방법 1)씬에 새로운 파티클시스템을 생성합니다. 2)씬에 Particle System Force Field 게임 오브젝트를 생성합니다. 3)파티클시스템에서 external forces 모듈을 활성화합니다. 4)Particle System Force Field에서 파티클에 적용할 다양한 유형의 힘을 설정합니다. https://docs.unity3d.com/Manual/class-ParticleSystemForceField.html
Z-Test란(깊이 테스트) depth buffer(깊이 버퍼)의 값을 검사하여 pass 또는 fail 여부를 결정합니다. Z-Test(깊이 테스트)에서 통과(pass)한 픽셀은 깊이 값을 깊이 버퍼에 저장합니다(z-write) pass 새로운 픽셀의 깊이값이 기존 픽셀의 깊이값보다 작은 경우 새로운 픽셀이 깊이 버퍼에 저장됩니다. fail 새로운 픽셀의 깊이값이 기존 픽셀의 깊이값보다 크거나 같은 경우 새로운 픽셀이 깊이 버퍼에 저장되지않습니다. ShaderLab 커맨드 ZTest를 사용하여 객체가 깊이 테스트를 통과 또는 실패하는 조건을 설정할수있습니다. Less, Greater, LEqual, GEqual, Equal, NotEqual, Always https://docs.unity3d.com/kr..
3D그래픽에서 발생하는 z fighting 현상이란 z fighting https://en.wikipedia.org/wiki/Z-fighting 3D 그래픽스에서 Z-fighting은 카메라의 시점에서 두 개 이상의 폴리곤이 같은 위치에 있을 때 렌더링된 이미지에서 폴리곤이 겹쳐보이고 깜박거리는(flickering), 노이지한 래스터화(noisy rasterization)가 발생하는 현상입니다. 두개의 면이 동일한 공간을 차지하거나 매우 가까운곳에 위치할때 깊이를 추적하는 z -버퍼에서 거의 유사하거나 동일한 값을 갖게 됩니다(z - 버퍼의 제한된 정밀도로 인해) 이로인해 렌더링 시에 깊이 값이 번갈아가며 결정되어 시각적인 충돌 현상이 발생합니다. Z-Fighting을 방지하기 위해서 깊이 버퍼의 정밀도..
심플리곤(simplygon) - 3D 콘텐츠 최적화 도구(모델, 텍스처, 기타) Simplygon는 게임 개발, 가상 현실(VR), 증강 현실(AR), 영화 및 애니메이션 제작 등 다양한 분야에서 사용되며 3D 모델과 텍스처 최적화에 특화되어있는 소프트웨어입니다. Simplygon를 사용하면 시각적 품질을 유지하면서 복잡한 3D모델과 텍스처 해상도를 최적화하여 데스크톱, 모바일 기기, 웹 기반 응용 프로그램등의 저사양 플랫폼에서 시스템 요구사항을 충족하고 성능을 향상시킬수있습니다. https://www.simplygon.com/ Simplygon 다운로드(유료, 무료) 아래 웹사이트에서 SDK(3D맥스, 마야, 블렌더, 후디니, 유니티, 언리얼 엔진)를 다운로드할수있으며 무료버전의 경우 제한된 옵션으로 ..
유니티 프로젝트에 새로운 입력 시스템 설치하기(input system package) 1)project settings에서 기존의 입력 관리자(input manager)가 활성화되어있는것을 확인할수있습니다. 2)package manager의 상단에서 packages:unity registry를 선택하고 새로운 입력 시스템(input system)을 검색 및 설치합니다(install) 3)프로젝트 윈도으의 packages에서 새로운 입력 시스템이 설치된것을 확인할수있습니다. 4)project settings에 새로운 입력 시스템 메뉴(input system package)가 표시되는것을 확인할수있습니다. 5)player의 other settings에서 active input handling을 input s..
유니티(unity)의 비주얼 이펙트 그래프(VFX GRAPH) https://unity.com/visual-effect-graph 유니티(unity)에서 비주얼 이펙트 그래프(VFX GRAPH)를 사용하면 노드(node) 및 흐름(flow) 기반의 시각적 그래프를 사용하여 눈, 먼지(point), 나뭇잎(quad), 연기(flipbook), 잔해(mesh), 스파크(line), 차량흔적(strip)등 다양한 유형의 일반 파티클과 복잡한 시뮬레이션(GPU)을 위한 실시간 인터렉티브 시각 효과를 제작할수있습니다. VFX Graph는 빠르고 효율적인 렌더링을 위해 GPU 가속과 Compute Shader를 사용합니다. VFX Graph에서 파티클의 위치, 크기, 색상 등을 계산하는데 Compute Shader..