@ninkch/dsh-artcraft 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.md +4 -69
- package/apps/catalog.json +14 -14
- package/index.js +1 -1
- package/package.json +1 -1
- package/skills/README.md +2 -1
- package/skills/artcraft-director-lens/SKILL.md +79 -0
- package/skills/artcraft-director-lens/references/director-styles/01_spielberg.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/02_hitchcock.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/03_kubrick.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/04_kurosawa.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/05_scorsese.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/06_fellini.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/07_bergman.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/08_tarkovsky.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/09_wong_kar_wai.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/10_nolan.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/11_villeneuve.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/12_fincher.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/13_refn.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/14_bi_gan.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/15_zhang_yimou.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/16_hou_hsiao_hsien.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/17_park_chan_wook.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/18_malick.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/19_michael_mann.md +81 -0
- package/skills/artcraft-director-lens/references/director-styles/20_coen_brothers.md +81 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-scorsese
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):马丁·斯科塞斯导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 马丁·斯科塞斯导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: scorsese
|
|
13
|
+
lens_kit_mm: [18, 27, 40, 75] # 18/27 撑稳定器长镜头,让背景始终贴着人物;40 拍自辩的中近景;75 是急推的落点——急推由一支约 27-75mm 的变焦头在 0.5-1 秒内推完,机位不动
|
|
14
|
+
camera:
|
|
15
|
+
prefer: ["steadicam long take entering a space", "dolly-in that accelerates then stops hard", "snap zoom on a face", "lateral tracking along a bar or table", "locked frontal when the character addresses the lens"]
|
|
16
|
+
avoid: ["unmotivated handheld shake", "drifting float with no endpoint", "slow drone-like flyover", "symmetrical locked wide", "static coverage of a moving scene"]
|
|
17
|
+
motion_budget: high
|
|
18
|
+
height: "眼平;入场长镜头维持 1.5-1.6m 恒定,暴力节拍可掉到腰高"
|
|
19
|
+
shot_size_bias: ["steadicam medium tracking", "close-up on excitement or shame", "wide of the room as a social map", "insert of money/hands/glass", "frontal medium for direct address"]
|
|
20
|
+
composition: ["subject centred with the world streaming past behind", "layered background of people who all have business", "practical light source burning in frame", "over-shoulder into a room the character is not yet allowed in", "frontal symmetrical only for direct address"]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: hard
|
|
23
|
+
key_ratio: "5:1,方向混乱(多个实用光源互相打架)"
|
|
24
|
+
motivation: practical
|
|
25
|
+
signature: "入画且允许过曝的霓虹与灯罩,常驻烟雾让每个光源都有可见光锥"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: 酒吧红、后厨绿、钠黄街灯、包厢金
|
|
28
|
+
accent: 白炽过曝的高光点、单一冷蓝(警灯或电视)
|
|
29
|
+
saturation: high
|
|
30
|
+
contrast: high
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "1.5-3 音乐蒙太奇;8-15 崩塌段(无音乐)"
|
|
33
|
+
transition_bias: ["hard cut on the downbeat", "jump cut", "freeze frame", "whip pan"]
|
|
34
|
+
coverage_style: "长镜头承担入场,碎切承担上升;同一空间在上升与坠落时用相同机位、不同节奏拍两次"
|
|
35
|
+
sound:
|
|
36
|
+
music: 场景内可见来源的流行歌(点唱机、车载电台、楼上派对),可被人物关掉;关掉即转折
|
|
37
|
+
ambience: 三层都市噪音——低频车流、中频人声餐具、高频笑声玻璃警笛
|
|
38
|
+
dialogue: 重叠、打断、语速快;群戏只需听清一条线,其余是能量
|
|
39
|
+
silence_use: 崩塌段完全无音乐,只留房间底噪,持续 15 秒以上
|
|
40
|
+
performance:
|
|
41
|
+
register: 魅力与危险并存;演"我在解释",不许演"我知道我错了"
|
|
42
|
+
blocking: 人物不断向房间更深处移动;被排除时用一道门或一群背影挡住他
|
|
43
|
+
aspect_bias: "1.85:1 / 16:9"
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "2-4 蒙太奇碎片;8-12 入场长镜头"
|
|
46
|
+
prompt_bias: 把摄影机运动写成有终点的句子("tracks with him until he stops at the bar, then holds"),不要写"camera moves through the scene"。速度曲线必须显式:slow start, faster middle, hard stop。
|
|
47
|
+
risk: 模型把"跟拍"做成无止境的漂移,人物与背景脱节,能量变成眩晕。对策是每条 clip 指定一个停止点与停止时的构图,并把背景人物写成"各自有事在做"而不是"人群"。
|
|
48
|
+
negative_prompt_adds: ["handheld jitter", "aimless floating camera", "slow motion", "empty background", "clean even lighting", "modern smartphone screens", "text or watermark", "symmetrical composition"]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"1.5-3 音乐蒙太奇;8-15 崩塌段(无音乐)"s**(montage / 快切(1.2–2.5s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**["hard cut on the downbeat", "jump cut", "freeze frame", "whip pan"]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"长镜头承担入场,碎切承担上升;同一空间在上升与坠落时用相同机位、不同节奏拍两次"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"5:1,方向混乱(多个实用光源互相打架)"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:酒吧红、后厨绿、钠黄街灯、包厢金 → `mixer.{}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:白炽过曝的高光点、单一冷蓝(警灯或电视)
|
|
63
|
+
- 饱和/对比:high / high
|
|
64
|
+
- 光线签名:"入画且允许过曝的霓虹与灯罩,常驻烟雾让每个光源都有可见光锥"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:场景内可见来源的流行歌(点唱机、车载电台、楼上派对),可被人物关掉;关掉即转折
|
|
69
|
+
- 环境:三层都市噪音——低频车流、中频人声餐具、高频笑声玻璃警笛
|
|
70
|
+
- 对白:重叠、打断、语速快;群戏只需听清一条线,其余是能量
|
|
71
|
+
- 静默:崩塌段完全无音乐,只留房间底噪,持续 15 秒以上
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:["steadicam long take entering a space", "dolly-in that accelerates then stops hard", "snap zoom on a face", "lateral tracking along a bar or table", "locked frontal when the character addresses the lens"]
|
|
76
|
+
- 避免:["unmotivated handheld shake", "drifting float with no endpoint", "slow drone-like flyover", "symmetrical locked wide", "static coverage of a moving scene"]
|
|
77
|
+
- 运动预算:high
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-fellini
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):费德里科·费里尼导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 费德里科·费里尼导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: fellini
|
|
13
|
+
lens_kit_mm: [18, 25, 32] # 18 装下整支队伍与前景穿行;25 做正面近景的漫画式透视夸张(不要用长焦修正);32 是人群中跟移的默认焦段
|
|
14
|
+
camera:
|
|
15
|
+
prefer: ["drifting track through a crowd at 0.4-0.8 m/s", "pan handing off from one face to the next", "frontal wide close-up with mild distortion", "crane rising over a procession", "follow that loses the subject and finds another"]
|
|
16
|
+
avoid: ["locked symmetrical wide", "long-lens compression", "shallow-focus isolation", "static shot-reverse-shot", "drone-style detached flyover"]
|
|
17
|
+
motion_budget: high
|
|
18
|
+
height: "眼平游动为主;垂直事件时升到 2.5-4m 让人群变成图案"
|
|
19
|
+
shot_size_bias: ["wide of the whole procession", "frontal close-up of a single strange face", "medium tracking through bodies", "over-shoulder past a foreground passer-by", "high angle turning the crowd into a pattern"]
|
|
20
|
+
composition: ["figures entering continuously from both frame edges", "foreground passers-by occupying 10-30%", "reframed every 2-3 seconds, never settled", "one vertical event lifting someone above the crowd", "direct address to the lens"]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: mixed
|
|
23
|
+
key_ratio: "4:1,阴影保留细节"
|
|
24
|
+
motivation: stylized
|
|
25
|
+
signature: "硬边舞台光区被常驻的雾柔化半米;人物走进走出光区,明暗切换本身是表演"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: 粉、金、酒红、天蓝
|
|
28
|
+
accent: 纯白与漆黑的服装对撞
|
|
29
|
+
saturation: high
|
|
30
|
+
contrast: mid
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "6-14;结尾段拉到 15-30"
|
|
33
|
+
transition_bias: ["hard cut on a musical phrase end", "match cut on a recurring image", "dissolve"]
|
|
34
|
+
coverage_style: "不做正反打;一个游动镜头交接多个人物,离题镜头占段落 15-25%"
|
|
35
|
+
sound:
|
|
36
|
+
music: 圆舞曲、进行曲、马戏团铜管——先于动作确定节拍,人物跟着音乐走路
|
|
37
|
+
ambience: 允许非写实:笑声、叫卖、祈祷、海浪出现在物理上不该出现的地方
|
|
38
|
+
dialogue: 互相压过、听不清,是人群的质地;重要的话在音乐间隙由一个人单独说出
|
|
39
|
+
silence_use: 极少;只用在某个意象第二次回来时,留一种声音(风、海、铃)
|
|
40
|
+
performance:
|
|
41
|
+
register: 夸张、怪诞、可笑又可怜;选角标准是"一张脸能说完一个故事"
|
|
42
|
+
blocking: 主角站着不动被环绕,人群绕他运动;群众演员每人有一句话身份与一个正在做的动作
|
|
43
|
+
aspect_bias: "1.85:1;黑白段落可用 1.37:1" # 9:16 交付时的构图改写见「镜头语言」末条
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "6-12"
|
|
46
|
+
prompt_bias: 先写人群的行为清单(谁在做什么),再写摄影机;把"持续有人从画面边缘进出"写成硬要求,把音乐节拍写进动作描述(walking on the beat of a waltz)。
|
|
47
|
+
risk: 模型会把人群做成对称、同步、面目模糊的背景板,怪异感消失。对策是点名 3-5 个具体人物及其各自动作与服装,并写 no two people doing the same thing、faces distinct and exaggerated。
|
|
48
|
+
negative_prompt_adds: ["symmetrical composition", "synchronised crowd", "blurred faceless background people", "shallow depth of field", "long-lens compression", "cold desaturated palette", "text or watermark", "empty space"]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"6-14;结尾段拉到 15-30"s**(conventional(5–12s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**["hard cut on a musical phrase end", "match cut on a recurring image", "dissolve"]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"不做正反打;一个游动镜头交接多个人物,离题镜头占段落 15-25%"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"4:1,阴影保留细节"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:粉、金、酒红、天蓝 → `mixer.{}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:纯白与漆黑的服装对撞
|
|
63
|
+
- 饱和/对比:high / mid
|
|
64
|
+
- 光线签名:"硬边舞台光区被常驻的雾柔化半米;人物走进走出光区,明暗切换本身是表演"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:圆舞曲、进行曲、马戏团铜管——先于动作确定节拍,人物跟着音乐走路
|
|
69
|
+
- 环境:允许非写实:笑声、叫卖、祈祷、海浪出现在物理上不该出现的地方
|
|
70
|
+
- 对白:互相压过、听不清,是人群的质地;重要的话在音乐间隙由一个人单独说出
|
|
71
|
+
- 静默:极少;只用在某个意象第二次回来时,留一种声音(风、海、铃)
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:["drifting track through a crowd at 0.4-0.8 m/s", "pan handing off from one face to the next", "frontal wide close-up with mild distortion", "crane rising over a procession", "follow that loses the subject and finds another"]
|
|
76
|
+
- 避免:["locked symmetrical wide", "long-lens compression", "shallow-focus isolation", "static shot-reverse-shot", "drone-style detached flyover"]
|
|
77
|
+
- 运动预算:high
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-bergman
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):英格玛·伯格曼导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 英格玛·伯格曼导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: bergman
|
|
13
|
+
lens_kit_mm: [75, 100, 150] # 75 中近景;100/150 拍大特写,长焦不给脸任何变形借口;单脸收到 f/11-f/16 让整张脸落在景深内,双脸构图开到 f/2.8-f/4 留给变焦点
|
|
14
|
+
camera:
|
|
15
|
+
prefer: ["locked frontal close-up on the eyeline axis", "two-face composition with one profile in foreground", "focus pull between two faces instead of a cut", "imperceptible push-in at 0.02-0.05 m/s", "hold past the emotional peak"]
|
|
16
|
+
avoid: ["handheld", "shot-reverse-shot on fixed A/B setups", "camera orbit", "wide establishing of the room", "any move the audience can notice"]
|
|
17
|
+
motion_budget: low # 实际接近 none:唯一允许的运动是观众察觉不到的推进
|
|
18
|
+
height: "眼平,精确对齐演员瞳孔高度;全场不变"
|
|
19
|
+
shot_size_bias: ["extreme close-up filling 60-80% of frame height", "two-face composition", "medium close-up at 75mm", "hands or object insert", "one wide only if the room must be established once"]
|
|
20
|
+
composition: ["camera on the eyeline axis, deviation under 10 degrees", "two faces overlapping at their edges, one frontal one profile", "near-black or near-white flat background", "negative space on the side the character is avoiding", "whole face inside depth of field"]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: hard
|
|
23
|
+
key_ratio: "6:1,暗面不补光但保留轮廓"
|
|
24
|
+
motivation: practical
|
|
25
|
+
signature: "正侧方 90 度单光源,鼻影把脸分成两半;背景压成单色平面"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: 灰蓝、灰绿、近黑、近白
|
|
28
|
+
accent: 皮肤的暖色是画面里唯一的暖
|
|
29
|
+
saturation: low
|
|
30
|
+
contrast: high
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "20-90;一场 4 分钟的戏只用 5-8 个镜头"
|
|
33
|
+
transition_bias: ["hard cut", "fade"]
|
|
34
|
+
coverage_style: "不做标准正反打;用画内移动与变焦点代替切换,情绪高点之后再拍 3-5 秒"
|
|
35
|
+
sound:
|
|
36
|
+
music: 极少;只在场景之间的空白处,不与对白同时存在
|
|
37
|
+
ambience: 单一持续元素(钟摆、海浪、风穿窗缝),让沉默可被计量
|
|
38
|
+
dialogue: 干、近、无混响;呼吸与吞咽必须清晰可闻
|
|
39
|
+
silence_use: 每场指定 2-3 处 4-8 秒沉默,并写清沉默时镜头在拍谁的脸
|
|
40
|
+
performance:
|
|
41
|
+
register: 高度抑制;最高强度是"没有哭出来但脸正在塌",指令写成抑制目标
|
|
42
|
+
blocking: 人物在画内起身、转身、靠近窗;谁离镜头近谁在这一刻更有权力
|
|
43
|
+
aspect_bias: "1.37:1 / 4:3——接近方形的画幅让脸在竖向被填满;16:9 会在脸两侧留下无用空间"
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "8-15(在工具能稳住身份的前提下取最长)"
|
|
46
|
+
prompt_bias: 一条 clip 只写一次微表情变化 + 一次呼吸事件,摄影机写成 locked 或 imperceptible push-in;显式写 the whole face stays in focus。唯一例外是双脸变焦点那一条——它要从 negative 里拿掉 shallow depth of field,改写成 focus shifts from the front face to the face behind over 1.5 seconds。20 秒以上的长镜头用同参数分段续接拼出来,接点选在动作完全静止的那一帧。
|
|
47
|
+
risk: 模型会给静止的脸补上多余动作(转头、眨眼过频、微笑)并把背景虚化成柔焦氛围,抑制感立刻消失。对策是写 no head turn, blinks only once, background flat and dark, no bokeh,并把 clip 控制在一次心理变化点之内。
|
|
48
|
+
negative_prompt_adds: ["shallow depth of field or bokeh", "soft glamour lighting", "head turning away", "smiling", "camera movement", "warm colour grade", "background detail or props", "text or watermark"]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"20-90;一场 4 分钟的戏只用 5-8 个镜头"s**(observational / 长镜(8–15s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**["hard cut", "fade"]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"不做标准正反打;用画内移动与变焦点代替切换,情绪高点之后再拍 3-5 秒"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"6:1,暗面不补光但保留轮廓"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:灰蓝、灰绿、近黑、近白 → `mixer.{}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:皮肤的暖色是画面里唯一的暖
|
|
63
|
+
- 饱和/对比:low / high
|
|
64
|
+
- 光线签名:"正侧方 90 度单光源,鼻影把脸分成两半;背景压成单色平面"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:极少;只在场景之间的空白处,不与对白同时存在
|
|
69
|
+
- 环境:单一持续元素(钟摆、海浪、风穿窗缝),让沉默可被计量
|
|
70
|
+
- 对白:干、近、无混响;呼吸与吞咽必须清晰可闻
|
|
71
|
+
- 静默:每场指定 2-3 处 4-8 秒沉默,并写清沉默时镜头在拍谁的脸
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:["locked frontal close-up on the eyeline axis", "two-face composition with one profile in foreground", "focus pull between two faces instead of a cut", "imperceptible push-in at 0.02-0.05 m/s", "hold past the emotional peak"]
|
|
76
|
+
- 避免:["handheld", "shot-reverse-shot on fixed A/B setups", "camera orbit", "wide establishing of the room", "any move the audience can notice"]
|
|
77
|
+
- 运动预算:low
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-tarkovsky
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):安德烈·塔可夫斯基导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 安德烈·塔可夫斯基导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: tarkovsky
|
|
13
|
+
lens_kit_mm: [28, 35, 50] # 广角到标准,深焦分层;靠景深而非切镜建立层次
|
|
14
|
+
camera:
|
|
15
|
+
prefer: [locked hold, very slow lateral dolly, slow push-in on an object, slow tilt down to water, walking-pace follow from behind]
|
|
16
|
+
avoid: [handheld shake, whip pan, orbit, crash zoom, drone reveal]
|
|
17
|
+
motion_budget: low # 10 秒内位移 ≤ 1 米,恒速,无加减速
|
|
18
|
+
height: "waist to chest, level or slightly low, planted like a witness"
|
|
19
|
+
shot_size_bias: [wide, medium wide, insert or detail, over-shoulder from behind, close-up]
|
|
20
|
+
composition: [deep staging with three or more planes, reflective foreground, off-center or back-turned figure, vertical layering from ceiling to floor, threshold framing]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: soft
|
|
23
|
+
key_ratio: "2:1 to 3:1"
|
|
24
|
+
motivation: naturalistic
|
|
25
|
+
signature: "阴天窗光加单一火光点;无硬边阴影,湿表面自己发光"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: "mud brown, wet stone grey, moss green, sepia"
|
|
28
|
+
accent: "fire orange, milk white, rust"
|
|
29
|
+
saturation: low
|
|
30
|
+
contrast: low
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "30-90"
|
|
33
|
+
transition_bias: [hard cut, slow dissolve, fade]
|
|
34
|
+
coverage_style: "单机位单角度,一个镜头解决一场戏,不拍反打"
|
|
35
|
+
sound:
|
|
36
|
+
music: "极少,出现时为宗教性合唱或单一持续音,不跟画面情绪走"
|
|
37
|
+
ambience: "可数的滴水、风穿空屋、火焰爆裂、远处狗叫;环境声即主音轨"
|
|
38
|
+
dialogue: "低音量慢速,常在画外或背对镜头说出,每场 40 字以内"
|
|
39
|
+
silence_use: "连续 5-15 秒静默,用来让观众听出空间尺寸"
|
|
40
|
+
performance:
|
|
41
|
+
register: "内敛疲惫,情绪落后事件 2-3 秒,反应幅度小于事实要求"
|
|
42
|
+
blocking: "长时间静止或缓慢走动,常背对镜头或被前景遮挡"
|
|
43
|
+
aspect_bias: "1.66:1 / 4:3" # 竖向余量留给天花板、树冠和垂落的水
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "8-15" # 取所用工具允许的最长单条时长;宁可一个长镜头,不要三个短镜头
|
|
46
|
+
prompt_bias: "主体动作写到最小(呼吸、转头、放下一件东西),描述预算全部给环境运动和材质:水、火、雾、布料、光的缓慢变化。"
|
|
47
|
+
risk: "模型把'慢'理解成'静止',输出一张会呼吸的照片。缓解:显式命名两个持续的环境运动源,并给镜头一个恒速微移。"
|
|
48
|
+
negative_prompt_adds: [saturated colors, hard-edged shadows, lens flare, fast camera move, quick cuts, glossy clean surfaces, stage-symmetric framing, orchestral swell]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"30-90"s**(observational / 长镜(8–15s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**[hard cut, slow dissolve, fade]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"单机位单角度,一个镜头解决一场戏,不拍反打"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"2:1 to 3:1"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:"mud brown, wet stone grey, moss green, sepia" → `mixer.{green}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:"fire orange, milk white, rust"
|
|
63
|
+
- 饱和/对比:low / low
|
|
64
|
+
- 光线签名:"阴天窗光加单一火光点;无硬边阴影,湿表面自己发光"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:"极少,出现时为宗教性合唱或单一持续音,不跟画面情绪走"
|
|
69
|
+
- 环境:"可数的滴水、风穿空屋、火焰爆裂、远处狗叫;环境声即主音轨"
|
|
70
|
+
- 对白:"低音量慢速,常在画外或背对镜头说出,每场 40 字以内"
|
|
71
|
+
- 静默:"连续 5-15 秒静默,用来让观众听出空间尺寸"
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:[locked hold, very slow lateral dolly, slow push-in on an object, slow tilt down to water, walking-pace follow from behind]
|
|
76
|
+
- 避免:[handheld shake, whip pan, orbit, crash zoom, drone reveal]
|
|
77
|
+
- 运动预算:low
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-wong_kar_wai
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):王家卫导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 王家卫导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: wong_kar_wai
|
|
13
|
+
lens_kit_mm: [18, 25, 85] # 广角贴身拍变形的亲密,85mm 隔街压缩人流;中焦段刻意回避
|
|
14
|
+
camera:
|
|
15
|
+
prefer: [small-amplitude handheld, step-print slow motion, reframe-in-shot, shoot through foreground obstruction, low-angle from a corner]
|
|
16
|
+
avoid: [locked tripod, symmetric center framing, smooth gimbal glide, drone, full clean wide]
|
|
17
|
+
motion_budget: medium # 频率高、幅度小:几乎每秒都在微调,但整镜位移 < 1 米。写提示词时给的是"重新构图",不是"运动"
|
|
18
|
+
height: "chest to shoulder, often from a corner or across an obstruction, rarely level with the eyes"
|
|
19
|
+
shot_size_bias: [medium close-up, close-up of hands and objects, obstructed medium, over-shoulder, extreme close-up]
|
|
20
|
+
composition: [foreground obstruction in every frame, subject pushed to frame edge, frame within frame via door or window, mirror or glass reflection, head cropped at top]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: hard
|
|
23
|
+
key_ratio: "6:1 to 10:1"
|
|
24
|
+
motivation: practical
|
|
25
|
+
signature: "裸灯泡与招牌直射给硬边和高光比,霓虹管只负责染色勾边;空气里有烟和水汽,光柱可见"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: "neon green, deep red, tungsten amber"
|
|
28
|
+
accent: "magenta, jade, gold"
|
|
29
|
+
saturation: high
|
|
30
|
+
contrast: high
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "1.5-4" # 每段允许一个 6-12 秒的慢动作长挂
|
|
33
|
+
transition_bias: [hard cut, jump cut, whip pan, dissolve]
|
|
34
|
+
coverage_style: "同一动作跳接三次,位置微移;关键进展留在两个镜头之间"
|
|
35
|
+
sound:
|
|
36
|
+
music: "一首歌即一个主题,全片出现 2-3 次,每次对应关系的一次退步"
|
|
37
|
+
ambience: "雨、电话铃、收音机、餐馆碗碟、楼下摩托、隔壁电视"
|
|
38
|
+
dialogue: "短、跳跃、答非所问;被环境声盖掉一半是可接受的"
|
|
39
|
+
silence_use: "极少完全静默;用歌声顶替静默,让人物在音乐里失语"
|
|
40
|
+
performance:
|
|
41
|
+
register: "克制迷人,台词与意图错开一层,不说真正的需求"
|
|
42
|
+
blocking: "两人同框不得正对;一个背对或隔玻璃,距离以厘米计量"
|
|
43
|
+
aspect_bias: "1.85:1" # 窄边框加强前景遮挡的压迫;9:16 竖幅同样成立
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "4-8" # 短,靠碎片累积;慢动作段落单独出一条
|
|
46
|
+
prompt_bias: "先写前景挡什么,再写霓虹的两种颜色,最后才写人做什么;动作只留一个,且必须是'收回'而不是'伸出'。"
|
|
47
|
+
risk: "模型把手持理解成整体抖动,把慢动作理解成平滑插帧的升格。缓解:写 'small handheld reframing, not shake';步进印片要同时点名两件事——'long-shutter trails behind the moving hand' 和 'repeated-frame stutter, not smooth slow motion',只写其一都拿不到;再锁死一个静止的前景遮挡物做位移参照。"
|
|
48
|
+
negative_prompt_adds: [locked tripod stillness, symmetric center framing, even soft fill, desaturated palette, clean empty space, smooth gimbal glide, full frontal face, clear unobstructed view]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"1.5-4"s**(tightening / 紧凑对话(3–6s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**[hard cut, jump cut, whip pan, dissolve]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"同一动作跳接三次,位置微移;关键进展留在两个镜头之间"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"6:1 to 10:1"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:"neon green, deep red, tungsten amber" → `mixer.{green,magenta,red,orange,aqua}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:"magenta, jade, gold"
|
|
63
|
+
- 饱和/对比:high / high
|
|
64
|
+
- 光线签名:"裸灯泡与招牌直射给硬边和高光比,霓虹管只负责染色勾边;空气里有烟和水汽,光柱可见"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:"一首歌即一个主题,全片出现 2-3 次,每次对应关系的一次退步"
|
|
69
|
+
- 环境:"雨、电话铃、收音机、餐馆碗碟、楼下摩托、隔壁电视"
|
|
70
|
+
- 对白:"短、跳跃、答非所问;被环境声盖掉一半是可接受的"
|
|
71
|
+
- 静默:"极少完全静默;用歌声顶替静默,让人物在音乐里失语"
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:[small-amplitude handheld, step-print slow motion, reframe-in-shot, shoot through foreground obstruction, low-angle from a corner]
|
|
76
|
+
- 避免:[locked tripod, symmetric center framing, smooth gimbal glide, drone, full clean wide]
|
|
77
|
+
- 运动预算:medium
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-nolan
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):克里斯托弗·诺兰导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 克里斯托弗·诺兰导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: nolan
|
|
13
|
+
lens_kit_mm: [14, 21, 35, 50] # 广角为主:14-21 给尺度,21 贴到 60-90cm 给物理重量,50 是长焦上限
|
|
14
|
+
camera:
|
|
15
|
+
prefer: [controlled handheld follow, wide tracking alongside action, slow push-in on a mechanism, crane up to reveal scale, locked insert on an instrument]
|
|
16
|
+
avoid: [orbit for its own sake, whip pan, slow motion for beauty, dreamy diffusion, drone flythrough]
|
|
17
|
+
motion_budget: high # 镜头几乎总在移动,但移动是"跟上",不是表演
|
|
18
|
+
height: "eye level, camera close to the body, occasionally low to give machinery mass"
|
|
19
|
+
shot_size_bias: [medium close-up, wide tracking, extreme wide for scale, mechanism insert, over-shoulder]
|
|
20
|
+
composition: [figure against oversized real structure, horizon low to give sky weight, mechanism readable in frame, two timelines matched by shape, foreground hardware giving depth]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: mixed
|
|
23
|
+
key_ratio: "3:1 to 4:1"
|
|
24
|
+
motivation: naturalistic
|
|
25
|
+
signature: "真实天光加可见的工作灯;夜景只有钠灯暖橙一个暖点"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: "concrete grey, steel blue, black, canvas khaki"
|
|
28
|
+
accent: "sodium amber, warning red"
|
|
29
|
+
saturation: low
|
|
30
|
+
contrast: mid
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "2-5"
|
|
33
|
+
transition_bias: [hard cut, match cut, cut on sound]
|
|
34
|
+
coverage_style: "交叉剪辑为结构;轮转周期从 12 秒收紧到 3 秒,每次切线带走一个新信息"
|
|
35
|
+
sound:
|
|
36
|
+
music: "持续低频脉冲与无解决的上升音型,功能是报时而非煽情"
|
|
37
|
+
ambience: "金属应力、气压、低频冲击、按空间尺寸变化的混响"
|
|
38
|
+
dialogue: "规则说明必须在动作压力下说出,禁止坐下来解释"
|
|
39
|
+
silence_use: "只在归零前一拍使用,长度 0.5-1.5 秒,用来放大下一次冲击"
|
|
40
|
+
performance:
|
|
41
|
+
register: "理性克制,情绪藏在选择里;崩溃上限是一次呼吸失控"
|
|
42
|
+
blocking: "人物永远在执行一件有时限的任务,走位由机制而非情绪决定"
|
|
43
|
+
aspect_bias: "1.90:1 / 2.20:1" # 比 2.39:1 高的画幅:同样的画面宽度下多出的纵向余量留给天空和头顶,尺度靠竖向撑起来
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "3-6" # 每条线单独生成,交叉在剪辑台完成,不要求模型在一条 clip 里切线
|
|
46
|
+
prompt_bias: "一条 clip 只讲一个机制事实:一个动作、一个镜头运动、一个可见的计时器变化。把'尺度'翻译成具体材料与尺寸,不要写'宏大'。"
|
|
47
|
+
risk: "模型把'高概念'渲染成发光全息与赛博界面,并把交叉剪辑压成一镜。缓解:负面词里点名 holographic UI 与 neon;三条线各出一条 clip,用同一组材料词、同一色温、同一颗粒描述锁一致性。"
|
|
48
|
+
negative_prompt_adds: [glowing holographic interface, floating blue data, neon signage, obvious CGI sheen, slow motion, dreamy diffusion, saturated color grade, lens flare]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"2-5"s**(tightening / 紧凑对话(3–6s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**[hard cut, match cut, cut on sound]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"交叉剪辑为结构;轮转周期从 12 秒收紧到 3 秒,每次切线带走一个新信息"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"3:1 to 4:1"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:"concrete grey, steel blue, black, canvas khaki" → `mixer.{red,orange,blue}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:"sodium amber, warning red"
|
|
63
|
+
- 饱和/对比:low / mid
|
|
64
|
+
- 光线签名:"真实天光加可见的工作灯;夜景只有钠灯暖橙一个暖点"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:"持续低频脉冲与无解决的上升音型,功能是报时而非煽情"
|
|
69
|
+
- 环境:"金属应力、气压、低频冲击、按空间尺寸变化的混响"
|
|
70
|
+
- 对白:"规则说明必须在动作压力下说出,禁止坐下来解释"
|
|
71
|
+
- 静默:"只在归零前一拍使用,长度 0.5-1.5 秒,用来放大下一次冲击"
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:[controlled handheld follow, wide tracking alongside action, slow push-in on a mechanism, crane up to reveal scale, locked insert on an instrument]
|
|
76
|
+
- 避免:[orbit for its own sake, whip pan, slow motion for beauty, dreamy diffusion, drone flythrough]
|
|
77
|
+
- 运动预算:high
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: artcraft-lens-villeneuve
|
|
3
|
+
description: >-
|
|
4
|
+
导演透镜(ArtCraft 适配版):丹尼斯·维伦纽瓦导演风格 Skill。把该导演的工作方式翻译成 ArtCraft 可执行参数——FilmCraft 时间线与转场、LightCraft 影调分区、SoundCraft 声音规则、EffectCraft 机位。当用户点名该导演、要求该风格,或项目美学圣经引用该透镜时加载。
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 丹尼斯·维伦纽瓦导演风格 Skill(ArtCraft 适配版)
|
|
8
|
+
|
|
9
|
+
## 风格参数 / Style parameters
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
style_id: villeneuve
|
|
13
|
+
lens_kit_mm: [21, 40, 75] # 21 给纪念碑尺度,40 给程序化中景,75 压缩疲惫的脸;不用超广也不用超长
|
|
14
|
+
camera:
|
|
15
|
+
prefer: [locked wide, constant-speed lateral track, constant-speed push toward vanishing point, high overhead, slow tilt up a structure]
|
|
16
|
+
avoid: [handheld, orbit, whip pan, speed ramp, crash zoom]
|
|
17
|
+
motion_budget: low # 有移动但恒速无表情,像在丈量空间
|
|
18
|
+
height: "eye level or extreme overhead; nothing in between"
|
|
19
|
+
shot_size_bias: [extreme wide, wide, overhead, medium close-up, close-up]
|
|
20
|
+
composition: [center symmetry, single strong horizon at one-eighth or seven-eighths height, human at 5-15 percent of frame height, silhouette against a lit plane, negative space as the subject]
|
|
21
|
+
lighting:
|
|
22
|
+
key_quality: soft
|
|
23
|
+
key_ratio: "5:1 to 8:1" # 逆光面对正面补光,不是常规主光对补光
|
|
24
|
+
motivation: naturalistic
|
|
25
|
+
signature: "整面墙或整片天当光源的逆光;人物半剪影,无硬边阴影"
|
|
26
|
+
palette:
|
|
27
|
+
dominant: "one hue per sequence: ochre sand, teal fog, copper interior, ink green, grey-white ice"
|
|
28
|
+
accent: "a single small warm point, usually a lamp or a fire"
|
|
29
|
+
saturation: low
|
|
30
|
+
contrast: mid
|
|
31
|
+
editing:
|
|
32
|
+
avg_shot_length_s: "8-18"
|
|
33
|
+
transition_bias: [hard cut, fade, dissolve]
|
|
34
|
+
coverage_style: "一场 3-9 个镜头;人物进画前留 2 秒,出画后留 3 秒;事件后必给余波镜头"
|
|
35
|
+
sound:
|
|
36
|
+
music: "40-80Hz 轰鸣、持续合成音、共振铜管;无旋律记忆点,只有质地与压强"
|
|
37
|
+
ambience: "分层的风、沙粒打在织物上、呼吸、远处金属应力"
|
|
38
|
+
dialogue: "被环境声压低,关键台词只说一次,'听不清'是主题的一部分"
|
|
39
|
+
silence_use: "全段 20-40% 的时长无音乐;低频比画面早进 2-4 秒"
|
|
40
|
+
performance:
|
|
41
|
+
register: "内敛专业疲惫,情绪靠呼吸与姿态的微小塌陷"
|
|
42
|
+
blocking: "人物穿过巨大空间,方向单一,速度恒定;停下来的那一次就是转折"
|
|
43
|
+
aspect_bias: "2.39:1" # 宽画幅强化水平线与横向丈量;9:16 交付时的构图改写见「镜头语言」末条
|
|
44
|
+
ai_video:
|
|
45
|
+
clip_duration_s: "8-15" # 越长越好;给模型时间把雾的层次渲染出来
|
|
46
|
+
prompt_bias: "先写几何体与材料,再写雾从第几米开始,最后才写人;人的描述不超过一句,且必须给出他占画面高度的比例。"
|
|
47
|
+
risk: "模型把'宏大'渲染成拥挤的赛博城市,或把雾渲染成整体模糊。缓解:负面词点名 neon 与 holographic;把雾写成 depth gradient(近处清晰、30 米外淡 2-3 档),并给一个已知尺寸的参照物。"
|
|
48
|
+
negative_prompt_adds: [holographic interface, neon signage, cluttered cyberpunk street, hard-edged shadows, handheld shake, split warm-cool grade, busy background detail, visible lens flare]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ArtCraft 落点(本插件适配)
|
|
52
|
+
|
|
53
|
+
### 剪辑(FilmCraft)
|
|
54
|
+
- 单镜均长目标 **"8-18"s**(observational / 长镜(8–15s 档))→ `timeline.place` 铺轨后按分配修长:`timeline.trim {mode:"ripple"}`、`timeline.rateStretch` 微调
|
|
55
|
+
- 转场偏好:**[hard cut, fade, dissolve]** → `sequence.applyVideoTransition {effect}` / `sequence.setTransition {duration, align}`
|
|
56
|
+
- 覆盖方式:"一场 3-9 个镜头;人物进画前留 2 秒,出画后留 3 秒;事件后必给余波镜头"
|
|
57
|
+
- 音画切点:对白/音乐切点参考 SoundCraft `event.beat_detective` 的节拍位置
|
|
58
|
+
|
|
59
|
+
### 影调(LightCraft / FilmCraft Lumetri)
|
|
60
|
+
- 光比目标 **"5:1 to 8:1"** → LightCraft `light.contrast` + `grading.shadows/highlights` 分离
|
|
61
|
+
- 主色:"one hue per sequence: ochre sand, teal fog, copper interior, ink green, grey-white ice" → `mixer.{green,aqua}.*` 定点 + `grading.*` 方向
|
|
62
|
+
- 点缀:"a single small warm point, usually a lamp or a fire"
|
|
63
|
+
- 饱和/对比:low / mid
|
|
64
|
+
- 光线签名:"整面墙或整片天当光源的逆光;人物半剪影,无硬边阴影"
|
|
65
|
+
- 落点命令:`develop.set control=<id> value=<v>` 逐项;定稿 `preset.create` 固化,整批 `preset.apply`;FilmCraft 侧 `lumetri.setLook` + `presets.save`
|
|
66
|
+
|
|
67
|
+
### 声音(SoundCraft / FilmCraft)
|
|
68
|
+
- 音乐:"40-80Hz 轰鸣、持续合成音、共振铜管;无旋律记忆点,只有质地与压强"
|
|
69
|
+
- 环境:"分层的风、沙粒打在织物上、呼吸、远处金属应力"
|
|
70
|
+
- 对白:"被环境声压低,关键台词只说一次,'听不清'是主题的一部分"
|
|
71
|
+
- 静默:"全段 20-40% 的时长无音乐;低频比画面早进 2-4 秒"
|
|
72
|
+
- 落点命令:`essentialSound.setType` + `essentialSound.generateDucking`(避让对白)+ `essentialSound.autoMatch {target:-14}`;SoundCraft `mix.insert` 挂处理链
|
|
73
|
+
|
|
74
|
+
### 机位与运动(EffectCraft)
|
|
75
|
+
- 优先:[locked wide, constant-speed lateral track, constant-speed push toward vanishing point, high overhead, slow tilt up a structure]
|
|
76
|
+
- 避免:[handheld, orbit, whip pan, speed ramp, crash zoom]
|
|
77
|
+
- 运动预算:low
|
|
78
|
+
- 落点命令:`camera.orbit/pan/dolly` + `view.3d.*` 机位;2D 素材用 `layer.*` + `keys.easyEase*` 缓动
|
|
79
|
+
|
|
80
|
+
### 质检挂钩(artcraft_qc / 人工复核)
|
|
81
|
+
- 逐镜抽帧复核 + `scopes.read` 示波器核对影调是否落在本透镜的光比与色相档位
|