世界

世界是场景所处的环境:地面、草、树叶、水以及它们上方的天空。Pixor 只用少量设置就能构建出这一切,因此一个小环境或整张地图的渲染方式与角色完全相同——经过同样的调色板、线条和光照——而且精确循环。

现有内容

部件 它生成的内容
地形 由带种子的高度场生成的阶地地面。每个单元格都是平的,每级台阶都是整数个阶地,因此在精灵尺寸下悬崖依然清晰。顶部和墙面各有自己的颜色和色阶
小枝 散布在地面上的草丛、花朵或卵石,从不长在墙上,也会避开已有的东西——可以遍布各处,也可以用范围限定在它所在位置周围的一片区域
树叶 覆盖每个树冠的叶簇:名称中含有 crown、leaves、leaf、foliage 或 canopy 的部件,或者你给出的词——可以是全部,也可以用范围限定为它附近的部件
水 一片水面,波浪会移动并循环,岸边有泡沫,还有以抖动方式融入的场景倒影
云 在一切之上飘过的云影,固定在世界中
天空 位于一切之后的天空:从顶部颜色到底部颜色按整级分出的色带,或一张绘制的图像
风 吹过场景的一道波浪,让草、树叶以及你指定的任何部件摆动——旗帜、横幅、晾衣绳
光柱 阳光倾泻而下处空气中的光,沿阴影步进计算
时段 每个时段一张精灵表——黎明、正午、黄昏、夜晚——各有自己的太阳和调色板
数据块 一张大地图,写成多个接缝完全吻合的文件

任何运动的东西——风、云、波浪——都在一个循环中以整数步运动,因此最后一帧可以直接衔接回第一帧,无需任何混合。

在应用中

在场景步骤中,大纲的 + 菜单可以在世界下添加其中任意一项。它们列在大纲的世界组中,点击一项即可在检查器中显示其设置:这就是全部工作,完全不用打开节点图。

每一项都是场景节点图中的一个节点——行与节点是同一个东西,就像形状、灯或体积一样(D49)——按添加的顺序排列:先是导入,然后是地形,再是地形上的草,依此类推。在节点图中,世界还能做更多事——水节点后接一个行就成了三个池塘,移动可以平移地形——因为世界节点的副本和其他副本一样被放置。草和树叶会在一切能生长的地方生长,直到给它们设置了范围:此时 Sprigs 节点会在其位置周围那么远的地方长出一片,Foliage 节点只覆盖离它那么近的树冠——每个副本都围绕自己的位置,并随之缩放,所以三个花节点组成的行就是三片花丛。云、天空、风、光束、时段和区块属于整个场景:如果同一种有两个,就使用离输出节点更近的那个。

世界在副本之后构建,因此由八个骑士组成的环站在同一片地形上,吹着同一阵风。

时段也在资产步骤的检查器中,位于它们生成的精灵表旁边,导出时每个时刻写出一张精灵表。

在命令行中

同样的部件也是 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 逐字节相同。

本页介绍的内容属于完整版;免费的浏览器演示版只提供默认外观和 PNG 精灵表。

在浏览器中试用 获取 Pixor