[QuickTip] 언리얼 엔진 설치 장소 옮기고 런처에 연결해주기

이미지
별 생각 없이 C:\Program Files\Epic Games\UE_4.24와 같이 기본경로에 설치해 사용하고 있었는데 이번에 모바일 프로젝트에 참여하게 되어 Platform Stats 를 확인하고자 Mali Offline Compiler 설치해보니 엔진 경로에 포함된 공백 문자가 문제가 되어 오류가 발생하기에 엔진 설치 경로를 옮기게 되었다. 1. 사전 준비 Epic Game Laucher와 엔진을 실행 중이라면 모두 종료한다. 2. 설치 경로의 이동 엔진 폴더를 원하는 장소에 이동 시켜준다. (변경전) C:\Program Files\Epic Games\UE_4.24 > (변경후) C:\Unreal\UE_4.24 3. 런처와 재연결 UE4Editor.exe를 직접 실행해 에디터를 사용하는데는 문제가 없지만 런처에서는 해당 버전이 설치되지 않은 것으로 표시 된다. -_-;;; (에디터 실행파일은 Engine\Binaries\Win64\ 폴더에) 다시 연결 하기위해 런처를 종료하고 C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests 폴더에 저장된 item 파일 중 엔진 관련 파일을 찾아 설치 정보를 수정 해준다. (item 파일은 텍스트 파일이므로 notepad로 열면 된다) 엔진과 관련된 item 파일을 찾았다면 경로와 관련이 있는  ManifestLocation, InstallLocation, StagingLocation  세가지 항목을 새로운 경로로 업데이트하고 저장한다. 런처를 열어보면 잘 연결되어 있음을 확인할 수 있다. 4. 레지스트리 수정 크게 영향은 없는 것 같지만... 다음과 같은 레지스트리 경로에서  InstalledDirectory 키도 이동한 경로로 업데이트 해줬다. HKEY_LOCAL_MACHINE\SOFTWARE\EpicGames\Unreal Engine\4.24

[QuickTip] Substance Painter에서 Mask 추출하기

이미지
종종 마스크 텍스처와 셰이더를 사용해 엔진에서 색상을 변경하는 경우 가 있는데 혹시 서브스턴스 페인터(이하 SP)에서 작성한 데이터를 포토샵(이하 PS)에 가져와 손수 채널을 정리하고 있다면 PS를 사용할 필요 없이 SP에서 Export Configuration을 사용해 한방에 익스포트하는 방법이 있다. 1. User 채널의 준비 SP > Texture Set List > Texture Set Settings 에서 Channels > + 기호를 눌러 필요한 마스크 맵의 갯수 만큼 User0~UsersN 채널을 추가해준다. 예시에서는 색상이 변경될 부위가 2곳이라 User0과 User1을 추가했다. 2. User 채널의 기본 값 설정 매터리얼의 바탕 색에 관련된 레이어에 User 채널의 기본 값을 넣어준다. 엔진에서 검정색 부위는 무시되고 흰색으로 마스킹된 부위만 색상이 변경될 예정이므로 예시에서는 바탕 색상을 검정(0)으로 초기화 했다. 이미지 높이를 줄이기 위해 스샷에는 다른 채널들이 모두 꺼져 있지만 Color 등 다른 채널 값이 이미 있다면 끄지 않고 user0과 user1만 추가해 준 다음 기본 값만 정해주면 된다. 3. 작업 중 User 채널의 관리 추출해야 할 마스크가 있는 레이어에서 user 값을 설정한다. 위와 같은 레이어와 마스크가 있고 이 내용을 추출하고 싶다면, Content를 누르고 > 추출할 내용을 담을 채널 (여기서는 user1)을 선택한 다음 > 마스크 지정 색 (여기서는 흰색)을 설정해 준다. 이 내용을 마스크와 레이어 별로 모두 설정해 준다. 작업 중 마스크가 있는 레이어라면 미리미리 해두자, 나중에 정리할 필요가 없어진다. 4. 추출 전 최종 확인 위와 같이 싱글 체널에서 user0이나 user1을 확인했을 때 빠진 레이어 없이 잘 나오면 추출할 준비는 완료된 것이다. 5. 패킹 설정 단축키 Ctrl+Shift+E를 누르면 나오는 Export docu

[QuickTip] 모델링에 랜덤한 버텍스 컬러를 칠하는 가장 빠른 방법은?

이미지
모델 출처 High Poly가 없는 Low Poly 모델의 텍스처를 서브스턴스 페인터에서 제작하고 있는데, Add Mask with Color Selection 기능을 사용하기 위해 ID Map을 Bake 해야 한다면??? 3ds Max 2017.1에서 추가된 Data Channel Modifier를 사용하는 방법 1. 모델을 선택하고 Data Channel modifier를 추가한 다음, Add Operator 버튼 클릭 2. Add Operators 창에서 Input Operators 중 Color Elements 추가 3. Color Elements 부분에서 Vertex Colors, Channel 1 (또는 사용하고 있지 않은 아무 채널), Elements 를 선택하면 연결된 버텍스들을 같은 색으로 지정함, Apply Colors to Luminance 선택, Output VC: 0, Randomize 선택, Hue/Luminance/Saturation/Random Seed 값의 범위는 취향대로 선택 사족) 버그인지는 모르겠지만 3ds Max 2020에서는 모델의 UV 데이터가 삭제되는 것을 확인!!! 일단 Save UVW > Data Channel > Load UVW로 해결하긴 했지만 이것 때문에 초간편 방법이 그럭저럭 간단한 방법으로 퇴색된 느낌...

Auto-Complete in Maxscript - 3ds Max의 맥스스크립트 에디터에서 자동완성 사용하기 (버전업)

이미지
3ds Max 2017.2 부터 공식적으로 지원하던 (숨겨진) 기능이고 지난 2020.1 업데이트부터는 기본적으로 자동완성이 켜져 있습니다만, 우연한 기회에 2019에 다시 설정을 해보게 되어 포스팅 합니다. 이 기능을 활성화 시켜주면, 맥스 환경에서 스크립트를 작성할 때 타이핑은 줄이고 명령어의 정확도는 올릴 수 있는 장점이 있습니다. (개인적으로 조금 더 편안하게 생각되는 환경은 Sublime Text + Send To 3ds Max 가 있습니다만, 회사 시스템에 추가 프로그램을 설치할 수 없는 경우 등 제약이 있을 때 유용합니다) 자동완성 기능 자체는 Autodesk 공식적으로는 3ds Max 2017 Update 2에서 추가된 내용이지만, 2020.1 이전의 맥스 버전에서 사용하기 위해서는 아래와 같은 추가 작업이 필요합니다. 1. API 명령어 추출 (또는 다운로드) Autodesk에서 제공하는 다음의 경로에서 미리 추출된 API 파일을 다운로드  하세요. 직접 추출하시려면 링크된 GenerateMaxscriptAPI.ms 파일을 받아 맥스에서 실행합니다. 스크립트의 기본 뼈대는 Autodesk 홈페이지 에서 링크된 ScriptSpot 에 공개된 내용을 참조했습니다만 몇 군데 개선할 곳이 있어 다음과 같이 수정했습니다. 속도가 느린 FileStream을 사용하고 있었기에 더 빠른 .Net Class로 변경해 실행시간을 대폭 향상시켰습니다. (제 시스템에서 원본은 파일 쓰기에 4000ms 정도 걸리는데, 개량된 스크립트는 40ms 정도면 파일쓰기가 완성됩니다. 200k도 안되는 크기라 4초가 비정상인게 맞습니다) 원본은 맥스가 설치된 경로에 파일쓰기를 시도하고, 권한 등 문제로 실패할 경우 %Temp% 폴더를 사용하고 있습니다만, 수정된 스크립트는 권한문제에서 자유로운 #userscripts 폴더를 사용하고 있습니다.   완성된 API 파일에 Sort를 적용해 오름차순으로 정렬해 두었습니다. 2. 작성한 A

[소식] Marmoset Toolbag 3.07

이미지
GPU를 사용해 빠르고 아티스트들에게 가장 직관적인 텍스처 베이커가 특징인  Marmoset Toolbag 이 3.07로 업데이트 되었습니다. 이번 업데이트에는 다음과 같은 내용이 포함되어 있으며 등록된 사용자에게는 무료로 제공됩니다. 파이선 기능 개선: 주기적이거나 프로그램이 포커스 받을 때 사용할 수 있는 새로운 이벤트 후크 명령어로 실행했을 때 메인 메뉴 숨기기 (-hide 옵션) BakerObject.getTextureSetCount() 함수를 사용할 때 크래시 해결 파일 저장, 불러오기 다이얼로그에 확장자 필터 지원 명령어로 실행했을 때 sys.argv의 파라미터 전달 가능 PyBakerObject.getTextureSetCount와 getAllMaps가 모든 경우에도 올바르게 동작 추가: Substance 파일 포맷 라이브러리를 최신 버전으로 업데이트 기본 매터리얼의 Metalness 초기 값을 0으로 설정 베이커 수정: 베이커의 탄젠트 스페이스 설정이 파일을 불러올 때 올바르게 표시됨 Multi-Layer PSD를 사용할 때 불필요한 파일을 익스포트 하지 않음 Quick Loader를 사용해 메쉬를 다시 불러들일 때 Scene 목록 상태가 유지됨 Quick Loader를 사용해 메쉬를 다시 불러들일 때 매터리얼 설정이 유지됨 Import Full Scene Hierarchy 옵션을 켠 상태에서 Quick Loader를 사용해 메쉬를 임포트할 때 크래시 해결 Advanced Metalness 렌더링 방식의 Specular 값을 다른 셰이딩 모드와 일치시킴 버그 수정: 텍스처를 설정하지 않은 Metalness 값을 glTF 형식으로 익스포트할 때 올바르게 저장됨 FBX의 다중 버텍스 컬러 레이어로 인한 잘못된 버텍스 컬러 문제 해결 Sky를 Camera에 종속시킬 경우 올바르게 이동됨 잘못된 STL 메쉬를 불러들일 때 크래시 해결 텍스트 필트 UI 컨트롤이 긴

[소식] Autodesk 3ds Max 2020

이미지
업데이트 요약 모따기(Chamfer) 모디파이어 개선: 모디파이어의 사용자 인터페이스가 개선되었습니다 고정값 모따기(Fixed)는 엣지의 수에 상관없이 일정한 폭을 유지합니다 가중값 모따기(By Crease Weight)는 각 엣지 별로 값을 독립적으로 조정할 수 있습니다 게임 엔진을 위한 모델 등 스무딩 그룹(Smoothing Group)을 사용할 수 없는 경우엔 인셋(Inset)은 표면에 엣지 링을 추가합니다 모따기가 모서리에 미치는 범위를 조절 할 수 있는 종점 편향(End point bias) 파라미터가 추가되었습니다 심도(Depth) 값으로 모따기의 모양을 조절할 수 있습니다 1.0: 볼록한 엣지 0.0: 평평한 엣지 -0.5: 오목한 엣지 설정값을 프리셋으로 저장할 수 있습니다 OSL 셰이더: 뷰포트에서 OSL 맵의 표시가 개선되었습니다 새로운 셰이더가 추가되었습니다 ColorSpace (converts colors between RGB, HSV, YIQ, etc.) Falloff Halftone (screen space dot pattern) UVW MatCap (get MapCap mapping UV coordinates) Normal (get the normal vector) Random Index by Number/Color Simple Gradient Simple Tiles Tri-tone Threads Toon Width Waveform (animated) Weave Colorkey (creates blue/green screen effects) 기타 개선/변경된 점 (일부만) Alembic 플레이백 제어 문제점 개선 지오메트리가 아닌 로케이터나 더미에 설정된 커스텀 속성도 익스포트 가능 오목한 폴리곤(Concave Ngon)의 삼각형화(Triangulation) 개선 퍼포먼스 모드 수정 모델링 모디파이어를 복사-붙

[소식] Substance Alchemist 0.5.4 업데이트

0.5.4 Nacho 배포일: 2019/03/26 수정사항: [Stack] splatter 레이어 제거 시 프로그램 크래시  [Data] 프로그램 크래시할 때 데이터 베이스 손상  [Data] 데이터 베이스가 손상된 경우 프로그램 시작 불가 Substance 매터리얼 임포트할 때 프로그램 크래시 알려진 문제점: 매터리얼 하나에 여러개의 delighter를 사용하는 것은 권장되지 않음 오래된 NVIDIA 드라이버(400.x 이전) 를 사용할 경우 delighter 크래시  delighter가 포함된 상태에서 표시/숨기기를 빠르게 전환하면 퍼포먼스에 영향 커스텀 환경을 임포트할 때 Black으로 표시될 수 있음 이미지 임포트 레이어의 속성 패널에 TIF 이미지들이 표시되지 않음 슬라이더에 특정 값을 입력할 때 쉼표나 소수점이 무시될 수 있음 기본 콜렉션으로 저장이 공란이 될 수 있음