GPU dla Twoich kreacji · krypto bez KYC Odkryj
NOTES 01 · ORGANIZACJA

Scena Blender, która podróżuje wraz ze swoimi zasobami.

Aby przenieść scenę Blender, zgromadź jej zależności wokół projektu, uczyń ścieżki przenośnymi i sprawdź kopię w miejscu, które nie może odnaleźć starych źródeł. Sam plik .blend nie jest dowodem kompletnego folderu. Nasz oryginalny pack Pli wciela tę metodę w życie z flakonem ceramicznym, teksturą do rozpowszechniania i niezależną kontrolą poza Blenderem.

FOLDER DO ZABRANIA · 1.0.0

Pli — przenośny folder Blender

Oryginalny generator dla Blender 4.5.x LTS, proceduralna tekstura, przepis, licencja, manifest i karta odbioru. Nie dostarczono żadnego .blend ani rendera: pozostają do odtworzenia i zweryfikowania w Blenderze.

Co zostało zweryfikowane

  • Walidacja plików z rozpakowanego ZIP, z odmową dostępu do źródeł oryginalnych.
  • Wykryto brakującą teksturę, zmienioną teksturę i ścieżkę zewnętrzną; kartę wypełniono na zaakceptowanej kopii.
  • Blender, render CPU, render GPU i wygląd sceny: nieuruchomione lub niesprawdzone.
01

Projekt Pli: przepis na scenę o precyzyjnie określonym zakresie

Pli to fikcyjny flakon wymyślony na potrzeby tego ćwiczenia: fioletowe ciało o miękkich krawędziach, satynowany pomarańczowy kołnierz, etykieta w szewrony i gliniana podstawa. Generator przewiduje światło studyjne i kompozycję pozostawiającą miejsce po lewej stronie. Buduje obiekty i materiały; jedynym obrazem zewnętrznym jest oryginalny wzór PNG o wymiarach 512 × 512 pikseli, wraz z programem, który go odtwarza. Nie jest potrzebny żaden model, HDRI, font ani plik klienta.

Celem jest Blender 4.5.x LTS z Cycles. Folder dotyczy obrazu statycznego, bez symulacji ani rozszerzeń. Generator odrzuca inną gałąź Blendera, aby ten wybór pozostał jednoznaczny. Do kontroli plików wystarczy Python 3.10 lub nowszy; do zbudowania sceny potrzebny jest Python wbudowany w Blendera.

Pli dostarcza generator do uruchomienia w Blenderze 4.5.x LTS. Pliki i przypadki błędów zostały sprawdzone w Pythonie 3.14.6; utworzenie sceny, jej otwarcie i renderowanie pozostają do przetestowania w Blenderze. Nie dostarczono żadnego pliku .blend ani rendera.

02

Przed kopiowaniem zdecyduj, co projekt ma odtworzyć

Zacznij od zidentyfikowania rezultatu: obraz statyczny, animacja czy seria wariantów. Zapisz oprogramowanie i jego wersję, silnik, aktywną kamerę, scenę, wymiary i ustawienia jakości. W przypadku animacji dodaj liczbę klatek na sekundę i wartość końcową włącznie. Scena, która się otwiera, niekoniecznie odtwarza te same tekstury, te same cache'e czy właściwe kadrowanie.

Pracuj na zamrożonej wersji i zachowaj oryginały. Oddziel wykorzystane zasoby od porzuconych poszukiwań; dwie niemal jednoimienne tekstury mogą wyjaśniać różnicę w materiale. Sprawdź także prawa do przenoszenia modeli, obrazów i bibliotek. Pack Pli udostępnia licencję MIT dla własnych skryptów, dokumentów, wzoru i opisanej geometrii; Twoje dodatki mogą mieć inne warunki.

W Pli plik scene.json pełni rolę karty startowej: wersja docelowa, spis dziesięciu obiektów, zależność graficzna, silnik, obraz 1 i miejsca docelowe wyników. Wskazuje również to, czego w tym projekcie nie ma: powiązanych bibliotek, fontów, cache'y i animacji. Zadeklarowany brak pozwala uniknąć wzięcia pustego folderu za zapomniany zasób.

03

Drzewo katalogów, w którym każdy plik ma swoją rolę

Zachowaj wersjonowany katalog główny, tutaj blender-v1, i rozpakuj archiwum przed rozpoczęciem pracy. Poniższy podział pozwala odnaleźć źródło obrazu, projekt do edycji i wynik do dostarczenia. Nie narzuca uniwersalnej konwencji: przyjmij przede wszystkim nazwy, które osoba przejmująca folder zrozumie bez Twojej historii wiadomości.

Rozpowszechniane źródła figurują w manifest.sha256.json wraz z ich rozmiarem i sumą kontrolną. Manifest wyklucza sam siebie, aby uniknąć odniesienia cyklicznego. Przyszłe pliki .blend, PNG i raporty są wynikami: po zatwierdzeniu będą musiały wejść do Twojego własnego spisu dostawy.

Organizacja packu Pli v1.0.0
LokalizacjaZawartośćKontrola do zapamiętania
01_sourcesOryginalny program wzoruPozwala odtworzyć teksturę bez Blendera
02_projetMiejsce docelowe .blendŻaden .blend nie jest dostarczany przed odtworzeniem
03_ressourcespli-chevron.png, kolor bazowy sRGBPlik zewnętrzny zachowany i przewidziany do włączenia
04_cachesNotatka o zakresieŻadnej symulacji dla tego obrazu statycznego
05_rendusMiejsce docelowe obrazówNie dostarczono żadnego rendera CPU ani GPU
06_livraisonSzablon odbioru i przyszłe raportySkopiuj szablon przed wypełnieniem
04

Sprawdź rozpakowany ZIP przed uruchomieniem Blendera

Z katalogu głównego rozpakowanego folderu uruchom walidator za pomocą niezależnego Pythona. Porównuje on trzynaście plików z manifestem, sprawdza receptę, ścieżki i PNG, a następnie analizuje składnię czterech skryptów. Oczekiwany wynik dla nienaruszonego pakietu to ok: true i kod wyjścia 0. Ta kontrola nie importuje bpy i nie generuje żadnego obrazu 3D.

Nasze testy zaczynają się od ZIP-a rozpakowanego w innej lokalizacji. Proces weryfikacji zezwala na odczyty wyłącznie w tej kopii i w katalogu używanego Pythona; próba dostępu do oryginalnej recepty jest wyraźnie odrzucana. Sukces nie zależy więc od tekstury po cichu odnalezionej w folderze roboczym.

Kod 1 wymusza przeczytanie listy błędów. Nie przepisuj odcisków, żeby pozbyć się ostrzeżenia. Wróć do nienaruszonego archiwum albo utwórz osobną wersję roboczą, jeśli chcesz zmodyfikować scenę. Identyczny odcisk dowodzi integralności pliku względem manifestu, a nie jego jakości wizualnej ani tożsamości autora.

Kontrola bez Blendera, z wyodrębnionego folderu
python validate_pack.py --root . --json
05

Odtwórz scenę i poproś o mały render na CPU

Poniższe polecenie to procedura do wykonania na maszynie z Blenderem 4.5.x LTS; nie została ona uruchomiona podczas tego przygotowania. Uruchom je w osobnym procesie: skrypt startuje z pustej sceny. W systemie Windows, jeśli blender nie znajduje się w zmiennej PATH, użyj pełnej ścieżki do pliku wykonywalnego; w PowerShell poprzedź tę ścieżkę w cudzysłowie znakiem &.

Generator najpierw sprawdza pack, tworzy obiekty, ładuje teksturę z kopii, wbudowuje ją i zapisuje 02_projet/renderparcel_pli_v1.blend. Zapisany plik przewiduje Cycles CPU, 1200 × 750 pikseli, 64 próbki i obraz 1. Opcja --render-preview żąda następnie pliku PNG o wymiarach 480 × 300 pikseli i 16 próbkach, bez odszumiania. Te liczby to ustawienia, a nie pomiary wydajności.

Raport reconstruction.json jest zapisywany po udanych operacjach i określa, czy render został faktycznie wykonany. Aby zbudować tylko plik .blend, usuń -- --render-preview. Skrypt odmawia nadpisania istniejących wyników: druga próba odbywa się w nowym rozpakowaniu. Opcja --python-exit-code 1 pozwala wykryć wyjątek skryptu po kodzie wyjścia procesu.

Rekonstrukcja i podgląd CPU — do uruchomienia w Blenderze
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-preview
06

Ścieżki względne: opisz położenie, nie zapominając o kopii

W Blenderze ścieżka zaczynająca się od // odnosi się do lokalizacji pliku .blend. Ponieważ projekt Pli będzie w 02_projet, jego teksturę można wskazać jako //../03_ressources/pli-chevron.png. Folder zasobów podróżuje razem z nim. Generator i tak zaczyna od ścieżki bezwzględnej rozwiązanej w kopii, wbudowuje obraz, a następnie zapisuje ścieżkę względną przed zapisem.

W przypadku istniejącego projektu najpierw zapisz plik .blend w folderze transferowym. W File → External Data, Make Paths Relative przekształca odwołania; ta operacja nie kopiuje zasobów. Report Missing Files pomaga wykryć zerwane łącza. Find Missing Files szuka plików w wybranym folderze i może naprawić odwołania, zamieniając je na ścieżki bezwzględne: sprawdź je ponownie przed transferem.

Nie myl „znaleziono na tej maszynie” z „obecne w folderze”. Tekstura wciąż dostępna w Pobranych może maskować przeoczenie. Po skopiowaniu otwórz projekt w środowisku, w którym ta dawna lokalizacja nie może już zaspokoić łącza, zachowując jednocześnie niezależną kopię zapasową.

07

Wbuduj kwalifikujące się zasoby, zinwentaryzuj pozostałe

Opcja Pack Resources pozwala dołączyć kwalifikujące się zasoby do pliku .blend; zapisanie pliku sprawia, że operacja staje się skuteczna w przekazywanym pliku. Nie zbiera to jednak wszystkich zależności: wideo jest udokumentowanym kontrprzykładem. Dołączone biblioteki mają osobną komendę wbudowania. Zrób więc listę tego, co jest wbudowane, a co musi pozostać obok projektu.

W przypadku Pli zachowanie zewnętrznego pliku PNG ułatwia jego edycję, natomiast jego wbudowanie powinno pozwolić odnaleźć wzór w zapisanym pliku. Po zmianie tekstury trzeba zaktualizować zasób faktycznie używany, a następnie zapisać właściwą wersję. Samo zastąpienie sąsiedniego PNG nie dowodzi, że plik .blend korzysta z jego nowych pikseli.

Decyzje transferowe dla Pli i jej adaptacji
ZasóbWybór paczkiJeśli rozszerzasz scenę
Wzór PNGOsobne źródło i planowane wbudowaniePonownie wczytaj zmodyfikowaną teksturę, sprawdź i zapisz
Geometria i materiały proceduralneTworzone przez skryptZachowaj wersję skryptu lub edytowany projekt
Dołączona biblioteka .blendBrakZinwentaryzuj bibliotekę i jej własne zależności
Wideo, dźwięk lub cacheBrakZachowaj i kontroluj niezbędne pliki zewnętrzne
08

Ponowne otwarcie w drugim procesie i wypełnienie prawdziwego odbioru

Po udanej przebudowie inspect_scene.py otwiera plik .blend w drugim procesie Blendera, z wyłączonym wykonywaniem jego wewnętrznych skryptów. Sprawdza inwentarz, kamerę, ustawienia wyjścia, transformację AgX, wbudowaną teksturę i jej ścieżkę względną. Jego raport opisuje otwarcie i dane; nie poświadcza jakości renderu.

Otwórz uzyskany plik PNG w przeglądarce obrazów. Sprawdź, czy flakon pozostaje w całości w kadrze, czy etykieta pokazuje wzór w kolorze kremowym, fioletowym i pomarańczowym, czy kontakt z podstawką jest czytelny i czy nie pojawia się żadna tekstura w kolorze magenta. Te kryteria to intencje odbioru; nie publikujemy obliczonego obrazu wzorcowego Blendera dla tej paczki.

Skopiuj 06_livraison/modele-reception.csv do 06_livraison/reception-executee.csv, a następnie wypełnij nową kartę. Zachowaj szablon w nienaruszonym stanie: należy do manifestu. Walidator akceptuje wypełnioną kopię bez modyfikowania sum kontrolnych źródeł, co potwierdził nasz test odbioru. Następnie zinwentaryzuj tę kartę i zatwierdzone wyniki w swoim archiwum dostawy.

Inspekcja po rekonstrukcji — drugi proces Blendera
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.py
09

Brakująca zależność musi zatrzymać kontrolę

Negatywne ćwiczenie w ramach paczki usuwa plik pli-chevron.png z kopii próbnej, nie naruszając źródeł. Walidator zwraca wówczas kod 1 i wskazuje zarówno plik nieobecny w inwentarzu, jak i brakującą zależność przepisu. Generator rozpoczyna od tej samej kontroli: musi odmówić kontynuowania z tą niekompletną kopią.

Inna próba zmienia pierwszy bajt pliku PNG; kontrola wykrywa inną sumę kontrolną i nieprawidłową sygnaturę obrazu. Trzecia zastępuje jego ścieżkę odwołaniem wychodzącym poza folder, które również zostaje odrzucone. Te próby sprawdzają konkretne błędy transferu. Nie symulują ani otwarcia Blendera, ani zniknięcia cache w animacji.

Aby powtórzyć ćwiczenie, pracuj wyłącznie na dodatkowym wypakowaniu i zachowaj nienaruszoną kopię. Poprawka polega na odnalezieniu właściwego zasobu i jego oczekiwanej lokalizacji. Inna tekstura o tej samej nazwie nie spełnia kontroli integralności.

10

Dodanie animacji zmienia zakres kontroli

Scena Pli ma tylko jeden obraz i nie potrzebuje żadnego cache'u. Jeśli dodasz do niej dym, tkaninę lub symulację, udokumentuj typ cache'u, jego wersję obliczeniową, lokalizację oraz cały użyteczny zakres. Mechanizmy wstępnego obliczania zależą od systemu fizycznego; nie uogólniaj zachowania jednego cache'u na wszystkie pozostałe.

Zamroź wynik przed jego skopiowaniem. W przypadku sekwencji sprawdź początek, koniec, zmiany dekoracji lub symulacji, ale też obecność każdego pliku pośredniego. Trzy wizualnie poprawne obrazy nie dowodzą, że wszystkie 96 plików animacji od 1 do 96 jest dostępnych. Wskaż wyraźnie, czy cache jest dostarczany, czy musi zostać przeliczony, z jakimi parametrami i jakimi danymi wejściowymi.

Zastosuj tę samą logikę do sekwencji tekstur, wolumenów, dźwięków i mediów montażowych. Nie usuwaj jedynych źródeł po utworzeniu ZIP-a: zachowaj je do momentu otwarcia kopii, sprawdzenia wyników i ich odzyskania.

11

Kolor, pamięć i czas: mierzenie rzeczywistego projektu

Wzór Pli służy do koloru bazowego i jest zadeklarowany jako sRGB. Mapa opisująca normalne lub przesunięcie ma inną rolę; jej interpretacja musi odpowiadać danym. Zachowaj także transformację wyświetlania i ekspozycję podczas porównywania wyników. Różnica kolorów może wynikać z łańcucha wyświetlania, niezależnie od mocy obliczeniowej.

Rozmiar ZIP nie odzwierciedla zapotrzebowania na pamięć GPU. Ocena geometrii, faktycznie wczytane tekstury i etapy renderowania liczą się bardziej niż liczba plików w archiwum. Mały podgląd na CPU nie przewidzi ani szczytowego zużycia pamięci, ani czasu finalnego renderowania na GPU. Zmierz pełny, reprezentatywny wynik w finalnej rozdzielczości, zanim wybierzesz konfigurację.

Warsztat 3D pomaga ogarnąć tę kontrolę. Następnie porównaj konfiguracje GPU pod kątem zgodności i zaobserwowanego szczytu, z marginesem dopasowanym do projektu. Wybierz 3, 7 lub 30 dni w konfiguratorze, aby pokryć otwarcie, testy, poprawki, obliczenia i odzyskiwanie; żadne z tych okien samo w sobie nie gwarantuje terminu renderowania. Przewodnik po eksporcie prowadzi pracę aż do plików do dostarczenia.

12

Co zostało zweryfikowane, a co pozostało do wykonania

Siedem poniższych kontroli zostało wykonanych w systemie Windows z Pythonem 3.14.6. Pakiet zawiera czternaście plików, w tym manifest; trzynaście plików jest objętych jego odciskami. Tekstura została odtworzona i porównana bajt po bajcie w tym środowisku. Ta równość PNG nie dowodzi identyczności renderowania 3D między wersjami lub sprzętem.

Kontrole dotyczą plików, ich zależności i błędów przesyłania. Generowanie .blend, inspekcja sceny oraz renderowanie na CPU i GPU nie zostały przetestowane. README podaje procedurę ich weryfikacji w Blender 4.5.x LTS.

Wyniki faktycznie uzyskane na pakiecie v1.0.0
PróbaWynikZakres
Rozpakowany ZIP, oryginały niedostępneKod 0Integralność, odbiór, PNG i składnia Pythona
Kopia karty, następnie wprowadzenieKod 0Źródła pozostają kontrolowane po odbiorze
Tekstura usunięta z kopiiOczekiwano kodu 1Zidentyfikowano brakującą zależność
Zniekształcona teksturaOczekiwano kodu 1Odrzucono odcisk i podpis PNG
Ścieżka poza folderemOczekiwano kodu 1Odrzucono odwołanie zewnętrzne
Rekonstrukcja wzoruIdentyczne bajtyTekstura proceduralna, nie render z Blendera
Generator uruchamiany samym PythonemOczekiwana odmowaWymagany Blender, brak uruchomienia bpy
NOTES PRODUKCYJNE

Aby posunąć swój projekt do przodu.

Wszystkie zeszyty
ABY PÓJŚĆ DALEJ

Twoje pytania.

Dlaczego pack nie zawiera już pliku .blend?+

Pack dostarcza oryginalny generator i jego zasoby. Utworzenie i otwarcie scenki pozostają do przetestowania: nie ma dołączonego żadnego pliku .blend ani rendera. Na komputerze z Blenderem 4.5.x LTS plik README wyjaśnia, jak utworzyć plik .blend, a następnie sprawdzić go w drugim procesie.

Czy plik .blend z wbudowanymi zasobami może zastąpić cały folder?+

To zależy od użytych danych. Niektóre zasoby można wbudować; inne, w szczególności wideo, pozostają zewnętrzne. Prowadź jawny spis i kontroluj zależności własnej scenki. Pack Pli zachowuje swoją teksturę źródłową, aby umożliwić modyfikacje.

Dlaczego manifest zgłasza moje zmiany jako błąd?+

Opisuje pliki rozprowadzane w wersji 1.0.0. Zmiana skryptu, przepisu lub tekstury normalnie zmienia jej odcisk. Pracuj w nowej wersji i utwórz jej inwentarz. Przy odbiorze skopiuj szablon CSV do reception-executee.csv: to wyjście pozostaje odrębne od kontrolowanego szablonu.

Czy ten pakiet pozwala wybrać bezpośrednio kartę GPU?+

Nie. Służy do przygotowania i kontroli transferu. Dla tej sceny nie zmierzono żadnego zapotrzebowania na VRAM ani czasu GPU. Przetestuj swoją pełną produkcję, jej zgodność i szczytowe zużycie pamięci, zanim określisz rozmiar wynajmu.

Zachowaj te punkty odniesienia w swoim projekcie.

Otwórz mój notatnik