월드
월드는 장면이 놓이는 곳입니다. 땅, 풀, 잎, 물, 그리고 그 위의 하늘. Pixor는 이 모두를 몇 가지 설정으로 만들므로, 작은 환경이든 맵 전체든 캐릭터와 같은 방식 — 같은 팔레트, 선, 빛 — 으로 렌더링되고 정확히 반복됩니다.
있는 것
| 파츠 | 만드는 것 |
|---|---|
| 지형 | 시드 높이 필드로 만든 계단식 지형. 모든 칸이 평평하고 모든 단차가 정수 단이라서 스프라이트 크기에서도 절벽이 깔끔하게 읽힙니다. 윗면과 벽은 각각 색과 램프를 가집니다 |
| 잔가지 | 땅 위에 흩뿌린 풀 무더기, 꽃, 조약돌. 벽에는 놓이지 않고 이미 서 있는 것은 피합니다. 어디에나, 또는 범위를 주면 선 자리 둘레의 한 구역에 |
| 잎 | 모든 수관 위의 잎 뭉치: 이름에 crown, leaves, leaf, foliage, canopy 또는 지정한 단어가 들어간 파츠. 전부, 또는 범위를 주면 그 근처에 선 것들 |
| 물 | 파도가 움직이며 반복되는 수면, 물가의 거품, 디더링으로 비친 장면의 반사 |
| 구름 | 월드에 고정되어 모든 것 위로 흘러가는 구름 그림자 |
| 하늘 | 모든 것 뒤의 하늘: 위쪽 색에서 아래쪽 색까지 정수 단계의 띠, 또는 칠한 그림 |
| 바람 | 장면을 가로지르는 물결 하나. 풀, 잎, 그리고 지정한 파츠(깃발, 현수막, 빨랫줄)를 움직입니다 |
| 빛줄기 | 햇빛이 쏟아져 들어오는 곳의 허공에 선 빛. 그림자를 따라 행진하며 계산합니다 |
| 시간대 | 시간대마다 시트 하나(새벽, 정오, 해 질 녘, 밤). 각각 고유한 해와 팔레트 |
| 청크 | 이음매가 정확히 맞는 여러 파일로 나눠 쓴 큰 맵 |
움직이는 모든 것 — 바람, 구름, 물결 — 은 루프에 걸쳐 정수 단계로 움직이므로, 마지막 프레임이 섞을 것 없이 첫 프레임으로 이어집니다.
앱에서
장면 단계에서 아웃라이너의 + 메뉴, 월드 아래에서 무엇이든 추가합니다. 추가한 것은 아웃라이너의 월드 그룹에 나열되고, 하나를 클릭하면 인스펙터에 설정이 보입니다. 할 일은 그게 전부이며, 그래프를 열 필요는 전혀 없습니다.
각각은 장면 그래프의 노드입니다. 도형, 조명, 볼륨(D49)처럼 목록의 행과 노드는 같은 것이며, 추가한 순서대로 놓입니다: 가져온 모델, 그다음 지형, 그 위의 풀 등. 그래프에서는 월드가 더 많은 일을 할 수 있습니다. Water 노드 뒤의 Row는 연못 세 개를 만들고, Move는 지형을 옮깁니다. 월드 노드의 복사본도 다른 복사본처럼 배치되기 때문입니다. 풀과 잎은 도달 거리를 받기 전까지 자랄 수 있는 모든 곳에 자랍니다. 도달 거리를 주면 Sprigs 노드는 위치 둘레로 그만큼의 덤불을 키우고, Foliage 노드는 그만큼 가까이 선 수관만 덮습니다. 복사본마다 자기 위치를 중심으로 함께 크기가 정해지므로, 꽃 노드 세 개의 Row는 덤불 세 개가 됩니다. 구름, 하늘, 바람, 빛줄기, 시간대, 청크는 장면 전체에 속합니다. 같은 것이 두 개 있으면 Output 노드에 더 가까운 것을 씁니다.
월드는 사본 뒤에 지어지므로, 기사 여덟의 링은 하나의 지형 위, 하나의 바람 속에 섭니다.
시간대는 에셋 단계의 인스펙터에도 그것이 만드는 시트 옆에 있으며, 내보내면 시간마다 시트 하나씩을 씁니다.
명령줄에서
같은 파츠가 pxr project new와 pxr project set의 플래그이기도 합니다. 각각 노드를 추가하거나 바꾸며, --no-...는 노드를 뺍니다:
pxr project new map.pixor --model chest.glb
pxr project set map.pixor --terrain 12:32:2:0.25 --terrain-seed 4
pxr project set map.pixor --scatter tuft:400:0.2 --scatter flower:40@2,1,0.8 # a patch
pxr project set map.pixor --water 4:1,0.3,-2 --reflect 0.6 --waves 0.5
pxr project set map.pixor --clouds 0.4 --wind 0.08:2 --times-of-day dawn,dusk
pxr project set map.pixor --sky '#2c3e6b,#9dbcd9,4' # or --sky dusk.png:2
pxr project set map.pixor --chunks 4x4 # 16 files an hour: 32, map_dawn_r0c0.png ... map_dusk_r3c3.png
pxr project scene map.pixor --list # the world as nodes
모든 설정은 블루프린트나 작업 파일에서도 이름으로 접근할 수 있습니다:
pxr project blueprint map.pixor -o map.pixorblueprint
pxr run map.pixorblueprint --in model=chest.glb --set terrain.seed=9 --set clouds.cover=0.7
블루프린트는 프로젝트에서 모델을 빼내므로, --in model=로 맵을 짓는 기준 모델을 지정합니다.
pxr render의 --chunks COLSxROWS는 프로젝트를 바꾸지 않고 이번 빌드만 프로젝트 설정과 다르게 자릅니다.
큰 맵
청크로 나눈 맵은 청크 하나씩 그리며, 각 청크 둘레에 이웃의 픽셀로 된 여백을 두었다가 나중에 잘라 냅니다. 여백은 어느 패스가 보는 범위보다 넓으므로, 남는 모든 픽셀은 맵 전체를 한 번에 그렸을 때와 같고 이음매가 정확히 맞습니다. 앱은 pxr render와 바이트 단위까지 같은 파일을 씁니다.