전체 글(81)
-
CineMachine FreeLook 카메라 사용 시 발생 한 문제...
강력한 카메라 기능을 제공하는 유니티 에셋 시네머신 일반적인 캐릭터 카메라 기능을 하는 FreeLook 카메라 또한 시네머신에 포함된 강력한 기능이며, 저 또한 자주 사용합니다. FreeLook 카메라는 Override World Up과 Simple Follow Mode 기능을 통해 y축이 Up Vector가 아닌 경우도 지원하는 것 같으나... 좌우 회전에 문제가 있어 보인다. forward나 right Vector가 틀어져서 생기는 문제로 보이는데... 왜 Up 벡터만 지정하는 건지...이렇게 쓰라고 만들어 놓은 기능이 아닌건가?? 문제의 현상을 보면 1. 회전에 저항이 생긴다. (점점 느려지고 어느 순간 안 움직임)2. 회전 방향이 뒤집힌다. (캐릭터 기준이 아닌 월드 기준으로 회전하는 것으로 보인..
2018.12.08 -
Unity Shader Form
유니티 커스텀 셰이더를 작성하기 위해 제공되는 Shader Form을 알아보자. 1. 공통 부분 - 셰이더 작성에 공통으로 사용되는 영역 2. ShaderLab - 유니티에서 지원하는 가장 간단한 셰이더 형태. - ShaderLab 언어만 사용하여 작성되어 쉽다는게 장점이라고 하지만, 기능이 제한적이라 잘 사용하지 않는다고 한다. - 실제로 Lab 언어만 사용해서 Shader를 사용한적이 없다... 3. Surface Shader - 3D Lib의 셰이더 작성을 간소화. - 일반적인 기능들이 완성되어 있다. - 쉽게 작성 가능하고, 픽셀 영역 뿐만 아니라 Vertex 영역도 커스텀 해서 사용 할 수 있어 자주 사용. - 아무래도 기능을 가져다 쓰다보니 사용되는 구조체라던가 파라미터 라던가 틀이 정해져있어..
2018.12.07 -
Unity Shader 생성과 사용
Unity Shader를 사용하는 방법을 알아보자. 1. Material 생성 - Unity Shader를 사용하기 위해서는 마테리얼이 필요하다. - 유니티의 게임 오브젝트는 렌더링을 위해 마테리얼을 사용하며, 마테리얼에 연결된 셰이더를 통해 표현된다. - 마테리얼의 생성은 프로젝트 창에서 RClick 후 나타나는 속성 메뉴의 [Create - Material] 항목으로 생성 할 수 있다. 2. Material 연결 - 생성된 마테리얼을 렌더링 되는 게임 오브젝트에 연결 3. 셰이더 종류 - Unity에서는 기본적인 셰이더 들을 제공한다. - 생성된 마테리얼을 선택 후 인스펙터 창의 Shader 항목을 이용해 원하는 셰이더로 교체 할 수 있다. - Default 는 Standard Shader로 물리기반..
2018.12.07 -
DirectX11 모델 뷰어
DirectX11 Model Viewer - 개발기간 : 2018.3 ~ 2018.3(5일) - 개발환경 : MFC, DirectX11 - DirectX11을 사용하여 만든 모델뷰어입니다. - Dx11의 이해와 HLSL 셰이더 이용과 설계, 이전에 하지 못했던 하드웨어 스키닝을 목표로하였습니다. - 모델링 파일 로드에는 Open Asset Importer Lib를 사용하였습니다. - 이미지 파일 로드에는 FreeImage Lib를 사용하였습니다. - 모델링 파일은 deviant art, 애니메이션은 mixamo에서 가져왔습니다. - 프로젝트 다운로드 : https://github.com/hns17/DirectX11 [영상] Assimp Lib 사용시 알아두면 좋은 것들1. Flag (1) Dx를 위한 F..
2018.06.29 -
Convert Voxel World To Planet
Voxel 세계를 Planet화 하려면? 1. Torus Function을 이용한 정점 변환 Is a round Minecraft world possible? 위 영상에서는 Voxel Planet을 표현하기 위해 복셀을 라운딩화 할 수 밖에 없는 이유를 설명한다. How to make the Minecraft world look spherical 그리고 위 영상에서는 Voxel 세계를 구면화 하는 방법을 제시하고 있다.영상을 보면 구면화를 위해 torus 방정식을 응용하여 정점을 새로 계산한다. 유니티에서 제시된 이론을 바탕으로 적용해본 결과는 아래와 같다. 겹치는 부분을 조정하기 힘들다는 단점이 있지만 굉장히 흥미로운 방법이라 생각됩니다. 2. 구의 특성을 이용한 방법 구는 모든 정점의 길이가 동일하다..
2018.06.29 -
Voxel Planet Generator - Unity
Voxel Planet Generator - 개발기간 : 2018.4 ~ 2018.4 - 개발환경 : Unity - 유니티를 사용하면서 만들어본 프로젝트입니다. - 복셀 기반의 행성 생성을 목표로 합니다. [소개 영상] [영상] [영상] Link : Voxel World를 Planet으로 만드는 방법 [영상] [영상] [영상] 유니티를 쓰면서... 좋았던 점 - 우선 유니티를 쓰면서 가장 좋았던 점은 public 으로 변수를 선언하면 inspcetor에 연결 UI가 만들어 진다는 점입니다. - 다이얼로그를 만들고 컨트롤 배치하고 변수와 연결하고 하는 작업이 필요없어 정말 편했습니다. - 절두체 컬링을 신경 쓸 필요가 없었습니다. - 컴포넌트를 이용해 충돌처리가 쉬웠습니다. 곤란했던 점 - 너무 많은 기능..
2018.06.28