产品模块环绕揭示
Product Orbit Reveal
- 范围
- 镜头
- 复杂度
- 高级
- 建议时长
- 4.2s
- 画幅
- 16:9 · 9:16 · 1:1
真实渲染预览
这个动效用来做什么
带灯光反射和体积细节的程序化产品模块完成有限环绕并在正面停住。
A procedural product module with lit volumetric detail completes a finite orbit and settles front-on.
可替换参数
product_label必填 · stringLabel rendered on the product module and caption.
- 默认值
SIGNAL MODULE
orbit_degrees可选 · numberBounded horizontal orbit angle before settling front-on.
- 默认值
32
finish可选 · enumProcedural product finish palette.
- 默认值
amber
归一化动作时间线
所有事件都使用 0 到 1 的归一化进度:0 是镜头开始,1 是镜头结束;事件可以重叠,适配器再把相同比例映射到秒或帧。
0.04–0.300.08–0.660.12–0.720.36–0.620.76–1.00复制执行上下文
四个上下文共享同一份可机器校验核心;引擎标签只追加已验证 Adapter 路由、能力与实现纪律。
<!-- motion-registry-context:{"format":"1.0.0","recipe_id":"device.product-orbit-reveal","recipe_version":"0.2.0","recipe_source":"recipes/device/product-orbit-reveal/recipe.yaml"} -->
# Motion Registry Context
<!-- motion-registry-section:recipe-identity:start -->
## Recipe identity
- Recipe ID: device.product-orbit-reveal
- Schema version: 0.2.0
- Recipe source: recipes/device/product-orbit-reveal/recipe.yaml
<!-- motion-registry-section:recipe-identity:end -->
<!-- motion-registry-section:motion-intent:start -->
## Motion intent and scope
- Purpose (zh): 带灯光反射和体积细节的程序化产品模块完成有限环绕并在正面停住。
- Purpose (en): A procedural product module with lit volumetric detail completes a finite orbit and settles front-on.
- Scope: shot
- Complexity: advanced
- Subjects: device
- Intents: demonstrate, reveal, emphasize
- Use cases: product-demo, advertising, social-video, presentation
- Recipe capabilities: procedural-product, orbit-camera, webgl-lighting, readable-front-hold
<!-- motion-registry-section:motion-intent:end -->
<!-- motion-registry-section:inputs:start -->
## Inputs
- product_label: string (required; default=SIGNAL MODULE) — Label rendered on the product module and caption.
- orbit_degrees: number (optional; default=32) — Bounded horizontal orbit angle before settling front-on.
- finish: enum (optional; default=amber; options=amber|cobalt) — Procedural product finish palette.
<!-- motion-registry-section:inputs:end -->
<!-- motion-registry-section:normalized-timeline:start -->
## Normalized motion timeline (0 to 1)
- 0.04–0.30 · product.reveal · opacity.fade → product · parameters={"from":0,"to":1}
- 0.08–0.66 · product.orbit · transform.rotate3d → product · parameters={"axis":"y","from":-32,"to":0,"unit":"deg"}
- 0.12–0.72 · orbit-camera.push · camera.push → orbit-camera · parameters={"from":0,"to":1,"curve":"ease-out"}
- 0.36–0.62 · caption.reveal · opacity.fade → caption · parameters={"from":0,"to":1}
- 0.76–1.00 · product.hold · state.hold → product · parameters={}
<!-- motion-registry-section:normalized-timeline:end -->
<!-- motion-registry-section:output-envelope:start -->
## Output envelope
- Aspect ratios: 16:9, 9:16, 1:1
- Duration: min 2.8s; preferred 4.2s; max 6s
<!-- motion-registry-section:output-envelope:end -->
<!-- motion-registry-section:acceptance:start -->
## Acceptance constraints
- real-volume: The product has visible front, side, and top surfaces with lighting response and is not a flat card.
- bounded-orbit: The orbit completes once and stops at a readable front angle without looping.
- deterministic: The same inputs produce identical geometry, camera path, materials, and final state.
- no-obstruction: Product and caption stay inside their responsive safe zones with no mutual overlap.
<!-- motion-registry-section:acceptance:end -->
<!-- motion-registry-section:handoff-invariants:start -->
## Handoff invariants
- Preserve the subject, input meaning, event order, overlaps, final state, and approximate normalized timing.
- Keep the implementation deterministic and retain a readable, stable final hold.
- Treat the Recipe document as the source of truth; do not infer engine APIs in this shared core.
<!-- motion-registry-section:handoff-invariants:end -->引擎实现
HyperFrames
- Composition
product-orbit- 入口文件
index.html- 确定性
- 是
- lint通过
- validate通过
- inspect通过
- render通过
Remotion
- Composition
ProductOrbitReveal- 入口文件
ProductOrbitReveal.tsx- 确定性
- 是
- typecheck通过
- render通过
Three.js
- Composition
ThreeProductOrbitReveal- 入口文件
ThreeProductOrbitReveal.tsx- 确定性
- 是
- typecheck通过
- build通过
- render通过
来源与使用边界
- 再分发状态
- original
- 来源说明
- Self-authored H2 Recipe and procedural adapters.
- Recipe 文件
recipes/device/product-orbit-reveal/recipe.yaml
参考
无外部参考;该 Recipe 与测试素材为项目原创。
验收标准
real-volumeThe product has visible front, side, and top surfaces with lighting response and is not a flat card.
bounded-orbitThe orbit completes once and stops at a readable front angle without looping.
deterministicThe same inputs produce identical geometry, camera path, materials, and final state.
no-obstructionProduct and caption stay inside their responsive safe zones with no mutual overlap.