Folge 9, Szene 2: Noa hält den Drachen mit beiden Händen vor dem Bauch statt darüber
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fc09a374dd
commit
9fb33b8806
1 changed files with 18 additions and 9 deletions
|
|
@ -2,14 +2,16 @@ import React from 'react';
|
|||
import {interpolate, useCurrentFrame} from 'remotion';
|
||||
import {Figur, Kamera} from '../baukasten/figur';
|
||||
import {Drachen} from '../baukasten/drachen';
|
||||
import {Blende, Vignette, atmen, huepfer, kamFahrt} from '../baukasten/helfer';
|
||||
import {Blende, Vignette, atmen, huepfer, kamFahrt, punkt} from '../baukasten/helfer';
|
||||
import {BODEN} from '../baukasten/orte';
|
||||
import {Untertitel} from '../baukasten/untertitel';
|
||||
import {plane} from './plan';
|
||||
import {LuluImWind, PLATZ, WindGarten, drachenUeberNoa} from './teile';
|
||||
import {LuluImWind, PLATZ, WindGarten} from './teile';
|
||||
|
||||
// Szene 2: Mein Drachen. Windiger Nachmittag; Noa hält ihren roten Papierdrachen hoch, die drei
|
||||
// Schleifen am Schwanz leuchten beim Zählen nacheinander auf.
|
||||
// Szene 2: Mein Drachen. Windiger Nachmittag; Noa hält ihren roten Papierdrachen mit beiden Händen vor
|
||||
// dem Bauch (Pose noa_A_klatschen, die Fäustlinge liegen am Leistenkreuz), die drei Schleifen am
|
||||
// Schwanz leuchten beim Zählen nacheinander auf. Die Fäustlinge werden über dem Drachen noch einmal
|
||||
// gezeichnet, damit sie ihn sichtbar festhalten.
|
||||
|
||||
export const S2 = plane('s2', [
|
||||
{id: 'bild0', dauer: 2.6},
|
||||
|
|
@ -26,17 +28,23 @@ export const S2 = plane('s2', [
|
|||
|
||||
const klemm = {extrapolateLeft: 'clamp', extrapolateRight: 'clamp'} as const;
|
||||
|
||||
// Fäustlinge in noa_A_klatschen (Leinwand, gemessen): Rahmen 707–791 × 366–441
|
||||
const HAENDE = {cx: 749, cy: 403, rx: 48, ry: 42};
|
||||
|
||||
export const Szene2: React.FC = () => {
|
||||
const f = useCurrentFrame();
|
||||
const {z, dauer} = S2;
|
||||
const d = drachenUeberNoa(PLATZ.noa);
|
||||
const d = punkt('noa', PLATZ.noa, BODEN, HAENDE.cx, HAENDE.cy);
|
||||
const ecke = punkt('noa', PLATZ.noa, BODEN, HAENDE.cx + HAENDE.rx, HAENDE.cy + HAENDE.ry);
|
||||
const haende = `ellipse(${ecke.x - d.x}px ${ecke.y - d.y}px at ${d.x}px ${d.y}px)`;
|
||||
const noaPose = <Figur pose="noa_A_klatschen" x={PLATZ.noa} y={BODEN} />;
|
||||
const leuchte = (id: 'z1' | 'z2' | 'z3') => interpolate(f, [z[id].start, z[id].start + 6, z[id].frei, z[id].frei + 8], [0, 1, 1, 0.25], klemm);
|
||||
const kam = kamFahrt(f, [
|
||||
[0, 1060, 540, 1.0],
|
||||
[z.bild0.ende, 1060, 600, 1.15],
|
||||
[z.n2.ende, 1000, 560, 1.2],
|
||||
[z.e1.start + 20, d.x, d.y + 60, 2.2], // Nahaufnahme Drachen zum Zählen
|
||||
[z.e2.ende, d.x, d.y + 60, 2.2],
|
||||
[z.e1.start + 20, d.x, d.y + 30, 2.0], // Nahaufnahme Drachen zum Zählen
|
||||
[z.e2.ende, d.x, d.y + 30, 2.0],
|
||||
[dauer, 1060, 600, 1.15],
|
||||
]);
|
||||
return (
|
||||
|
|
@ -45,8 +53,9 @@ export const Szene2: React.FC = () => {
|
|||
<WindGarten />
|
||||
<LuluImWind />
|
||||
<Figur pose={[[0, 'pino_A4_staunen'], [z.n2.start, 'pino_A3_lachen']]} x={PLATZ.pino} y={BODEN + huepfer(f, z.p1.start, 14, 10)} stauchY={atmen(f, 1, 0.015)} />
|
||||
<Figur pose={[[0, 'noa_A_haende-oben']]} x={PLATZ.noa} y={BODEN} stauchY={atmen(f, 2)} />
|
||||
<Drachen x={d.x} y={d.y - 25 + Math.sin(f * 0.11) * 3} s={0.8} drehung={Math.sin(f * 0.07) * 4} schwanz={24} flattern={10} leuchten={[leuchte('z1'), leuchte('z2'), leuchte('z3')]} />
|
||||
{noaPose}
|
||||
<Drachen x={d.x} y={d.y} s={0.9} drehung={Math.sin(f * 0.07) * 2} schwanz={18} flattern={8} boden={BODEN} leuchten={[leuchte('z1'), leuchte('z2'), leuchte('z3')]} />
|
||||
<div style={{position: 'absolute', inset: 0, clipPath: haende}}>{noaPose}</div>
|
||||
</Kamera>
|
||||
<Vignette />
|
||||
<Untertitel zeilen={S2.liste} />
|
||||
|
|
|
|||
Loading…
Reference in a new issue