scenario-textures

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Scenario texture and material workflows

Scenario 纹理与材质工作流

Overview

概述

Scenario generates seamless, tileable textures from text or reference images, upscales them without breaking the tile, and applies PBR materials when texturing 3D meshes. Model availability differs per team and evolves, so always discover models at run time instead of hardcoding IDs:
recommend
with the need in the user's own words for a capability,
search
for a member known by name.
Connection and the core generation loop: see the
scenario
skill in this repo. If a sibling skill named here is missing from your available skills, ask the user to install it (
npx skills add scenario-labs/skills --skill <name>
); unattended, proceed from tool schemas and flag the gap.
Scenario可根据文本或参考图生成无缝、可平铺的纹理,在不破坏平铺特性的前提下对纹理进行超分,并在为3D网格贴图时应用PBR材质。不同团队的可用模型存在差异且会不断更新,因此请始终在运行时发现模型,而非硬编码ID:使用
recommend
并以用户自己的语言描述所需能力,使用
search
查找已知名称的模型。
连接与核心生成循环:参见本仓库中的
scenario
技能。如果你可用的技能中缺少此处提到的同级技能,请让用户安装它(
npx skills add scenario-labs/skills --skill <name>
);若处于无人值守模式,请基于工具schema继续处理并标记缺失项。

Quick reference

快速参考

StepToolNotes
Find texture models
recommend
with the need in the user's own words
capability
is
txt2img
or
img2img
with the texture in
prompt
(the catalog tags texture models
txt2img_texture
,
img2img_texture
);
search
for a name
Inspect inputs
model_schema_get
Always call before
model_run
Generate
model_run
dry_run=true
prices a batch first
Wait
jobs_wait
Re-call with
pending_job_ids
View and save
asset_display
, then
asset_download
Download for engine import
Upscale
model_run
on a texture upscaler
2x to 8x, tiling preserved
步骤工具说明
查找纹理模型使用
recommend
并以用户自身语言描述需求
capability
设为
txt2img
或
img2img
,并在
prompt
中说明纹理需求(目录会为纹理模型打上
txt2img_texture
、
img2img_texture
标签);已知模型名称时可使用
search
查找
检查输入参数
model_schema_get
在调用
model_run
前必须执行
生成
model_run
设置
dry_run=true
可先预估批量任务的费用
等待任务
jobs_wait
使用
pending_job_ids
重新调用
查看与保存资产
asset_display
,然后
asset_download
下载后可导入引擎使用
纹理超分在纹理超分模型上调用
model_run
2倍至8倍,保留平铺特性

What live search confirmed at authoring time (examples to re-discover, not constants)

编写时实时搜索确认的内容(仅为重新发现的示例,非固定常量)

  • Seamless generation:
    model_scenario-texture
    (Scenario Texture) takes a prompt (a tileable hint is appended automatically),
    width
    /
    height
    from 16 to 3840 in multiples of 16,
    quality
    ,
    seed
    , up to 10
    referenceImages
    for style, and
    eraseSeam
    (off by default) with
    overlap
    /
    featherRadius
    to inpaint away both seam axes.
  • Themed texture LoRAs (Flux.1 LoRA, tag
    sc:texture
    ): floors, marble, concrete, stone walls, wood boards, brick, terracotta, hand-painted, cybernetic, realistic textures. They expose dedicated texture capabilities (
    txt2img_texture
    ,
    img2img_texture
    ,
    controlnet_texture
    ).
  • Tiling-safe upscaling:
    model_sc-upscale-flux-texture
    (Scenario Texture Upscale),
    upscaleFactor
    2 (the minimum) to 8, presets
    precise
    /
    balanced
    /
    creative
    riding the same
    strength
    and controlnet sliders the schema exposes. It re-renders, so expect small tonal drift:
    precise
    with low strength minimizes it, and the result is compared against the source before shipping.
  • Material-look conversion:
    model_sc-texture-converter
    (Texture Converter) turns a flat image into a surface material using
    raised
    ,
    shiny
    ,
    polished
    ,
    angular
    sliders and an
    invert
    relief toggle.
  • PBR maps come from two different routes. For a flat texture, 2D map extractors (
    recommend
    ,
    capability="img2img"
    , with the user's words about extracting maps from a flat texture;
    search
    only for one already known by name) return a full set in one img2img call:
    model_patina
    (PATINA Image to Maps) outputs base color, normal, roughness, metalness, and height, each as its own image asset whose
    metadata.type
    names it (
    texture-albedo
    ,
    texture-normal
    ,
    texture-smoothness
    ,
    texture-metallic
    ,
    texture-height
    ) in the order requested; the roughness request comes back labeled smoothness, so confirm the convention before wiring it.
    model_patina-material
    tiles a PBR material straight from a prompt. For a mesh, 3D texturing and image-to-3D models emit the maps instead (Tripo 3.0 Texturing, Tencent Texture Edit, Meshy 7 Retexture); enable the PBR toggle found via
    model_schema_get
    . Retexturing a full mesh is a 3D-to-3D pipeline: see
    scenario-3d
    , and
    scenario-meshy
    for the Meshy retexture contract.
  • 无缝生成:
    model_scenario-texture
    (Scenario Texture)接收提示词(会自动追加可平铺提示),
    width
    /
    height
    范围为16到3840,且必须是16的倍数,支持
    quality
    、
    seed
    、最多10张用于风格参考的
    referenceImages
    ,以及
    eraseSeam
    (默认关闭)功能,可通过
    overlap
    /
    featherRadius
    对两个轴向的接缝进行重绘修复。
  • 主题纹理LoRA(Flux.1 LoRA,标签
    sc:texture
    ):地板、大理石、混凝土、石墙、木板、砖块、陶土、手绘风格、赛博风格、写实纹理。它们提供专门的纹理能力(
    txt2img_texture
    、
    img2img_texture
    、
    controlnet_texture
    )。
  • 保平铺超分:
    model_sc-upscale-flux-texture
    (Scenario Texture Upscale),
    upscaleFactor
    范围为2(最小值)到8,提供
    precise
    /
    balanced
    /
    creative
    三种预设,对应schema中暴露的
    strength
    和controlnet滑块参数。由于是重新渲染,可能会出现轻微的色调偏移:使用低强度的
    precise
    预设可最大程度减少偏移,且输出结果会在交付前与源图进行比对。
  • 材质外观转换:
    model_sc-texture-converter
    (Texture Converter)可通过
    raised
    、
    shiny
    、
    polished
    、
    angular
    滑块和
    invert
    浮雕开关,将平面图像转换为表面材质。
  • PBR贴图有两种获取途径。对于平面纹理,2D贴图提取器(使用
    recommend
    ,设置
    capability="img2img"
    ,并以用户语言描述从平面纹理提取贴图的需求;仅在已知名称时用
    search
    查找)可在一次img2img调用中返回完整贴图集:
    model_patina
    (PATINA Image to Maps)可输出基础色、法线、粗糙度、金属度和高度贴图,每个都是独立的图像资产,其
    metadata.type
    会按请求顺序标注类型(
    texture-albedo
    、
    texture-normal
    、
    texture-smoothness
    、
    texture-metallic
    、
    texture-height
    );粗糙度请求返回的标签是smoothness,因此在接入使用前请确认参数约定。
    model_patina-material
    可直接根据提示词生成可平铺的PBR材质。对于网格模型,则由3D贴图和图生3D模型输出贴图(Tripo 3.0 Texturing、Tencent Texture Edit、Meshy 7 Retexture);请通过
    model_schema_get
    找到并启用PBR开关。完整网格重贴图属于3D到3D处理流水线:参见
    scenario-3d
    ,以及Meshy重贴图协议对应的
    scenario-meshy
    。

Worked example: seamless brick, iterated then upscaled

实操示例:无缝砖块纹理的迭代与超分

  1. recommend
    with the user's own words as
    prompt
    ("seamless tileable weathered brick"), pick the seamless generator (e.g.
    model_scenario-texture
    ).
  2. model_schema_get
    model_id="model_scenario-texture"
    .
  3. model_run
    with
    parameters={"prompt": "weathered red brick wall, moss in the mortar joints", "width": 1024, "height": 1024, "eraseSeam": true, "seed": 42}
    . For a themed pack, price the batch with
    dry_run=true
    first, then launch the runs with
    wait=false
    .
  4. jobs_wait
    with
    job_ids=["job_..."]
    (the ids returned by
    model_run
    ). A ~180s timeout is not an error: re-call with the returned
    pending_job_ids
    as
    job_ids
    , never a second
    model_run
    . Then
    asset_display
    the output asset.
  5. Iterate: rerun with the same
    seed
    and an edited prompt, or add
    referenceImages=["asset_..."]
    to lock a style.
  6. Upscale:
    recommend
    with
    capability="img2img"
    and the user's own words as
    prompt
    ("upscale this texture without breaking the tile"), hold the pick to tiling preservation (a generic upscaler breaks the repeat),
    model_schema_get
    it, then
    model_run
    with the image and the factor and preset fields the schema names (at authoring time the texture upscaler took
    upscaleFactor: 2
    and
    preset: "precise"
    ), raising the factor only deliberately: cost follows output pixels, and this leg can only be
    dry_run
    -priced once its input asset exists, so a two-step chain is never priced up front.
  7. Verify tiling at no cost: the saved PNG's left column against its right and top row against bottom should differ no more than neighboring interior columns do, and a 2x2 self-tile proof sheet shows any seam instantly.
  8. asset_download
    the final asset for engine import.
  1. 使用用户的描述作为
    prompt
    ("seamless tileable weathered brick")调用
    recommend
    ,选择无缝纹理生成器(例如
    model_scenario-texture
    )。
  2. 调用
    model_schema_get
    ,传入
    model_id="model_scenario-texture"
    。
  3. 调用
    model_run
    ,传入
    parameters={"prompt": "weathered red brick wall, moss in the mortar joints", "width": 1024, "height": 1024, "eraseSeam": true, "seed": 42}
    。如果是生成主题纹理包,请先设置
    dry_run=true
    预估批量任务费用,然后设置
    wait=false
    启动任务。
  4. 调用
    jobs_wait
    ,传入
    job_ids=["job_..."]
    (
    model_run
    返回的ID)。约180秒的超时并非错误:请使用返回的
    pending_job_ids
    作为
    job_ids
    重新调用,切勿重复发起
    model_run
    。然后调用
    asset_display
    展示输出资产。
  5. 迭代:使用相同的
    seed
    和修改后的提示词重新运行,或添加
    referenceImages=["asset_..."]
    锁定风格。
  6. 超分:使用
    capability="img2img"
    和用户的描述作为
    prompt
    ("upscale this texture without breaking the tile")调用
    recommend
    ,请选择支持平铺保留的模型(通用超分器会破坏纹理的重复平铺特性),调用
    model_schema_get
    获取其结构,然后调用
    model_run
    ,传入图像以及schema中指定的倍率和预设字段(编写本文时,纹理超分器使用
    upscaleFactor: 2
    和
    preset: "precise"
    ),请谨慎提高倍率:费用随输出像素数增加,且该步骤只有在输入资产存在后才能通过
    dry_run
    预估费用,因此两步处理链路无法提前预估总费用。
  7. 可免费验证平铺特性:保存的PNG图像左列与右列、顶行与底行的差异不应大于内部相邻列的差异,使用2x2自平铺验证图可立即发现任何接缝。
  8. 调用
    asset_download
    下载最终资产,用于导入引擎。

Common mistakes

常见错误

  • Skipping
    model_schema_get
    : parameter names differ per model and most models reject an empty payload.
  • Using a generic upscaler on a tileable texture: it breaks the repeat at the seams. Use the texture-specific upscaler, which preserves tiling.
  • Generating huge sizes directly: generate near 1024, then upscale 2x to 8x. Generation dimensions cap at 3840.
  • Routing a flat texture through a 3D texturing model just to get PBR maps: the 2D map extractors do that in one img2img call, and the 3D models are for meshes.
  • Ignoring engine sizing: engines expect square power-of-two textures (the seamless generator defaults to 1024x1024, 1:1). The generator accepts any multiple of 16, so choose 1024 or 2048 deliberately.
  • Hardcoding model IDs: availability differs per team. Re-discover each session.
  • 跳过
    model_schema_get
    调用:不同模型的参数名称不同,大多数模型会拒绝空参数负载。
  • 对可平铺纹理使用通用超分器:会破坏接缝处的重复特性。请使用纹理专用超分器,它会保留平铺特性。
  • 直接生成超大尺寸纹理:先生成接近1024尺寸的纹理,再进行2倍至8倍超分。生成尺寸上限为3840。
  • 为获取PBR贴图而将平面纹理传入3D贴图模型:2D贴图提取器可在一次img2img调用中完成该任务,3D贴图模型是用于网格模型的。
  • 忽略引擎尺寸要求:游戏引擎要求纹理为正方形且尺寸为2的幂(无缝生成器默认输出1024x1024的1:1纹理)。生成器支持任意16的倍数的尺寸,因此请刻意选择1024或2048等标准尺寸。
  • 硬编码模型ID:不同团队的可用模型存在差异,请在每个会话中重新发现可用模型。