SlideShare a Scribd company logo
UNITY COOKBOOK
SHOT BY. INS
PART 14
카메라 & UI심화
카메라의 원리
유니티에서의 카메라는 ‘Main Camera’의 존재만 있는 것이 아닙니다. 다수의 카메라를 ‘Viewport Rect’ 공간으로부터
할당하여 여러 개의 샷을 한 화면에 담을 수 있습니다. 물론 렌더링 속도와 거기에 드는 비용도 2배가 되겠지요.
평소에는 이런 테크닉은 잘 쓰이지 않고 VR 기능으로 쓰이는 추세입니다.
( 1 / 9 )
# 공간 분할로 2개가 동시출력 된다.
카메라의 구성요소
드디어 항상 새 프로젝트를 만들었을 때 ‘Main Camera’ 객체에 붙어있는 정체모를 컴포넌트를 공개하겠습니다.
기본적으로 위치와, 카메라 컴포넌트 그리고 3가지 컴포넌트가 추가로 붙어있는데 이는 3D 게임 상에서 필요한
컴포넌트입니다. 물론 사용자가 직접 수정 가능하며 카메라 내부에서 표현할 수 있는 기능이 많습니다.
( 2 / 9 )
ㆍ GUI Layer: 게임 오브젝트 형태의 GUI 객체를 위한 공간
‘GUI Text’, ‘GUI Texture’ 등을 사용 가능하지만 구세대 기능이라 잘 안씀
ㆍ Flare Layer: ‘Lens Flare’ 효과를 담고 조정할 수 있는 레이어
ㆍ Audio Listener: 게임 상에서 들리는 소리를 듣게 해줌.
사실상 게임에서의 ‘귀’라고 볼 수 있다.
Render Texture
‘Project View’에서 ‘Create’ 탭을 눌러보면 ‘Render Texture’ 이라는 녀석이 있습니다.
이 것의 기능은 카메라가 현재 바라보고 있는 즉, 렌더링 되고 있는 장면(shot)을 텍스쳐에 실시간 그려담습니다.
그리고 카메라가 Realtime으로 렌더링 되듯이 Render Texture도 항상 수정됩니다.
( 3 / 9 )
# Render Texture를 큐브에 입힌 상태
Culling Mask
3개의 객체가 있는데 각각의 이름은 ‘Red, Green, Blue’ 입니다. 그리고 같은 이름으로 레이어를 준 상태입니다.
카메라 기능 중에 ‘Culling Mask’ 이라는 기능이 있는데 레이어의 체크가 해제 된 것들은 렌더링 전에 인식하여
아예 게임화면에서 그려지지 않습니다.
( 4 / 9 )
# 화면에 그려지지 않은 객체
미니맵 만들기
우리가 지금까지 배운 것들을 응용하여 봅시다.
‘Render Texture’에 입힐 카메라의 위치를 ‘Top View‘ 시점에서 지형을 바라보고 있게 설정합니다.
캔버스에 ‘RawImage’를 만들고 랜더텍스쳐를 적용하고 빨간 마커를 움직이면 마치 미니맵을 연상시키는 테크닉이 나옵니다.
( 5 / 9 )
# 렌더 텍스쳐에 그려지는 미니맵
UI 심화
UI 기능 중에서 잘 쓰이는 기능 몇가지를 보겠습니다.
2D 카메라 (캔버스) 상에서의 추력은 이미지 뿐만이 아니라 버튼이나, 입력 필드, 체크버튼 등 다양하게 만들 수 있습니다.
심지어 상호작용시 개발자 정의 스크립트까지 불러올 수 있어서 편리함과 기능성 마저 존재합니다.
이런 UI 객체들로 인벤토리 기능을 만들어보겠습니다.
( 6 / 9 )
# RawImage
# Button # Toggle (on/off) # Input Field
UI 응용 #1
마지막으로 UI를 활용한 2D 인벤토리 시스템을 만들어보도록 하겠습니다.
기능 내용은 ‘Input Field’의 아이템 코드(int)를 넣고 ‘Button’을 누르면 코드를 식별하여 빈 인벤토리창에 아이템을 추가하는
내용입니다. 우선적으로 인벤토리에 필요한 슬롯과 버튼, 그리고 입력창, 이벤트 시스템을 받을 빈 이미지도 하나 준비합니다.
그리고 추가적으로 2개의 스크립트를 생성합니다.
( 7 / 9 )
UI 응용 #2
InputField 정보를 받고 인벤토리 스크립트를 수행할 버튼 스크립트 내용입니다. 입력받은 Text를 정수로 변환하여
아이템 코드로 넘겨주는 역할을 담당하고 있습니다.
두 번째로는 인벤토리 스크립트인데 ‘AddItem’으로 넘겨받은 아이템 코드는 빈 슬롯을 찾아 해당 빈 칸으로 Reflush 하여
아이템코드에 걸맞는 아이템 sprite를 대체해주는 스크립트입니다.
( 8 / 9 )
UI 응용 #3
마지막으로 스크립트 연결을 해주는데 Button 부분에서의 스크립트 실행은 ‘On Click’ 부분에서 수행합니다.
자기 자신을 드래그하여 위 사진에 맞는 부분에 넣고 우리가 작성했던 스크립트를 불러옵니다.
이후 버튼과, 이벤트 객체에 맞는 스크립트를 넣고 실행하면 빈칸을 찾아 들어가는 인벤토리 기능이 완성됩니다.
이상 카메라 기능과 UI로 인벤토리를 구현해봤습니다.
( 9 / 9 )
# 빈 칸을 찾아 들어가는 아이템
Thank You !

More Related Content

PPTX
Unity cookbook 16
PPTX
Unity cookbook 13
PPTX
Unity cookbook 17
PPTX
유니티 Rpg게임배경 스타트업 첫번째자료
PPTX
유니티 Rpg게임배경 스타트업 두번째 스터디자료
PPTX
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
PPTX
유니티 Rpg게임배경 스타트업 6번째 스터디자료
PPTX
유니티 Rpg게임배경 스타트업 4번째 스터디자료
Unity cookbook 16
Unity cookbook 13
Unity cookbook 17
유니티 Rpg게임배경 스타트업 첫번째자료
유니티 Rpg게임배경 스타트업 두번째 스터디자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 4번째 스터디자료

What's hot (20)

PPTX
디자이너를 위한 NGUI의 이해
PPTX
Unity3d pp 이용규
PPTX
Sun and Moon
PDF
Unity 3d study #2
PDF
3D 게임 그래픽스의 이해
PDF
Rooms2 vr ArtWorks
PDF
Unity 3d study #1
PDF
제 3회 DGMIT UI&UX 컨퍼런스 : 2.5D의 세계
PPTX
Unity cookbook 6
PDF
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
PPTX
Unity cookbook 21
PPTX
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
PDF
Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효
PPTX
Unity cookbook 12
PDF
진선웅 유저수만큼다양한섬을만들자 공개용
PDF
Igc2016 Technical Artist가 뭐하는 사람이에요?
PDF
NDC2011 - 절차적 지형과 트렌드의 추적자들
PDF
Make a shooting game using unity
PDF
이원, 절차적 지형과 월드 머신, NDC2011
PDF
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
디자이너를 위한 NGUI의 이해
Unity3d pp 이용규
Sun and Moon
Unity 3d study #2
3D 게임 그래픽스의 이해
Rooms2 vr ArtWorks
Unity 3d study #1
제 3회 DGMIT UI&UX 컨퍼런스 : 2.5D의 세계
Unity cookbook 6
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity cookbook 21
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
Unite 17 Education Day (미대 지망생이었던 제가)유니티 게임 개발자가 되었습니다 - 정선효
Unity cookbook 12
진선웅 유저수만큼다양한섬을만들자 공개용
Igc2016 Technical Artist가 뭐하는 사람이에요?
NDC2011 - 절차적 지형과 트렌드의 추적자들
Make a shooting game using unity
이원, 절차적 지형과 월드 머신, NDC2011
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
Ad

Similar to Unity cookbook 14 (20)

PDF
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
PDF
Gametech2015
PDF
Devtree illu
PPTX
[1002 조진현]unity3d 소개
PDF
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
PDF
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
PPTX
에코노베이션 3차 세미나 교안
PPTX
UI아트 작업자를 위한 언리얼엔진4 UMG #1
PDF
Unity3D Developer Network Study Chapter.2
PDF
허니컴 태블릿 디자인
PDF
증강현실을 통한 두더지잡기 게임
PPTX
Ndc2013 정리(upload버전)
PDF
증강현실을 통한 두더지잡기 게임
PPTX
Gamebryo LightSpeed (Korean)
PPTX
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
PDF
20140514 team blender_v01 (Korean)
PDF
증강현실을 통한 두더지잡기 게임
PDF
브릿지 Unity3D 기초 스터디 2회
PPTX
2 D게임 프로그래밍 발표 자료
PPTX
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Gametech2015
Devtree illu
[1002 조진현]unity3d 소개
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
에코노베이션 3차 세미나 교안
UI아트 작업자를 위한 언리얼엔진4 UMG #1
Unity3D Developer Network Study Chapter.2
허니컴 태블릿 디자인
증강현실을 통한 두더지잡기 게임
Ndc2013 정리(upload버전)
증강현실을 통한 두더지잡기 게임
Gamebryo LightSpeed (Korean)
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
20140514 team blender_v01 (Korean)
증강현실을 통한 두더지잡기 게임
브릿지 Unity3D 기초 스터디 2회
2 D게임 프로그래밍 발표 자료
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Ad

More from Jihun Soh (14)

PPTX
Unity cookbook 20
PPTX
Unity cookbook 19
PPTX
Unity cookbook 18
PPTX
Unity cookbook 15
PPTX
Unity cookbook 11
PPTX
Unity cookbook 10
PPTX
Unity cookbook 9
PPTX
Unity cookbook 8
PPTX
Unity cookbook 7
PPTX
Unity cookbook 5
PPTX
Unity cookbook 4
PPTX
Unity cookbook 3
PPTX
Unity cookbook 2
PPTX
Unity cookbook 1
Unity cookbook 20
Unity cookbook 19
Unity cookbook 18
Unity cookbook 15
Unity cookbook 11
Unity cookbook 10
Unity cookbook 9
Unity cookbook 8
Unity cookbook 7
Unity cookbook 5
Unity cookbook 4
Unity cookbook 3
Unity cookbook 2
Unity cookbook 1

Unity cookbook 14

  • 1. UNITY COOKBOOK SHOT BY. INS PART 14 카메라 & UI심화
  • 2. 카메라의 원리 유니티에서의 카메라는 ‘Main Camera’의 존재만 있는 것이 아닙니다. 다수의 카메라를 ‘Viewport Rect’ 공간으로부터 할당하여 여러 개의 샷을 한 화면에 담을 수 있습니다. 물론 렌더링 속도와 거기에 드는 비용도 2배가 되겠지요. 평소에는 이런 테크닉은 잘 쓰이지 않고 VR 기능으로 쓰이는 추세입니다. ( 1 / 9 ) # 공간 분할로 2개가 동시출력 된다.
  • 3. 카메라의 구성요소 드디어 항상 새 프로젝트를 만들었을 때 ‘Main Camera’ 객체에 붙어있는 정체모를 컴포넌트를 공개하겠습니다. 기본적으로 위치와, 카메라 컴포넌트 그리고 3가지 컴포넌트가 추가로 붙어있는데 이는 3D 게임 상에서 필요한 컴포넌트입니다. 물론 사용자가 직접 수정 가능하며 카메라 내부에서 표현할 수 있는 기능이 많습니다. ( 2 / 9 ) ㆍ GUI Layer: 게임 오브젝트 형태의 GUI 객체를 위한 공간 ‘GUI Text’, ‘GUI Texture’ 등을 사용 가능하지만 구세대 기능이라 잘 안씀 ㆍ Flare Layer: ‘Lens Flare’ 효과를 담고 조정할 수 있는 레이어 ㆍ Audio Listener: 게임 상에서 들리는 소리를 듣게 해줌. 사실상 게임에서의 ‘귀’라고 볼 수 있다.
  • 4. Render Texture ‘Project View’에서 ‘Create’ 탭을 눌러보면 ‘Render Texture’ 이라는 녀석이 있습니다. 이 것의 기능은 카메라가 현재 바라보고 있는 즉, 렌더링 되고 있는 장면(shot)을 텍스쳐에 실시간 그려담습니다. 그리고 카메라가 Realtime으로 렌더링 되듯이 Render Texture도 항상 수정됩니다. ( 3 / 9 ) # Render Texture를 큐브에 입힌 상태
  • 5. Culling Mask 3개의 객체가 있는데 각각의 이름은 ‘Red, Green, Blue’ 입니다. 그리고 같은 이름으로 레이어를 준 상태입니다. 카메라 기능 중에 ‘Culling Mask’ 이라는 기능이 있는데 레이어의 체크가 해제 된 것들은 렌더링 전에 인식하여 아예 게임화면에서 그려지지 않습니다. ( 4 / 9 ) # 화면에 그려지지 않은 객체
  • 6. 미니맵 만들기 우리가 지금까지 배운 것들을 응용하여 봅시다. ‘Render Texture’에 입힐 카메라의 위치를 ‘Top View‘ 시점에서 지형을 바라보고 있게 설정합니다. 캔버스에 ‘RawImage’를 만들고 랜더텍스쳐를 적용하고 빨간 마커를 움직이면 마치 미니맵을 연상시키는 테크닉이 나옵니다. ( 5 / 9 ) # 렌더 텍스쳐에 그려지는 미니맵
  • 7. UI 심화 UI 기능 중에서 잘 쓰이는 기능 몇가지를 보겠습니다. 2D 카메라 (캔버스) 상에서의 추력은 이미지 뿐만이 아니라 버튼이나, 입력 필드, 체크버튼 등 다양하게 만들 수 있습니다. 심지어 상호작용시 개발자 정의 스크립트까지 불러올 수 있어서 편리함과 기능성 마저 존재합니다. 이런 UI 객체들로 인벤토리 기능을 만들어보겠습니다. ( 6 / 9 ) # RawImage # Button # Toggle (on/off) # Input Field
  • 8. UI 응용 #1 마지막으로 UI를 활용한 2D 인벤토리 시스템을 만들어보도록 하겠습니다. 기능 내용은 ‘Input Field’의 아이템 코드(int)를 넣고 ‘Button’을 누르면 코드를 식별하여 빈 인벤토리창에 아이템을 추가하는 내용입니다. 우선적으로 인벤토리에 필요한 슬롯과 버튼, 그리고 입력창, 이벤트 시스템을 받을 빈 이미지도 하나 준비합니다. 그리고 추가적으로 2개의 스크립트를 생성합니다. ( 7 / 9 )
  • 9. UI 응용 #2 InputField 정보를 받고 인벤토리 스크립트를 수행할 버튼 스크립트 내용입니다. 입력받은 Text를 정수로 변환하여 아이템 코드로 넘겨주는 역할을 담당하고 있습니다. 두 번째로는 인벤토리 스크립트인데 ‘AddItem’으로 넘겨받은 아이템 코드는 빈 슬롯을 찾아 해당 빈 칸으로 Reflush 하여 아이템코드에 걸맞는 아이템 sprite를 대체해주는 스크립트입니다. ( 8 / 9 )
  • 10. UI 응용 #3 마지막으로 스크립트 연결을 해주는데 Button 부분에서의 스크립트 실행은 ‘On Click’ 부분에서 수행합니다. 자기 자신을 드래그하여 위 사진에 맞는 부분에 넣고 우리가 작성했던 스크립트를 불러옵니다. 이후 버튼과, 이벤트 객체에 맞는 스크립트를 넣고 실행하면 빈칸을 찾아 들어가는 인벤토리 기능이 완성됩니다. 이상 카메라 기능과 UI로 인벤토리를 구현해봤습니다. ( 9 / 9 ) # 빈 칸을 찾아 들어가는 아이템