유니티(Unity) 제작노트 - 페인트 3D 에셋 사용법(Paint in 3D)

반응형

유니티(Unity) 제작노트 - 페인트 3D 에셋 사용법(Paint in 3D)

Paint in 3D(유니티 에셋 스토어)
https://assetstore.unity.com/packages/tools/painting/paint-in-3d-26286

 

Paint in 3D | 페인트 | Unity Asset Store

Get the Paint in 3D package from Carlos Wilkes and speed up your game development process. Find this & other 페인트 options on the Unity Asset Store.

assetstore.unity.com

 

페인트 가능한 게임오브젝트 설정(Paintable)

페인트 대상 오브젝트에 컴포넌트 추가 - MeshCollider,  P3dPaintable, P3dMaterialCloner, P3dPaintableTexture 
재질 및 쉐이더 설정(P3d에서 사용가능한 쉐이더 및 재질 설정)

 

 

 

메시 UV Seam 수정(P3d Seam Fixer)

게임오브젝트에서 메시 필터(MeshFilter)의 메시를 선택하고 인스펙터에서 Seam Fixer 도구로 이동합니다(Fix Seams)

 

generate를 클릭하면 UV Seam이 수정된 새로운 메시 에셋을 생성합니다(자동 Seam Fix 기능은 P3dPaintable 오브젝트의 Auto Seam Fix를 활성화하여 사용가능)

 

메시의 수정된 UV를 확인할수있으며 오브젝트 페인팅에서 Seam 문제를 해결합니다.

 

 

부적절한 UV

오버래핑(overlapping) UV 또는 0-1 범위를 넘어서는 UV는 적절하지않음

 

3D 모델 에셋(fbx)의 인스펙터에서 generate Lightmap UVs를 활성화하고 두번째 UV 데이터 생성(second UV channel/coord)

 

 0-1 범위에서 오버래핑 UV가 존재하지않는 두번째 UV 채널을 확인할수있습니다(Channel1, UV2)  

 

두번째 UV 좌표를 사용가능한 쉐이더 및 재질을 설정(Paint in 3D/Solid),

 

P3dPaintableTexture에서 Coord 속성을 Second로 변경

 

 

페인트 게임오브젝트 설정(Paint)

페인트 게임 오브젝트(Paint)에 컴포넌트 추가 - P3dHitScreen, P3dPaintSphere

(P3dHitScreen는 레이캐스트(raycast)를 사용하며 페인트 대상 게임 오브젝트는 콜라이더를 가져야함)

 

P3dPaintSphere에서 페인트 브러시 옵션 설정 - 색상, 브러시 크기(Radius), 불투명도, 기타

 

 

페인트 성능 최적화

P3D Hit Screen에서 Frequency 및 Interval 속성을 설정하고 Connect Hits를 활성화하면 성능을 최적한 브러시 페인트 사용가능  

 

 

페인트 자동저장

P3dPaintableTexture의 SaveLoad에서 Automatic을 선택하고 SaveName 문자열을 설정

게임을 시작 및 종료할때 자동으로 페인트를 저장하고 불러오기합니다(페인트 저장은 Playerpref를 사용하여 레지스트리에 SaveName 키에 대한 값(문자열 텍스트)으로 저장)

 

 

 

페인트 단계 되돌리기 기능 활성화(Undo, Redo)

P3dHitScreen의 Store States 속성에 체크합니다. 

 

P3dPaintableTexture의 Undo Redo에서 Full Texture Copy(전체 텍스처 복사)를 선택하고 State Limit에서 되돌리기 단계 횟수 제한을 설정합니다.

 

 

 

반응형

댓글

Designed by JB FACTORY