ワールド

ワールドはシーンが立つ場所です。地面、草、葉、水、そしてその上の空。Pixorはそのすべてを少数の設定から作るので、小さな環境もマップ全体も、キャラクターと同じように、同じパレット、線、光を通してレンダリングされ、正確にループします。

あるもの

パーツ 作るもの
地形 シード付きのハイトフィールドから作る段々の地面。どのセルも平らで、どの段差も段の整数倍なので、スプライトのサイズでも崖がきれいに見えます。上面と壁にはそれぞれ色とランプが付きます
小枝 地面に散らした草の房、花、小石。壁には置かず、すでにあるものは避けます。全体に、または到達距離を指定すれば立っている場所の周りに
葉 すべての樹冠を覆う葉の房:crown、leaves、leaf、foliage、canopy、または指定した語を名前に含むパーツ。すべて、または到達距離を指定すればその近くにあるもの
水 進んでループする波、岸に沿った泡、ディザで描いたシーンの映り込みを持つ水面
雲 すべての上を流れる、ワールドに固定された雲の影
空 すべての背後の空:上の色から下の色への整数段の帯、または描いた画像
風 シーン全体を渡る1つの波で、草、葉、名前を指定したパーツ(旗、垂れ幕、物干しロープ)を動かします
光の筋 太陽が差し込む場所で空中に立つ光。影の中を進んで計算します
時間帯 時間帯ごとに1枚のシート(夜明け、正午、夕暮れ、夜)。それぞれ独自の太陽と独自のパレット
チャンク 継ぎ目がぴったり合う複数のファイルとして書き出す大きなマップ

動くもの(風、雲、波)はすべて、ループの中で整数のステップで動くので、最後のフレームはブレンドなしで最初のフレームにつながります。

アプリ内で

シーンステップでは、アウトライナーの+メニューのワールドの下から、どれでも追加できます。アウトライナーのワールドグループに並び、クリックするとインスペクターに設定が表示されます。作業はそれだけで、グラフを開く必要はまったくありません。

それぞれがシーングラフのノードで、行とノードは同じものです(シェイプ、ランプ、ボリュームと同様。D49)。追加した順に並びます:読み込み、次に地形、その上の草、という具合です。ワールドをもっと活用できるのはグラフの中です。水ノードの後に行を置けば池が3つになり、移動で地形をずらせます。ワールドノードのコピーも、ほかのコピーと同じように配置されるからです。草や葉は、到達距離が与えられるまで、生えられる場所すべてに生えます。与えると、小枝ノードは位置の周りのその範囲に茂みを作り、葉ノードはそれに近い樹冠だけを覆います。どのコピーも自分の位置の周りに、自分に合わせたサイズで生えるので、花ノード3つの行は3つの茂みになります。雲、空、風、光の筋、時間帯、チャンクはシーン全体に属します。同じものが2つあれば、出力ノードに近いほうが使われます。

ワールドはコピーの後に作られるので、8人の騎士の輪は1つの地形の上に、1つの風の中に立ちます。

時間帯は、アセットステップのインスペクターにも、作られるシートの横にあり、書き出すと1時間ごとに1枚のシートが書き出されます。

コマンドラインで

同じパーツは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は、プロジェクトを変更せずに、1回のビルドをプロジェクトの指定とは違う形に分割します。

大きなマップ

チャンクに分けたマップは1チャンクずつ描かれ、それぞれ周囲に隣のピクセルの余白を付けて描き、後で切り落とします。余白はどのパスが見る範囲よりも広いので、残るピクセルはすべてマップ全体を描いたときと同じになり、継ぎ目は正確に一致します。アプリはpxr renderとバイト単位で同じファイルを書き出します。

このページで説明している内容は製品版の機能です。無料のブラウザーデモで使えるのは、デフォルトのルックとPNGシートだけです。

ブラウザーで試す Pixorを入手