https://www.youtube.com/watch?v=372G7Psa50w&list=PL412Ym60h6uvqYiCVKk5NiEFpDEwOMQFX&index=30


유니티의 **폴리브러쉬 (Polybrush)**는 유니티 에디터 내에서 

3D 모델의 지오메트리 (Geometry), 
색상 (Color), 
텍스처 (Texture) 를 직접 조작할 수 있게 해주는 에디터 확장 툴

메쉬 스컵팅
버텍스 페인팅
텍스쳐 블렌딩
오브젝트 스캐터링

블렌더 없이 에디터 내에서 사용 가능

프로토 타입 만들 때 유용

 

 

 

패키지 메니저에서 깔면 되고

 

프로 빌더도 같이 까셈

 

프로 빌더 & 폴리 브러쉬 두 개가 세트라고 보면 됨

같은 회사에서 만든 형제 임

 

 


위쪽 Tools 메뉴에
프로빌더, 폴리 브러쉬 가 생김

 

 

 

아이콘 보기 모드로 보기 좋게 바꿀 수 있음

 

 

 

 

+

 

 

 

스컵팅 , 산 올리거나 아래로 움푹 꺼지게 할 수 있음

 

ctrl + 마우스 휠 로 브러쉬 크기 조정 가능

 

 

 

좀 더 디테일 하게 하고 싶다,

그러면

프로 빌더 , 크리에이트 , 플레인 생성,  cuts 를 50씩 주기

 

 

 

+

 

폴리 브러쉬 깨질 때

 

 

ctrl z 취소 했는데 깨짐

이럴 땐

repair - rebuild all

 

 

그리고 export

alt 누르고 우클릭

포맷은 asset

파일 저장

그리고 불러오기

그러면 

마젠타 색으로 마테리알 없이 불러와짐

메쉬 렌더러 컴포 ㅡ 마테리알 지정해서 깨진거 해결

 

 

이제 폴리 브러쉬 쓰고 언두 해도 안 깨짐

 

+

 

 

큐브 를 섭디 쪼개서 선을 늘릴 수 있음

 

 

이 큐브에 폴리브러쉬 하면 에러 남

 

위와 동일하게 리페어 ㅡ 익스포트 ㅡ 임포트 하면 됨

 

 

 

 

폴리브러쉬 

미러링 기능 있음

 

 

 

global y 축 제한 있음

 

edge 끝부분 건드리기 / 제한하기 기능 있음

 

 

 

 

스무스 브러쉬도 있음

 

 

 

컬러 칠하기 도 있음

마테리알이 프로 빌더 이기 때문에 가능

 

일반적인 쉐이더엔 색칠 안됨

 

정확한 명칭은

셰이더 ㅡ 폴리 브러시 ㅡ Lit vertex color URP 로 바꿔야 가능

 

 

 

프리팹 스캐터링 가능

 

쓰려면 드래그 후 체크 까지 눌러야 됨

 

슬라이더로 등장 비율 조절 가능

 

지우려면 백스페이스

 

두 개가 겹치는게 싫으면 avoid overlap 

 

 

땅에 따라 기우는게 싫으면

프리팹 다중선택 후

x y z 로테이션 다 0 0 0 으로 설정

 

 

 

 

+

 

텍스쳐 브러쉬

 

 

마테리알 필요함

 

material 하나 생성

shader ㅡ 폴리브러쉬 ㅡ Lit texture blend urp 


albedo texture 에 원하는 텍스쳐 넣기

이 마테리알을 바닥 플레인 오브젝트에 적용

 

 

버텍스 컬러 브러쉬 사라짐

 

버텍스 컬러 브러쉬와 공존 불가

 

 

 

+

 

 

 

위 기능들도 Terrain 과 비슷함

 

그러나

 

Terrain 은 컴포넌트고

 

폴리 브러쉬 는 하나의 툴 이라 컴포넌트가 아님

 

Terrain 폴리 브러쉬
컴포넌트  
바닥 터레인만 가능 어느 메쉬에서나 사용 가능
   

 

 

 

폴리 브러쉬는 원형 물체에서도 가능

 

+

 

 

프리팹에 색칠해서 디테일 높이기


prefab - unlock completely 
마테리알 새로 만든 후
셰이더 ㅡ 폴리 브러시 ㅡ Lit vertex color URP 
적용 후 색칠
프로젝트 폴더로 드래그 해서 프리팹 새로 따로 등록

 

+

 

로우 폴리 바닥 메쉬 제작  가능

 


probuilderize , 알트 우클릭
임포트 스무싱 해제

이렇게 부드러운 걸 딱딱하게 변경

Triangulate 

다 됐으면 asset 으로 export

불러와서 마테리알 지정

 

스캐터링으로 맘대로 커스텀

 

 

 

 

+

 

각각 용도

 

프로빌더 폴리 브러쉬 블렌더
윌드에 적합한 메쉬 생성 자연스럽게 다듬기 단일 개체 작업용
간단 메쉬 생성 버텍스 칠하기
텍스쳐 칠하기
풀 나무 배치
복잡한 메쉬
고품질 메쉬
    uv 언래핑
PBR 텍스쳐맵 베이킹
리깅 하기
애니메이션 제작
반응형
Posted by 이름이 익명
:

https://www.youtube.com/watch?v=TuE2DhhLruc&list=PL412Ym60h6uvqYiCVKk5NiEFpDEwOMQFX&index=29

 

원하는 분위기를 간편하게 연출 가능! 
Unity Color Lookup

 



LUT lookup table
색감 참조 테이블

 

   


색상 조정
후처리 (Post-Processing) 기법 임

 

+

 

스샷 찍는 법

 

 

 

 



패키지 매니저 ㅡ Recorder 
를 쓰면 화면 스크린샷 찍을 수 있다

window - general - recorder -  recorder window 창 띄울 수 있음

mode 를 single frame 하면 스샷 찍을 수 있음

add recorder 에 image sequence 넣고 
해상도 1080 p 넣고 
게임 플레이 하고
스타트 레코딩 버튼 누르면 스샷 찍혀짐

프로젝트 폴더에 스샷 있음

 

+

 

 

일반적인 룩업 테이블과 유니티용 룩업 테이블은 좀 차이가 있다

 

 

 

룩업 테이블 수정하는 법

 

인게임 스샷을

 

 

레이어 창 아래 조정 레이어 - 컬러 룩업 3d lut 프리셋 으로 조정

 

또는

원하는 조정레이어 밝기 대조 채도 를 조정

 

조정 레이어들을

LUT 파일에 복붙

 

lut 파일을 png 로 저장

 

 

 

 

lut png 파일을 유니티로 임포트 한 후

 

 

sRGB 끔

 

filter mode 는 point

compression 은 none

apply

 

 

Post Process Volume , Add override  , color lookup

 

 

텍스쳐 , 컨트리뷰션 활성화

아까 그 lut png 드래그 해서 넣음

 

컨트리뷰션 은 적용 강도임

 

볼륨 모드 가 글로벌 이기 때문에 화면 전체에 적용 됨

 

 

 

프레임 디버거 , render postprocessing effects 항목 texture 에서 확인 가능

 

 

   

 

맵 분위기 연출

또는

밤 낮 연출 에 쓰일 수 있음

 

 

 

반응형
Posted by 이름이 익명
:

https://www.youtube.com/watch?v=ydK-TkSyM8U&list=PL412Ym60h6uvqYiCVKk5NiEFpDEwOMQFX&index=25

에디터 변경 추가 점

Component  변함

 

메쉬 렌더러

 

 

모션 벡터 설정 가능

모션 블러 같은 거임

 

 

2d sprite 피봇 중심점 조절 가능

 

 

 

라인 렌더러

마스크 인터렉션 추가

 

 

마스크 인터렉션 , 즉 , 특정 부분에서만 이펙트 보이게 할 수 있음

 

 

 

비디오 플레이어

업데이트 모드 추가

 

유니티 time scale 시간 조정 스크립트에
비디오도 영향을 받아 느려질지  / 빨라질지 / 영향 없을지 정할 수 있음

 

 

 

소팅 그룹

소트 앳 루트 로 정렬 방식 변경 가능

 

 

 

 

 

이제 충돌시

Physics 2d Matrix 안써도 됨

 

리지드 바디 

충돌대상 레이어 include exclude 포함 미포함 설정 가능

 

콜라이더에도 동일한 옵션 추가됨

 

 

 

스크립트 추가됨

 

rigid.totalForce

힘을 벡터로 볼 수 있음 , 그리고 힘을 줄 수도 있음

 

rigid.totalTorque 

회전력 , 주로 플로트 소수점

 

 

 

 

2d 3d joint 에 브레이크 액션 추가됨

 

특정 조건에 도다르면 조인트가 파괴되어 떨어지는 거임

 

조인트 뜻 

두 개의 리지드바디 (Rigidbody) 오브젝트를 연결하여

그들의 상대적 움직임(위치 및 회전)을 특정 방식으로 제한하는 역할

 

행성 고리 같은 거임

 

 

 

타일맵 콜라이더

 

Delaunay Mesh 옵션 생김

정리 해주는 옵션

 

 

Delaunay 뜻

정삼각형 모양 유지하는 모양새
파편화된 물리 콜라이더는 깔끔하게 정리할 때 씀

 

 

 

박스 콜라이더 3d

 

provides contacts 추가됨

어느 부분이 접촉되었는지 디버그 상에서 볼 수 있게 보여줌

 

 

네비게이션 많이 달라짐

 

 

네비게이션은

패키지 매니저 에서 인스톨 되는 항목으로 되버림

 

 

 

네비게이션 윈도우 따로 열 필요가 없어짐

 

 

nav mesh link

메쉬 없어도

하늘 다리를 이어줄 수 있음

 

 

 

네브 메쉬 모디파이어

 

통행 느려짐, 통행 불가 를 변경 가능해짐

 

기본은 오브젝트마다 다르게 설정

 

 

번거롭지만

네비 메쉬 변경할 때 마다

 

nav mesh surface로 가서 bake 눌러줘야 함

 

 

 

 

네브 메쉬 모디파이어 볼륨

 

개별 오브젝트가 아니라 범위 로 설정 하는 것

 

 

 

스프라이트 콤포넌트 달라짐

 

 

스프라이트 스키닝

본 생성

퍼펫 툴 같이 움직이게 하는 거

 

 

 

스프라이트 라이브러리 와 연결된

스프라이트 리솔브

 

버튼 하나로

전체 테마를 통째로 바꾸는 기능

 

 

 

+

 

 

3D 유저 스킨은 ?

 

더 복잡해짐

Material 금속성 거칠기
Texture 껍데기 색
Swapping
성능 부하가 적고 간단함



Mesh 겉모양
Swapping

교체되는 모든 의상 또는 장비 메시(Mesh)는
캐릭터의 기본 스켈레톤(Skeleton)과 완벽하게 동일한 구조와 이름을 가진 뼈(Bone)를 사용해야 함


의상 부위에 가장 가까운 뼈를 기준으로 웨이트 페인팅 작업이 미리 완료되어 있어야 함
어깨 패드는 주로 Shoulder_L 뼈에 의해 100% 움직여야 하며,
Neck 뼈에는 영향을 받지 않도록 웨이트가 0이어야 함

스켈레탈 메시와 스키닝 (Skeletal Mesh & Skinning)
분리된 의상 모델: 몸통과 팔다리는 기본 스켈레톤에 스키닝된 상태로 두고,
의상(상의, 하의)은 별도의 3D 메시로 모델링되어 동일한 스켈레톤의 뼈(Bones)에 따라 움직이도록 따로 스키닝

이 웨이트 페인팅 작업은 유니티 내부가 아닌, 블렌더 같은 외부 3D 모델링 소프트웨어에서 진행 해야 함

기존 의상 메시를 비활성화하고 새로운 의상 메시를 활성화 하는 원리

뼈 Skeleton , 웨이트 Weight 정보는 거진 건드리지 않거나 호환되게 만들어야 함

 

 


셰이더를 활용한 프로시저럴 스킨 (Procedural Skinning via Shaders)


염색 시스템 구현
텍스쳐를 교체하는 게 아님
컬라 파라미터, 마스크 텍스쳐 를 조정함
커스터마이징이 가능

 

 

 

 

 

 

반응형
Posted by 이름이 익명
:

최적화 기본기
Batching

 




Draw Call
CPU 사물 데이터 처리
GPU 이미지 처리
CPU 가 GPU 에게 이 사물을 그려라 라고 명령하는 것






SetPass Call
머티리얼, 텍스쳐를 묶어 놓은 걸 SetPass 라고 함
이걸 전덜하는게 셋패스 콜



GPU 에게 일감 전달 하는 걸 Batch 라고 부르고
이 배치 수를 줄이는 걸
최적화 라고 부른다


 

 

렌더러, 파티클 이 배치 에 해당된다

이런게 많을수록 렉 걸리는 거임

 

 

 

 


Statistics 에서 

배치수 확인 가능 

 

 

Frame Debugger 에서도 확인 가능

 

 

 

+

 

 

Atlas 활용 기법

 

여러개의 텍스쳐를

단 하나의 텍스쳐로 통일 함

 

각 캐릭터마다

UV 좌표를 수정해서 입히게 함

 

 

마치 2D 스프라이트 시트 안에 여러 그림을 동시에 넣는 거랑 비슷함

 

 

 

 

배치 수 는 여전히 8 이지만

 

셋 패스 콜은 8 -> 3 으로 줄어듦

 

 

 

 

+

 

다이나믹 배칭

Dynamic Batching

 

urp 에서

 

Preferences , Core Render Pipeline

All Visible

 

Project Setting Quality

 

 

URP 인스펙터 창

우클릭

Show Additional Properties

Dynamic Batching 킬 수 있음

 



배치 8 개 중 5개가 절약해서 3개가 됨

 

 



다이나믹 배칭
주의점

6.0 버전 urp 기준에서
배치 대상 메시는 매우 간단한 오브젝트여야 함
버텍스 수 300개 미만 이어야 함

x y z 크기 는 1 1 1 또는 2 2 2 균등해야 함

커스텀 셰이더를 사용하지 말아야 함

CPU 부하가 늘어날 수 있음

 

 

 

 

다이나믹 배칭

개별 오브젝트에 직접적으로 적용(활성화/비활성화)할 수 있는 설정이 없습니다.

동적 배치는 유니티가 씬에 있는 

모든 움직이는 오브젝트를 대상으로 내부적으로 조건을 검토하여 자동으로 처리하는 전역(Global) 설정 임

 

 

 

+

 

 

정적 배칭
static batching

다이나믹 배칭의 반대 개념

프로젝트 세팅 ㅡ 플레이어 ㅡ 오더 세팅 ㅡ 스태틱 배칭

해당 오브젝트 인스펙터 창 ㅡ 패칭 스태틱

 

 

정적 배칭으로도 배치수 8 to 3 로 절약 가능

 

+

 

 


단, 
정적으로 되었기 때문에
이동 회전 커짐 은 안됨
트랜스폼 안됨

static 된 메쉬들은 하나의 메쉬로 통일 되어버린다

+

 


3d srpg 에서의 정적 배치 사용 예

바닥 타일 (단 부숴지지 않아야 함)
마법으로 무너지지 않는 고정 배경 사물
먼 큰 산 같은 환경 메시
조명이 고정일 때

 


정적 배치 사용하면 안되는 사례


흔들리는 깃발
흐르는 물
파괴 가능한 돌
조명이 깜빡거리거나 변할 때
색상이 변경되는 오브젝트
동적 프로브 영향 받을 때

+

 

 

SRP Batching

 

글로벌 설정임

하나의 오브젝트마다 설정은 불가능

프로젝트 세팅 퀄리티
urp 인스펙터 창 
쇼 에디셔널 프로퍼티스
SRP 배쳐 온

 

 

 


셋 페스 콜을 8 to 3 으로 줄이는 효과

 

 

각 머티리얼 달라도 (아틀라스 안 써도) 최적화가 되는 모습

 

단, 

하나의 셰이더 공통적인 셰이더만 사용해야 한다는 조건이 있음

 

 

셰이더가 SRP 배치 호환가능한지 체크 해야함

 

인스펙터 창에 나와 있음

 

 

 

 

+

 

GPU 인스턴싱

 

 

urp 인스펙터 

SRP Batcher 끄기

 

해 마테리알

GPU instancing 키기

 

 

 

 

 

이렇게 여러 개를 쓸 때 배치 아낄 수 있음

 

 

같은 메쉬와 같은 마테리알을 지닌

여러 복제품 렌더할 때 쓰임

 

각 인스턴스는 트랜스폼을 다르게 할 수 있는 게 장점

위치 크기 회전 을 각각 다르게 넣어도 

 

 

 

3d srpg 에서는 이렇게 사용

 

풀 잔디

군대 npc

화살 투사체

 

 

주의점

 

하나의 오브젝트에 256 개 미만의 버텍스 를 가지고 있다면

(간단한 오브젝트라면)

gpu 인스턴싱 쓰는 게 더 비효율적

 

 

+

 

 

 3d srpg 에서 배칭 최적화 전략 요약

 

SRP Batcher ㅡ 끄기  (gpu 인스턴싱과 충돌)
SRP 배칭만 쓰기


정적 배칭 ㅡ 맵, 장식

GPU 인스턴싱 ㅡ 소환수, 잔디, 군대

아틀라스 텍스쳐 사용


gpu 인스턴싱 안쓰기

정적 배칭 안쓰기

아틀라스 안쓰기
   
 

이거 추천
   
  URP 또는 HDRP를 쓰는 프로젝트에서
 SRP Batcher는 기본 활성화
반응형
Posted by 이름이 익명
:



https://www.youtube.com/watch?v=GG6nGQOSxKY&list=PL412Ym60h6uvqYiCVKk5NiEFpDEwOMQFX&index=20

 

 

 

 

 



코드상에선
랜덤 인덱스를 활용해 구현 가능

근데 매번 하자니 귀찮음




2023 버전부터는
랜덤 사운드 구현을 더 쉽게 하려고
오디오 랜덤 컨테이너 어셋이 있음


무작위 재생 목록 임

 

 

 

크리에이트 ㅡ 오디오 ㅡ 오디오 랜덤 컨테이너로 생성가능

 

 

 

오디오 소스 ( 구버전에선 오디오 클립 )

여기에 주사위 모양의 오디오 랜덤 컨테이너를 드래그 드랍해서 연결시킴

 

 

 

 

Playback mode

 

순차 (Sequential)
항상 1, 2, 3, 4... 순서

셔플 (Shuffle)
항목이 중복되지 않도록 보장

랜덤 (Random)
똑같은 게 연속으로 나올 수 있음

 

 

 

 

 

코드상 선언은 이렇게 한다 카더라

.resource 씀

인스펙터 창에 이렇게 오디오소스, 오디오랜덤컨테이너 연결 가능

반응형
Posted by 이름이 익명
:

 

 

https://db.irowiki.org/db/monster-info/1252/

 

반응형
Posted by 이름이 익명
:
   

 

빛 표현 할 때

 

100% 완전 쌩하양 쌩거멍이 아니라

80% 투명도를 사용해 눈이 덜 아픈 섬광 효과 사용

 

 

+

 

 

 

주인공이 없는 맵 구경을 보여줌

 

세상이 넓음 을 표현

 

오프닝 ㅣ 엔딩 에 사용되는 기법

 

 

+

 

 

보스가 등장 ㅣ 사라질 때

 

웨이브 왜곡효과

빨간 화면 효과

 

기괴함

몬스터 같음

을 표현

 

+

 

   

 

스킬 쓸 때

적 색상 팔레트 변경

 

+

 

 

비행 몹은 위치가 하늘

 

+

 

 

실내 맵 표현

 

벽을 저렇게 표현

 

+

 

 

로맨싱사가 3 리마스터 버전엔

idle 포즈가 반복 gif 다

약 1초 반복

 

+

 

 

https://www.youtube.com/watch?v=5gh07gWAV6c

 

 

로맨싱 사가는 브금부터

 

향수병을 일으키는 감동적인 것이 담겨짐

 

 

반응형
Posted by 이름이 익명
:

https://www.youtube.com/watch?v=6lCrgdLBIGw&list=PL412Ym60h6uufFJlxsKcYkOtRu-PIsLuA&index=11

 

 

 

소개

어디에서나 사용하는 패턴

메모리 사용을 최적화 하는 게 목적

불필요한 걸 안하게 하기

구성이 복잡하고 무거운 환경에 적합함

 

+




세부

변경 됐으면 Dirty , True

그대로면 Clean , False



변경이 일어났으면 🚨 저장 필요! 알림 뜸

이전 값과 동일한 값이면 클린
저장 해도 아무 일 안 일어나면 클린


 

+

 

 



심리스 로딩 (Seamless Loading)
로딩 화면 안 뜨고 바로 다음 지역이 불러와짐
사용자가 다음 구역에 가까워지기 전에 미리 필요한 데이터를 백그라운드에서 조금씩 불러오는(스트리밍) 방식

 

chunk 라고 작은 단위 개념으로 맵을 작게 쪼갬

 

 

+

 


시야 시스템 (Culling)
화면에 보이지 않는 객체 (object) 를 제외 시킴(cull)
🔴 Dirty: "이 덩어리 안에 있는 오브젝트가 움직였거나, 
새로 생겼거나, 사라졌어! 새로운 정보로 업데이트해야 해."
🟢 Clean: "이 덩어리는 변화가 없어. 백그라운드 로딩/업데이트 작업을 건너뛰자."

 

+

 

 

ui 에선

 

레이아웃을 처리하는 더티 플래그가 따로 있고

 

그래픽을 처리하는 더티 플래그가 따로 있다

 

 

 

머티리얼 더티 플래그 따로

 

버텍스 더티 플래그 따로 처리 한다 카더라

 

 

+

 

 

 

다시 심리스 로딩 구조로 돌아와 보면

 

 

Update ( ) 생명주기에서 다룸

 

작은 청크 영역을 섹터 라고 부름

 

플레이아가 섹터랑 가까이 있는 지 

섹터가 로딩이 됐는지

를 체크해서

더티를 체크

 

 

플레이어가 가까이 있고

더티가 체크 되었으면

로딩

 

아니면

언로딩 (로딩하지 않고 비활성화)

 

 

 

플레이어와 멀어지면

비활성화 

 

+

 

 

하이어라키 부모자식 구조도 더티플래그 패턴임

 

자식의 트랜스 폼은 부모 트랜스 폼을 따라간다

 

 

 

반응형
Posted by 이름이 익명
: