반응형

 

 

유니티에는 단축키를 쉽게 확인하고 단축키를 지정할수 있는 기능이 있다.

게임엔진 답게 다른 프로그램보다 확인하기 쉽게 되어있다.

 

너무 간단한 기능이기에 이런게 있구나 하고  어떤 단축키들이 할당되어있는지 보고 넘어가도 좋다.

 

 

한번 보도록 하자.

 

 

우선 Shortcuts을 키는 법은 Edit -> Shortcuts.. 에서 확인할수 있다.

누르면 창이 하나 켜진다.

 

 

 

아래와 같은 창이 켜지는 것을 확인할수있다.

키에 마우스를 올리면 어떠한 단축키가 할당되어있는지 확인할수있다.

색마다 다른데

유니티에는 단축키를 쉽게 확인하고 단축키를 지정할수 있는 기능이 있다.

 

게임엔진 답게 다른 프로그램보다 확인하기 쉽게 되어있다.

 

한번 보도록 하자.

 

 

 

 

 

우선 쇼우올컷 을 키는 법은 Edit -> Shortcuts..

아래와 같은 창이 켜지는 것을 확인할수있다.

 

 

초록색 네모칸은 현재 할당되어 있는 키를 확인할수있는데.

마우스를 올리면 어떤 기능이 할당되어있는지 알수있다.

설명이 버전마다 살짝식 차이가 있는데.

 

우선 유니티 공식 문서에선 아래와 같이 설명하고있다.

 

 

 

 

하지만  직접 캡쳐한 버전에선

위에 설명으로 

보라색 키 역시 mixed key 로 색이 다르게 추가되어있다.

 

 

 

마우스를 올리고 기다리면 할당되어있는 단축키를 보여준다

 

 

우클릭시

지우거나 기본설정으로 초기화 할수있으며

 

특수키 를 키보드로 누르거나 마우스로 누르면 

연계되어있는 숏컷만 확인도 가능하다.

 

 

 

 

 

 

 

 

 

 

또한 단축키 세팅을 새로만들거나 저장, 불러오기 가 가능하다.  

 

 

 

 

 

 

 

 

 

 

마지막으로 아래와 같이  숏컷의 종류들을 전부 확인가능하다.

할당안되어있는 것들은 눌러서 단축키를 넣어줄수있다.

아래와같이  맨오른쪽의 숏컷 부분을 누른뒤 원하는 키를 눌렀다 때면 생성할수있고.

사용할수있다.

 

 

여기서도 우클릭하면 초기화 제거 를 할수있다.

 

 

 

 

 

'엔진 > 유니티' 카테고리의 다른 글

유니티 데칼 (decal)  (0) 2024.04.16
Unity Spline 기능 추가!  (0) 2023.06.01
Unity Simulator  (0) 2023.01.20
Unity ObjectPool Api  (0) 2022.11.02
unity Redis  (0) 2022.07.13
반응형

 

원하는 도장, 스프레이 기능, 또는 자연스럽게 꾸미는 기능이 필요할경우

 

HDRP 유니티의 기능중 decal 기능을 사용할수있다

 

 

 

 

아래의 이미지 처럼  두개의 오브젝트에도 자연스럽게 위에 그릴수있다.

 

unity3d.com 에서 설명하는 이미지

 

 

현재 사용한엔진은 2022.2.20f 버전의 데칼이다.

 

Component 에서 HDRP Decal Projector 을 추가해준다.

 

 

이전 기능에서는 projecter 으로 일반에서도 쓸수있던 기능이지만 HDRP 로 변경되었다.

 

 

우선  새로운 Material 을 생성해준다

 

 

shader을 decal로 선택하여준다

 

 

위처럼 이미지를 넣어준 머터리얼을  아까 추가해준 Decal Projector 의 material 에 넣어주면  끝이다.

 

 

 

아래와 같이 데칼의 경우 네모상자와 방향이 표시된다 방향에 맞게 비치할경우 이미지가 그려진다.

 

 

 

 

 

 

 

간단한 사용법을 알아봤으니 이제 내부 변수들을 확인해 보자

 

 

위의 3가지 이미지는 이미지로 보이는것처럼

DECAL을 조절하는  방식을 변경할수 있다.

 

Scale Move  : Scale Invariant , inherit from Hierachy  

 

Scale Invariant   :  아래의 Size , Depth Pivot 들만 사용하여 decal을 지정

 

 inherit from Hierachy    :  아래의 size Depth Pivot 들과 오브젝트의 Transform 의값도 포함하여 계산

 

Draw Distance : 카메라가 데칼을 렌더링하는 최대 거리

 

Tiling : uv 축을 따른 머터리얼의 Tiling 값

 

offset : uv 축을 따른 머터리얼의 offset 

 

fade factor :  데칼의 투명도 조절 

 

Affects Transparent : 투명 포면위에 그릴수 있다.  Affect Transparenc가 활성화 되어있으면 

텍스처를 아틀라스에 패킹한다고 한다.

 

 

 

decal은 버전마다 조금씩 변수가 다르기에  아래의 주소에서 버전을 바꿔보면서 자신의 버전에 맞는 가이드를 읽어보는게 좋아보인다.

 

https://docs.unity3d.com/kr/Packages/com.unity.render-pipelines.high-definition@10.5/manual/Decal-Projector.html

 

데칼 프로젝터 | High Definition RP | 10.5.0

데칼 프로젝터 고해상도 렌더 파이프라인(HDRP)에는 특정 머티리얼(데칼)을 씬에 투사할 수 있도록 해주는 Decal Projector 컴포넌트가 있습니다. 데칼은 데칼 셰이더나 데칼 마스터 스택을 사용하는

docs.unity3d.com

 

'엔진 > 유니티' 카테고리의 다른 글

unity shortcuts  (0) 2024.09.03
Unity Spline 기능 추가!  (0) 2023.06.01
Unity Simulator  (0) 2023.01.20
Unity ObjectPool Api  (0) 2022.11.02
unity Redis  (0) 2022.07.13
반응형

Unity 2022버전 부터는 에디터 기능Spline이 새롭게 추가되었다.

이글은 2022.1.20f1 버전으로 spline 1.01 버전을 사용하였다.

 

이전 버전에선 직접 만들거나 에셋으로 사용하던 기능이 추가된것이다.

 

어떻게 추가되었는지 확인해 보자

 

자세한 내용과 코드 라이브러리를 확인할수 있는 주소다.

https://docs.unity3d.com/Packages/com.unity.splines@1.0/api/UnityEngine.Splines.SplineUtility.html

 

Class SplineUtility | Splines | 1.0.1

Class SplineUtility A collection of methods for extracting information about Spline types. Inheritance SplineUtility Assembly : solution.dll Syntax public static class SplineUtility : object Fields DrawResolutionDefault The default resolution used when unr

docs.unity3d.com

 

 

목차

1. 다운로드 위치

2. Spline 

2. Spline Instantiate

3. Spline Animate

4. Splline Extude

5. Spline Examples

 

6. 2.2.1 버전 업데이트

 

 

 

 

package manager ->package : unity Regisry ->splines 를 임포트 해준다.

추가를 해주면 아래처럼 Gameobject->3Dobject->Spline {Draw Spline Tool.., Square, Circle } 이 추가된다

순서대로

 

Draw Spline Tool : Spline 기본 오브젝트 생성

Square : 네모가 그려져있는 spline 오브젝트 생성

Circle : 원형이 그려져 있는 spline 오브젝트 생성

 

Square 생성시 만들어주는 Spline

 

Spline을 만들어준뒤 오브젝트를 눌러주면  Scene 좌측상단에 새로운 아이콘이 생겼다.

아이콘을 누른뒤 움직여주면  아래 사진처럼 변경이 가능하다

 

맨아레 아이콘을 눌러주면 Line 위에 새로운 점을 추가가능하다.

 

아래 화면이 InsPector 창의 Spline 이다.

 

 

 

먼저 Edit Mode Type 은 3가지로

{Catmull Rom , Bezier , Linear}

 

 

먼저 Catmull Rom  은 곡률을 수학적으로 계산해서 만들어주는 계산법이다.

점 3개를 가지고 0->2 과 1번의점을 평행하게 그어준뒤  허밋 곡선을 그어준다.

 

이미지 출처& 자세한 설명:

https://lee-seokhyun.gitbook.io/game-programming/client/easy-mathematics/gdc2012/catmull-rom-splines 

 

캣멀-롬 스플라인(Catmull-Rom Splines) - Game Programming

캣멀-롬 스플라인은 3차 허밋 스플라인에서 시작(U)과 끝(V) 지점의 속도 벡터를 결정하기 위한 특정한 값을 가진 스플라인 입니다. 새로운 스플라인 이라기 보다는 3차 허밋 스플라인을 구현하기

lee-seokhyun.gitbook.io

 

 

 

 

다음은 많이 사용하는 Bezier 형식이다

점 1,2를 지정후 가상의 1-1점과 2-1 점 총 4개의 점을 가지고 계산하는 방법으로

선위를 이동하는 점 과 이어주어 선을 그리는 방식이다.

 

마지막으로 Linear은 가장 기본적으로 점과 점을이어 선을 만드는 방식이다.

 

Knots는 점들의 정보를 저장한 리스트다.

 

Closed는 아래의 이미지처럼 시작점과 끝점을 이어주는가 아닌가에 대한 데이터다.

 

 

또한 spline의 위치는 x,y,z 모두 변경이 가능하다

 

 

 

 

 

 

오브젝트의 Add Component에서도 Splines라는 항목을 확인할수 있는데

그내부는 기본적으로 4가지가있다

 


먼저 Instantiate

아래 이미지 처럼 라인 위에 오브젝트들을 정렬생성 시킬수있다.

container에 원하는 Spline을 넣어준뒤

items to Instantiate에  { 오브젝트 , 나올 퍼센트} 를 입력해주고 맨아래의 Randomize를 누르고 Regenerate를 눌러주면

랜덤하게 배치해주는걸 볼수있다.

Instantiated Object Setup 설정을 변경해주면

배치될 오브젝트의 방향과 중점등을 세팅해 줄수있다.

Instantiation은 생성될 갯수로

Instance Count :  Dist 값이 늘어날수록 오브젝트 배치량이 늘고 간격이 좁아진다. 값은 Random과 Exact로 설정가능하다.

Spline Distance : 0.1~ 시작해 시작지점 오브젝트 부터 간격의 길이를 지정하여 배치하는 방법이다.

Linear Distance : 이 역시 간격의 길이를 지정하지만 계산을 배치할때 Linear 형식으로 배치하여 곡률이 없다.

 

 

 


이번엔 Spline Animate다

움직이길 원하는 오브젝트에 추가하여 사용한다.

 

Animated Object Setup 은 이전 Instantiate에 나온것과 같이 오브젝트의 방향 중점 등을 지정한다

 

Movement 는 기본적인 세팅을 할수있다.

 

Play on Awake : awake 실행 타이밍에 Play

 

Method : 움직이는 속도의 지정방식을 정할수 있다{ speed, time}

             time: 시간값 으로 숫자가 커질수록 느려진다.

             speed: 속도값 으로 숫자가 작아질수록 느려진다.

 

Easing :구간의 속도를 지정할수있다{None ,Ease in only , Ease Out Only , Ease In-Out}

              순서대로 {일정한속도, 들어갈때 느려짐, 나올때 느려짐, 들어갈때 나올때 느려짐}

 

Loop Mode: 반복 모드를 정할수 있다{,,, PingPong}

           Once :  한번만

          LoopContinous : 계속반복

          Ease in Then Continous : Easing 셋팅을 처음만 적용한뒤 반복 

          PingPong : 시작점->끝점->시작점으로 왕복을 반복한다.

 

세팅을 한후 Preview 에서 에니메이션을 확인할수 있다.

 


 

 

Splline Extude

 

Spline에 맞게 메쉬를 생성한다.

spline 오브젝트에 컴퍼넌트를 추가시 파일에 씬 이름과오브젝트 이름으로 메쉬파일을 만들어준다.

 

Geometry는 메쉬를 설정해줄수 있다.

           Radius : 굵기

           Profile Edfes : 메쉬의 원둘래 각의 개수를 

           Segaments Per Unit :메쉬의 한단위의 길이를 만드는 루프수

 

Advanced

    Range 는 시작 길이와 끝나는 지점을 지정할수있다.

    Auto - Regen Geometry :  true 일경우 spline이 변경되었을경우 자동 메쉬재생성 (런타임때 수정되지않으면 비활성화)

                Rebuild Frequency : 초당 최대 재생성 횟수

 

 


 

 

 

Spline Examples 

 

 Spline의 라이브러리 코드 기능들을 이용하여 만든 추가 예시 프로젝트들 이다.

이 예시 프로젝트는

Splines를 다운받은 화면 에서 확인할수있다 

아래 Samples를 import하면 확인할수 있다.

 

 

자동 도로 생성

 

 

Point Spline Data

 

추가 포인터 데이터

예시 프로젝트에선 탱크 오브젝트에 Look At 을 추가하여 움직일때 포인트를 바라보게 하였다.

 

 

 

Spline GetNearestPoint 

 

주변 Spline 찾기

 

 

또한 제공되는 예제에는 Spline 과 쉐이더를 같이 이용하는 모습도 보여준다.

spline 데이터를 GPU에 전달하는 방법

 

 

 


 

Unity 2022.3 버전이 나오면서

Splines 역시  2.2.1 버전으로 업데이트 하였다.

 

위치 변경과 기본 프리셋이 추가되었다.

3D Object 내부에 있던 Spline 이 밖으로 나왔고 프리셋이 몇가지 늘어났다.

 

 

또한 spline 설정법과 아쉬웠던 에디터에서의 조작이 편하게 바뀌었다.

 

보기 쉬워진 ui와  쉬워진 조작

spline의 UI가 바뀌어 Line 방향이 추가되었다.

또한 일전에는 Spline 컴퍼넌트에 들어있던 시스템들이 point마다 설정가능하게 변경되었다.

 

아래 이미지 처럼 하나의 spline Object에  이어지지 않은 여러개의 자유로운 spline을 만들수있다.

 

새롭게 생긴 Element inspector 창에서

기본적이 값도 변경이 가능하지만 Spline의 Knot 끼리의 상태를 설정가능하다.  

이렇게 다른 두개의 Knot 끼리 붙였다 뗄 수도 있고

중간에 위치하는 Knot을 둘로 나눠버릴수도있다.

 

 

 

 

Spline Examples 에서도 변경된 부분이 많았다.

 

라인 그리면 라인대로 spline을 그려주는 examples 이 추가되었고

 

이전 예제에서 Unity Editor 라이브러리를 이용하여 기능을 만들어서 자동차의 속도와 위치를 설정하는 부분이 생겼다. 

또한 새롭게 생긴 예제에서는 이번 업데이트로 인해  자유롭게 만들수 있는 Spline을 사용하는 방법도 보여준다.

 

'엔진 > 유니티' 카테고리의 다른 글

unity shortcuts  (0) 2024.09.03
유니티 데칼 (decal)  (0) 2024.04.16
Unity Simulator  (0) 2023.01.20
Unity ObjectPool Api  (0) 2022.11.02
unity Redis  (0) 2022.07.13
반응형

유니티 2021 버전부터는 Unity Simulator라는 것을 제공한다.

Game 창의 좌상단의 화살표를 클릭하면 Game화면과 Simulator화면을 선택할 수 있다.

Simulator로 변경하면

 

위 사진처럼 변경되는 모습을 볼 수 있다.

 

 

상단 목록

창의 상단에는 위 같은 목록들을 확인할 수 있는데

좌측부터 순서대로

1. 화면 실행 뷰 선택[Game, Simulator]

2. 원하는 기종 선택

3. 화면 확대, 축소

4. (3) 번의 확대, 축소 한 화면을 원상복귀

5.Rotate [좌, 우] 화면 돌리기

6.Safe Area 

 

와 같은 6가지 항목들이 존재한다.

이중에 6번 항목을 키는 경우

 

위 사진처럼 노란 테두리가 생기는데

이 역시 새롭게 추가된 기능으로 노치 디자인에 ui가 가려 버리는 사태를 막기 위해 있는 기능이다.

 

위 사진처럼 ui를 잡으라고 라인을 배치해 준다.

 

코드에서도 Safe Area가 생겨서 라인 내부로 ui들을 안나가게 할 수 있다.

https://docs.unity3d.com/ScriptReference/Screen-safeArea.html

 

Unity - Scripting API: Screen.safeArea

On some displays, certain areas of the screen might not be visible to the user. This might be because the display's shape is non-rectangular or in the case of TV displays, it can be caused by overscan. Avoid placing user interface elements in areas outside

docs.unity3d.com

 

또한 좌측에 application Settings라는 항목이 있어서 세팅을 추가로 해줄 수 있는데

 

시스템 언어 설정 

장치에의 네트워크 도달 옵션

이 기기의 인터넷 연결가능 옵션 설정

 

 

연결 불가능 

이동통신사 데이터 네트워크 연결

근거리 통신망 연결

 

On Low Memory

먼저 Low Memory는 foreground 말 그대로 앞에서 작동할 때

장치의 메모리부족일 때 앱이 종료되는 것을 방지하기 위해 중요하지 않은 자산(텍스쳐, 오디오)을 해제할 수 있다.

이러한 기능을 테스트하기 위한 버튼이다.

 

 

하지만 역시 안드로이드 시뮬레이터는 진짜 안드로이드로 돌리는게 아니기 때문에 여러가지 제한사항이 존재한다.

1. 기기의 성능 특성(기기의 프로세서 속도,메모리)

2. 기기의 렌더링 능력

3. 에디터에서 작동하지 않는 네이티브 플러그인

4. UNITY_IOS와 같은 시물레이션된 기기에 대한 플랫폼 #define 지시문

5. 자이로스코프 회전 센서

4.멀티터치 (한손가락 터치만 가능)

 

 

https://docs.unity3d.com/kr/2021.1/Manual/device-simulator.html

 

기기 시뮬레이터 - Unity 매뉴얼

이 문서 섹션은 Unity의 기기 시뮬레이터에 대한 정보를 포함합니다.

docs.unity3d.com

'엔진 > 유니티' 카테고리의 다른 글

유니티 데칼 (decal)  (0) 2024.04.16
Unity Spline 기능 추가!  (0) 2023.06.01
Unity ObjectPool Api  (0) 2022.11.02
unity Redis  (0) 2022.07.13
unity _Prefab Variants  (0) 2022.03.17

+ Recent posts