[ Unity 설치 ]
http://korea.unity3d.com/ >> Download
[ Unity3D의 특징 ]
PPT 참조
[ Unity3D 기초 실습 ]
PPT 참조 - http://www.unity3dstudy.com/ 사이트 초급에 있는 실습 따라하기 내용입니다.
한번 따라 해 보심이 좋을 듯...
[ Sample Project Import 하기 ]
[ 작업 폴더 만들기 ]
Project View에 폴더 생성하기
Project View 오른쪽 마우스 클릭 >> Create >> Folder
Name : Scenes
Project View 오른쪽 마우스 클릭 >> Create >> Folder
Name : Videos
Project View 오른쪽 마우스 클릭 >> Create >> Folder
Name : Scripts
Project View 오른쪽 마우스 클릭 >> Create >> Folder
Name : Materials
[ 시연할 360 영상 구하기 ]
구글사이트에서 360 영상 찾아서 2개 정도 받아 놓을 것
download 영상 드래그 >> (to) Project View >> Videos
[ 영상이 플레이될 스크린(Sphere) 만들기 ]
Menu : GameObject >> 3D Object >> Sphere
Name : 360 Video Sphere
Inspector View
Position (0, 0, 0)
Scale (100,100,100)
[ 시청할 카메라 위치 잡기 ]
Main Camera Inspector
Position (0, 0, 0)
[
[ 스크린(Sphere)에 영상 넣기 ]
Project View : Videos >> 동영상 파일 드래그 >> (to) 360 Video Sphere
Video Player 콤포넌트가 삽입된 것을 볼 수 있음
[ Video Player 참고 URL ]
Play
구의 (겉)표면에 영상을 입힌 상태로 카메라가 구의 안쪽에 있어 영상을 볼 수 없는 상태임
안쪽 표면에 영상을 그리게 하기 위해서는 정점의 Normal 벡터를 뒤집어 주어야 함
Normal 벡터를 뒤집어서 안쪽 표면이 Rendering 될 수 있도록 하기
Shader를 통해 이를 구현
Project View : Shaders 폴더에서 오른쪽 마우스 클릭 >> Create >> Shader >> Standard Surface Shader
Name : Flip Normal Shader
Shader "Custom/Flip Normals" { // 우리가 작성한 Shader 이름
Properties { // Editor 창에서 보여 지는 부분으로 shader 코드가 적용될 때, 필요한 매개변수같은 역할 수행
_MainTex ("Base (RGB)", 2D) = "white" {} // 여기에 동영상을 대입하게 됨
}
SubShader {
Tags { "RenderType" = "Opaque" }
Cull Off
CGPROGRAM
#pragma surface surf Lambert vertex:vert
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
float4 color : COLOR;
};
void vert(inout appdata_full v) {
v.normal.xyz = v.normal * -1; // 기존의 normal vector를 뒤집고 있음
}
void surf (Input IN, inout SurfaceOutput o) {
fixed3 result = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = result.rgb;
o.Alpha = 1;
}
ENDCG
}
Fallback "Diffuse" // 위에서 정의한 SubShader를 지원하지 않는 경우 Diffuse Shader를 사용함
}
Shader를 사용할 Material 생성
Project View : Materials 폴더에서 오른쪽 마우스 클릭 >> Create >> Material
Name : Flip Normal Material
Flip Normal Shader 드래그 >> (to) Flip Normal Material
Play Test
안쪽에 제대로 된 동영상이 보일것 임
[ Google Card Board VR 세팅 ]
File >> Build Settings ...
Android 선택 >> Player Settings ...
1. Inspector View : Other Settings 탭 부분
1) Package Name : com.XXXXX.vr360player
2) Virtual Reality moved to XR Settings 클릭
Virtual Reality Supported : check
Virtual Reality SDKs : Cardboard
2. Build 클릭
Error 없이 진행되면 본인이 입력한 이름의 apk 파일이 만들어짐
[ 마무리하기 ]
[ 화면을 밝게 하기 위해 Skybox 조정하기 ]
Window >> Lighting >> Settings
Evironment 탭 >> Environment Lighting >> Source >> Color
Color : Black >> White로 바꿔줌
[ 필요없는 환경 제거하기 ]
Window >> Lighting >> Settings
Evironment 탭 >> Environment Reflections
Source : Custom
Realtime Lighting
Realtime Global Illumination : Uncheck
Mixed Lighting
Baked Global Illumination : Uncheck
[ 제작된 Sphere 활용하기 ]
유니티에서 제공하는 Sphere는 낮은 폴리곤으로 인해 동영상이 깔끔하지 않고 위아래 부분이 심한 왜곡 현상이 나타남
fbx : Autodesk에서 제공하는 3D, 2D 파일 포맷으로 오디오도 지원한다. FBX 파일 포맷을 사용하여 다양한 소프트웨어간에 3D 데이터 교환이 가능