Communitygithub.com

metehan2236/3d-animator

Claude'a gerçek bir 3D animatörün kamera, ışık, kaplama, hareket ve ses bilgisini vererek Blender olmadan, her karesi kodla üretilen sinematik 3D film yaptırır (Three.js + HyperFrames, MP4 çıktısı). Yürüyen ve koşan insanlar, sürülen araçlar, fizikli objeler, gerçek ölçekli kaplamalar, ıslak zemin yansımaları ve gerçek kayıtlarla ses içerir.

What is 3d-animator?

3d-animator is a Claude Code agent skill that claude'a gerçek bir 3D animatörün kamera, ışık, kaplama, hareket ve ses bilgisini vererek Blender olmadan, her karesi kodla üretilen sinematik 3D film yaptırır (Three.js + HyperFrames, MP4 çıktısı). Yürüyen ve koşan insanlar, sürülen araçlar, fizikli objeler, gerçek ölçekli kaplamalar, ıslak zemin yansımaları ve gerçek kayıtlarla ses içerir.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/metehan2236/3d-animator/tree/HEAD

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

3D Animatör

"Havalı bir 3D video yap" istemi gri, düz ışıklı, kamerası kımıldamayan bir sahne üretir, çünkü model hiçbir sinema kararı almadan varsayılanlara düşer. Bu skill o kararları kodlamadan önce aldırır ve uygulayan altyapıyı verir.

Hedef: İlk teslimde teknik hatası olmayan, birkaç revizeyle bitecek bir film. Kusursuzluk değil, revize edilebilir sağlam bir başlangıç. Bunu sağlayan şey altyapı değil, aşağıdaki sıradır; adım atlama.

Proje biçimi HyperFrames'tir. Kompozisyon kuralları için hyperframes-core geçerlidir.

Hangi örnekten başlanır

İstekBaşlangıçOku
İnsan, araç, obje hareketi, aksiyon, hikâyeassets/example-street-film/references/motion.md
Dış sesle anlatım, kavram anlatımı, tanıtımassets/example-chip-film/references/film-grammar.md
Her ikisiSokak filmini al, anlatım dilini ekleİkisi de

Her zaman oku: references/materials.md, references/craft.md, references/sound.md.

Yapıyı koru, içeriği konuya göre baştan yaz. Örnekteki sokağı, topu veya çipi yeni işlere taşıma. Referans video verilirse tekniğini öğren, metnini ve kurgusunu kopyalama. scene.js bölümleri: set, oyuncular, koreografi, kamera, görünüm.

Filmin şartları

Biri eksikse "3D demo" gibi görünür, film gibi değil:

  1. Gerçek ölçek: 1 birim 1 metre. Lens bulanıklığı, gölge ve doku bununla doğru çıkar.
  2. Dolu ve derin mekân: Ön, orta, arka plan ve ötesi. En az 25 nesne. Kahraman parça parça modellenir.
  3. Doğal ışık: Motive edilmiş ana ışık + skyDome. Gölgesi olmayan nesne yüzer.
  4. Doğru kaplama: Her yüzey M.* veya aynı titizlikte. Hiçbir yüzey tek renk değil.
  5. Bir hikâye ve neden: Her hareketin nedeni var. Yaklaşık her 3 saniyede yeni bir olay.
  6. Kamera yazarlığı: Her planın tek işi var. Lens ve hareket bu işe göre.
  7. Ses: Gerçek kayıtlar, müzik, dış ses. Her ses görüntüde bir nedene bağlı.

Akış

1. Plan (shot-plan.md)

Kod yazmadan önce: tek cümlelik mesaj, kahraman, mekân listesi, ışık fikri, palet, kaplama listesi ve plan tablosu.

SüreOlayKamera (lens, hareket)SesAltyazı
9.1–10.2Top çocuğun elinden kayıyor46mm, alttan, f/3.2Kısa nefesNobody's watching the ball.

Format istenmediyse 16:9 1920×1080. Dikey Reel için 1080×1920 kur ve kadrajları yeniden planla. Kullanıcı konuyu verdiyse onay bekleme, planı kısaca göster ve devam et. Bir karar filmi köklü değiştiriyorsa (format, dil, gerçekçi insan şartı) baştan sor.

2. Projeyi kur

npx hyperframes init <ad> --resolution landscape --non-interactive

assets/rig/ altındaki tüm dosyaları ve seçilen örneğin dosyalarını proje köküne kopyala.

3. Ses, sonra görüntü

Süreler konuşmadan gelir, kamera zamanları buna bağlıdır. Önce sesi kur.

node <skill-klasörü>/scripts/make-sfx.mjs assets/sfx <süre-sn>
node <skill-klasörü>/scripts/build-audio.mjs .

Betik voiceToMusicDb, overrun, voiceClash, overlap ve miks seviyesini yazar. Hata koduyla biterse zamanları düzelt. Kaynak bulma, lisans ve miks için references/sound.md. Müzik bulunamıyorsa veya lisans uymuyorsa scripts/make-music.mjs koddan bir taban üretir. Sokak filminin kayıtları skill'de değildir, liste assets/example-street-film/SOURCES.md içinde. İlk kurulumda:

py -3.12 -m venv "%USERPROFILE%\.cache\3d-animator-venv"
"%USERPROFILE%\.cache\3d-animator-venv\Scripts\python" -m pip install kokoro-onnx soundfile faster-whisper "av<16"

HYPERFRAMES_PYTHON ortam değişkenini bu python dosyasına yönelt. Kokoro Türkçe bilmez: Türkçe için kullanıcının izniyle başka bir sağlayıcıdan ses üret, voice/NN.wav ve aynı metinle voice/NN.txt olarak koy. Betik bu ikiliyi yeniden üretmez.

4. Sahne

Araçİş
createFilm({canvas, width, height, fps, samples, bloom, environment, background})Render zinciri
film.setShots([...])Çekim listesi; her at bir kesmedir. track: (t) => ({pos, look, lens, fstop, focus, roll}) hareketli özneyi izler
film.setKeys([...])Kesmesiz tek kamera
film.onUpdate(t => ...)Nesne ve karakter hareketi. Alt kare başına çağrılır
film.onFrame(T => ...)Işık, look, mod kararları. Kare başına bir kez
film.lookexposure, saturation, contrast, blackPoint, lift, shadowTint, midTint, highlightTint, flash, grain, vignette, aberration, fade, invert, bloom, stylize
film.skyDome, film.softLight, film.skyBackdrop, film.bakeEnvironmentDoğal ışık ve yansıma
film.mirrorFloor(mesh)Islak zemin ve su için gerçek yansıma
film.sunThroughBlinds, film.shaft, film.dust, film.burst, film.sparks, film.screen, film.wireEfekt ve detay
M.*, skinned, boxUVKaplama (references/materials.md)
createCharacter, walker, createCar, driver, createBicycle, rider, loadRiggedOyuncular (references/motion.md)
speedProfile, groundPath, bounces, springTrack, track, noise1, rng, EASEHareket yardımcıları
addCaptions(tl, el, LINES)Kelime kelime altyazı

Değişmez kural: Görünen her şey zamanın saf fonksiyonudur. rotation.y += 0.01 yazma, rotation.y = t * 0.6 yaz. Kareler rastgele sırayla ve birkaç kez istenir. Date.now(), performance.now(), requestAnimationFrame ve tohumsuz Math.random kullanma.

5. Görünüm testi

SAMPLES = 4 yap ve filmin her vuruşundan kare al. 15 kareden az alma. setTextureScale(SAMPLES < 16 ? 0.5 : 1) test sürelerini çok kısaltır, çünkü her render işçisi tüm dokuları baştan üretir:

npx hyperframes check
npx hyperframes snapshot --at <t1>,<t2>,... --timeout 240000

Çakışma için --angle top kullan. SAMPLES 1–4'te gökyüzü ışığı ve odak yanıltır: gölgeler sert, odak noktalı görünür. Kaplama ve ışık kararını 16 ile ver.

Kareleri aç ve bak. Kaplama: kabartma abartılı mı, sünme var mı, her yüzey dokulu mu? Kadraj: özne ve kafa kesiliyor mu, her planın işi okunuyor mu? Işık: yön, temas gölgesi, patlama. Hareket: ayak kayması, içinden geçme, havada duran nesne. Yazı: altyazı açık zeminde okunuyor mu?

Referans video varsa aynı anları yan yana koy (scripts/look-stats.mjs sayısal ton karşılaştırması verir), referansın ayrıştırma yöntemi references/film-grammar.md içinde.

6. Taslak, tarama, düzeltme

npx hyperframes render --quality draft --output draft.mp4
node <skill-klasörü>/scripts/qa-film.mjs draft.mp4 --script script.json --whisper <python> --earshot <python>

Tarayıcı kareleri qa/sheet-*.jpg olarak çıkarır (saniyede 4 kare) ve siyah kare, donma, tek karelik parlama, ses seviyesi, işitilmeyen kelime ve earshot karnesini raporlar. Sayfaların hepsine tek tek bak. Makine temiz dese bile hatalar orada görünür. Sonra her yakın planı tam boyutta aç (references/materials.md, kare kare kontrol): küçük sayfada temiz görünen kare tam boyda çoğu zaman temiz değildir. Bu filmde hataların çoğu ancak böyle göründü.

Tam kaliteye geçmeden her bulguyu kapat. Sadece bozuk bölümü yeniden render et:

npx hyperframes render --quality draft --start 18 --end 21 --output parca.mp4

7. Final

SAMPLES 24–32. Sokak filmi ölçeği bir sahne RTX 4060'ta birkaç dakika sürer; özet satırında software gpu görünüyorsa çok daha uzun sürer, kullanıcıya baştan söyle.

npx hyperframes render --quality delivery --output final.mp4

Son filmde taramayı tekrarla, çünkü düşük SAMPLES odak hatalarını gizler. earshot yoksa kurulumu için izin iste (yaklaşık 1–3 GB). PyPI'daki earshot başka bir pakettir; doğru kaynak github.com/Leonxlnx/earshot. Windows'ta sanal ortamı kısa bir yola kur, torch uzun yola takılır.

Teslim

Şunları söyle: ne yaptın, neyi kontrol ettin, neyi kontrol edemedin ve hâlâ eksik olan ne. Kullanılan ses ve müzik kaynaklarını lisanslarıyla listele. Karne yüksek olsa bile launch-grade filmin güzel olduğu anlamına gelmez. Zevk ve dış sesin doğallığı kullanıcıya aittir.

Revize

Kullanıcı revize istediğinde:

  1. Notu plana çevir: Hangi planda, ne, nasıl görünmeli. Belirsizse en olası yorumu yap ve söyle, her not için soru sorma.
  2. Doğru yeri değiştir: Kaplama M.*, kamera setShots, zamanlama tek bir sabit (BRAKE_T), ton film.look, ses script.json. Sabite bağlı her şey birlikte kayar.
  3. Sadece o bölümü render et: --start ve --end ile. Sadece ses değiştiyse görüntüyü render etme (references/sound.md).
  4. Parçayı önceki haliyle yan yana göster, onaydan sonra tam render al.
  5. Kalıcı dersi skill'e yaz: Bir hata türü ikinci kez çıkarsa bu dosyaya veya ilgili referansa ekle.

Gerçekçi insan: referans + AI video

Bu film AI video aracına referans olur, son görüntüyü o araç üretir. Kurulum henüz uçtan uca denenmedi; ilk kullanımda tek planla sına ve sonucu kullanıcıya göster.

  1. Sadece blokaj kur: Kadraj, kamera hareketi, kim nerede, ne zaman. Karakter ayrıntısına ve ince kaplamaya zaman harcama.
  2. Her planı ayrı ver: AI araçları kısa kliplerde daha tutarlıdır. --start ve --end ile plan plan render al. Altyazıyı kapat; grain, aberration ve vignette değerlerini sıfırla. Araç yazıları ve efektleri gerçek görüntü sanır.
  3. Görünümü sabitle: Önce planın ilk karesini gerçekçi bir görsele çevir. Karakter ve mekân referanslarını bütün planlarda aynı tut, onay aldıktan sonra videoya geç.
  4. Maliyeti önceden söyle: Hangi aracı, kaç plan için kullanacağını ve tahmini krediyi belirt, onay al. Bağlı araçlara o an bak; önceden var sayma.
  5. Kontrol et: Tam boy kareler ve kesme yerleri: yüz, el, plaka ve tabela yazısı, plandan plana kıyafet değişimi. Hareket koreografiden uzaklaşırsa dönüşüm gücünü düşür.
  6. Sesi burada bitir: Ses ve altyazı script.json ile bu hatta kalır. Çıkan kliplerin süresini kontrol et, kaydıysa ses zamanlarını yeni süreye uyarla.

Sınırlar

Başta söyle, sonda değil:

  • İnsanlar stilize: Animasyon filmi kalitesinde. Fotoğraf gerçekçiliği, yüz oyunculuğu veya konuşan ağız yok. Yakın planda sırıtır. Gerçekçi insan gerekiyorsa aşağıdaki referans yolunu kullan; insansız filmlerde kahramanı nesne veya araç yap, insanı uzakta tut.
  • Fizik sanat yönetimlidir: Hikâyeye göre yazılır, gerçek simülasyon değildir. Kumaş, saç, akışkan simülasyonu yok; su parçacıklarla taklit edilir.
  • Sentetik ses kodla üretilirse sentetik duyulur. Gerçek kayıt izin ister.
  • Türkçe dış ses dışarıdan ses gerektirir.

Related Skills