GPU для ваших творінь · криптовалюта без KYC Дізнатися більше
ЗОШИТ 01 · ОРГАНІЗАЦІЯ

Сцена Blender, яка подорожує разом зі своїми ресурсами.

Щоб перенести сцену Blender, зберіть її залежності навколо проєкту, зробіть шляхи переносними та перевірте копію в місці, яке не може знайти старі джерела. Сам лише файл .blend не є доказом повноти теки. Наш оригінальний пакет Pli втілює цей метод на практиці: керамічний флакон, текстурa, яку можна розповсюджувати, та незалежна перевірка поза Blender.

ТЕКА ДЛЯ ЗАВАНТАЖЕННЯ · 1.0.0

Pli — портативна папка Blender

Оригінальний генератор для Blender 4.5.x LTS, процедурна текстура, рецепт, ліцензія, маніфест і картка приймання. Жоден .blend чи рендер не надається: їх потрібно відтворити й перевірити у Blender.

Що було перевірено

  • Перевірка файлів із розпакованого ZIP, з відмовою в доступі до оригінальних джерел.
  • Відсутня текстура, змінена текстура та зовнішній шлях виявлено; картку заповнено на прийнятій копії.
  • Blender, рендеринг на CPU, рендеринг на GPU та вигляд сцени: не виконувалися або не контролювалися.
01

Проєкт Pli: рецепт сцени з чітко визначеними межами

Pli — це вигаданий флакон, створений для цієї вправи: фіолетовий корпус із м’якими гранями, сатинова оранжева коларка, етикетка із шевронами та глиняна підставка. Генератор передбачає студійне світло й композицію із вільним місцем ліворуч. Він будує об’єкти та матеріали; єдине зовнішнє зображення — це оригінальний візерунок PNG розміром 512 × 512 пікселів разом із програмою, яка його відтворює. Жодні моделі, HDRI, шрифти чи клієнтські файли не потрібні.

Цільова платформа — Blender 4.5.x LTS із Cycles. Пакет стосується статичного зображення, без симуляції чи розширень. Генератор відмовляється працювати з іншою гілкою Blender, щоб цей вибір залишався явним. Для перевірки файлів достатньо Python 3.10 або новішого; для побудови сцени потрібен Python, вбудований у Blender.

Pli надає генератор для запуску з Blender 4.5.x LTS. Файли та випадки помилок було перевірено під Python 3.14.6; створення сцени, її відкриття та рендеринг ще належить протестувати в Blender. Жодного файлу .blend чи рендера не надається.

02

Перед копіюванням визначте, що проєкт має відтворювати

Почніть із визначення кінцевого результату: статичне зображення, анімація чи серія варіантів. Запишіть програмне забезпечення та його версію, рушій, активну камеру, сцену, розміри та параметри якості. Для анімації додайте частоту кадрів і включні межі. Сцена, яка відкривається, не обов’язково відтворює ті самі текстури, ті самі кеші чи правильне кадрування.

Працюйте над зафіксованою версією та зберігайте оригінали. Відокремте використані ресурси від покинутих пошуків; дві текстури з майже однаковими назвами можуть пояснити різницю в матеріалі. Перевірте також права на передачу моделей, зображень і бібліотек. Пакет Pli надає ліцензію MIT для власних скриптів, документів, візерунка та описаної геометрії; ваші доповнення можуть мати інші умови.

У Pli файл scene.json відіграє роль початкової картки: цільова версія, інвентар із десяти об’єктів, графічна залежність, рушій, зображення 1 та призначення виводів. Він також указує те, чого в цьому проєкті немає: пов’язаних бібліотек, шрифтів, кешів та анімації. Задекларована відсутність не дає сплутати порожню теку із забутим ресурсом.

03

Структура тек, де кожен файл має свою роль

Тримайте версіонований корінь, тут blender-v1, і розпакуйте архів перед роботою. Наведений нижче поділ дає змогу знайти джерело зображення, редагований проєкт і результат для передачі. Він не нав’язує універсальної конвенції: головне — обирайте назви, які зрозуміє людина, що бере теку без вашої історії повідомлень.

Розповсюджувані джерела наведено в manifest.sha256.json разом з їхнім розміром і хешем. Маніфест виключає сам себе, щоб уникнути циклічного посилання. Майбутні .blend, PNG та звіти є виводами: після затвердження їх потрібно буде внести до вашого власного інвентарю передачі.

Організація пакета Pli v1.0.0
РозташуванняВмістЩо слід перевірити
01_sourcesОригінальна програма візерункаДозволяє відтворити текстуру без Blender
02_projetПризначення .blendЖодного .blend не надано до відтворення
03_ressourcespli-chevron.png, базовий колір sRGBЗовнішній файл збережено й передбачено для вбудовування
04_cachesПримітка про межіЖодної симуляції для цього статичного зображення
05_rendusПризначення зображеньЖодного рендера на CPU чи GPU не надано
06_livraisonШаблон приймання та майбутні звітиСкопіюйте шаблон перед заповненням
04

Перевірити розпакований ZIP перед запуском Blender

З кореня розпакованої теки запустіть валідатор за допомогою окремого Python. Він порівнює тринадцять файлів із маніфестом, перевіряє рецепт, шляхи та PNG, а потім аналізує синтаксис чотирьох скриптів. Очікуваний результат для непошкодженого пакета — ok: true та код виходу 0. Ця перевірка не імпортує bpy і не створює жодного 3D-зображення.

Наші тести виходять із ZIP, розпакованого в іншому місці. Процес перевірки дозволяє читання лише в цій копії та в теці використаного Python; спробу доступу до оригінального рецепта явно відхилено. Отже, успіх не залежить від текстури, непомітно знайденої в теці створення.

Код 1 вимагає прочитати список помилок. Не переписуйте відбитки, щоб прибрати попередження. Візьміть непошкоджений архів або створіть окрему робочу версію, якщо хочете змінити сцену. Ідентичний відбиток доводить цілісність файлу щодо маніфесту, а не його візуальну якість чи особу автора.

Перевірка без Blender, з розпакованої теки
python validate_pack.py --root . --json
05

Відтворити флакон і запросити невеликий рендер на CPU

Наступна команда — це процедура для виконання на машині з Blender 4.5.x LTS; під час цієї підготовки її не запускали. Виконайте її в окремому процесі: скрипт починає з порожньої сцени. У Windows, якщо blender відсутній у PATH, використайте повний шлях до виконуваного файлу; у PowerShell поставте перед цим шляхом у лапках символ &.

Генератор спершу перевіряє пакет, створює об’єкти, завантажує текстуру з копії, вбудовує її та зберігає 02_projet/renderparcel_pli_v1.blend. Збережений файл передбачає Cycles CPU, 1 200 × 750 пікселів, 64 семпли та зображення 1. Опція --render-preview потім запитує PNG розміром 480 × 300 пікселів і 16 семплів, без шумозаглушення. Ці числа — це налаштування, а не вимірювання продуктивності.

Звіт reconstruction.json записується після успішних операцій і вказує, чи рендер справді виконувався. Щоб зібрати лише .blend, приберіть -- --render-preview. Скрипт відмовляється перезаписувати наявні виводи: другий запуск виконується в новій розпакованій копії. Опція --python-exit-code 1 дозволяє виявити виняток скрипту за кодом виходу процесу.

Реконструкція та попередній перегляд на CPU — запускати з Blender
blender --background --factory-startup --python-exit-code 1 --python generate_scene.py -- --render-preview
06

Відносні шляхи: описати розташування, не забувши про копію

У Blender шлях, що починається з //, стосується розташування .blend. Оскільки проєкт Pli буде в 02_projet, його текстуру можна позначити як //../03_ressources/pli-chevron.png. Тека ресурсів подорожує разом із ним. Генератор усе ж починає з абсолютного шляху, розв’язаного в копії, вбудовує зображення, а потім записує відносний шлях перед збереженням.

Для наявного проєкту спершу збережіть .blend у теці передавання. У File → External Data Make Paths Relative перетворює посилання; ця операція не копіює ресурси. Report Missing Files допомагає виявити розірвані зв’язки. Find Missing Files шукає файли в обраній теці й може відновити посилання як абсолютні шляхи: перевірте їх знову перед передаванням.

Не плутайте «знайдено на цій машині» і «наявне в теці». Текстура, ще доступна в Завантаженнях, може приховати забуття. Після копіювання відкрийте проєкт у середовищі, де це старе розташування вже не може задовольнити зв’язок, зберігаючи при цьому незалежну резервну копію.

07

Вбудувати придатні ресурси, решту внести до опису

Pack Resources дає змогу включити придатні ресурси у файл .blend; збереження робить цю операцію чинною у переданому файлі. Це не збирає всі залежності: відео є задокументованим контрприкладом. Для пов’язаних бібліотек існує окрема команда вбудовування. Тож складіть перелік того, що вбудовано, і того, що має залишитися поряд із проєктом.

Для Pli збереження зовнішнього PNG полегшує його редагування, тоді як вбудовування має дозволити віднайти візерунок у збереженому файлі. Після зміни текстури потрібно оновити фактично використовуваний ресурс, а потім зберегти правильну версію. Сама лише заміна сусіднього PNG не доводить, що .blend використовує його нові пікселі.

Рішення щодо перенесення для Pli та його адаптацій
РесурсВибір пакетаЯкщо ви розширюєте сцену
Візерунок PNGОкреме джерело та заплановане вбудовуванняПерезавантажити змінену текстуру, перевірити й зберегти
Геометрія та процедурні матеріалиСтворені скриптомЗберегти версію скрипту або відредагований проєкт
Пов’язана бібліотека .blendЖодногоІнвентаризувати бібліотеку та її власні залежності
Відео, звук або кешЖодногоЗберегти й перевірити потрібні зовнішні файли
08

Повторно відкрити в другому процесі та заповнити справжній акт приймання

Після успішної реконструкції inspect_scene.py відкриває .blend у другому процесі Blender із вимкненим виконанням його внутрішніх скриптів. Він контролює інвентар, камеру, параметри виводу, перетворення AgX, вбудовану текстуру та її відносний шлях. Його звіт описує відкриття та дані; він не засвідчує якості рендеру.

Відкрийте отриманий PNG у програмі для перегляду зображень. Перевірте, що флакон повністю залишається в кадрі, що етикетка показує кремовий, фіолетовий та оранжевий візерунок, що контакт із підставкою читабельний і що жодна пурпурова текстура не з’являється. Ці критерії є намірами приймання; ми не публікуємо розрахованого еталонного зображення Blender для цього пакета.

Скопіюйте 06_livraison/modele-reception.csv у 06_livraison/reception-executee.csv, а потім заповніть цю нову форму. Залиште зразок недоторканим: він належить маніфесту. Валідатор приймає заповнену копію, не змінюючи відбитків джерел, що й перевірив наш тест приймання. Потім інвентаризуйте цю форму та схвалені виводи у вашому архіві доставки.

Перевірка після реконструкції — другий процес Blender
blender --background --factory-startup --python-exit-code 1 --python inspect_scene.py
09

Відсутня залежність має зупиняти перевірку

Негативна вправа з пакетом вилучає pli-chevron.png з пробної копії, не торкаючись джерел. Валідатор тоді повертає код 1 і визначає водночас файл, відсутній в інвентарі, та відсутню залежність рецепта. Генератор починає з цієї самої перевірки: він має відмовитися продовжувати з цією неповною копією.

Інша спроба змінює перший байт PNG; перевірка виявляє інший відбиток і недійсний підпис зображення. Третя замінює його шлях на посилання, що виходить за межі теки, яке також відхиляється. Ці спроби перевіряють конкретні дефекти перенесення. Вони не імітують ні відкриття Blender, ні зникнення кешу в анімації.

Щоб повторити вправу, працюйте лише з додатковою копією та збережіть недоторканий оригінал. Виправлення полягає в тому, щоб віднайти правильний ресурс та його очікуване розташування. Інша текстура з тією самою назвою не задовольняє перевірку цілісності.

10

Додавання анімації змінює межі перевірки

Сцена Pli має лише одне зображення і не потребує жодного кешу. Якщо ви додаєте до неї дим, тканину чи симуляцію, задокументуйте тип кешу, його версію обчислення, розташування та весь корисний діапазон. Механізми попереднього обчислення залежать від фізичної системи; не узагальнюйте поведінку одного кешу на всі інші.

Зафіксуйте результат перед його копіюванням. Для послідовності перевірте початок, кінець, зміни декорацій чи симуляції, а також наявність кожного проміжного файлу. Три візуально коректні зображення не доводять, що всі 96 файлів анімації з 1 по 96 доступні. Чітко вкажіть, чи кеш постачається, чи його потрібно перерахувати, з якими параметрами та якими вхідними даними.

Застосуйте ту саму логіку до послідовностей текстур, об'ємів, звуків і медіа для монтажу. Не видаляйте єдині джерела після створення ZIP: зберігайте їх до відкриття копії, перевірки виходів та їх отримання.

11

Колір, пам'ять і тривалість: вимірюємо справжній проєкт

Візерунок Pli використовується для базового кольору та оголошується як sRGB. Карта, що описує нормалі або зміщення, має іншу роль; її інтерпретація повинна відповідати її даним. Також зберігайте перетворення відображення та експозицію під час порівняння результатів. Різниця в кольорі може походити від ланцюжка відображення, незалежно від обчислювальної потужності.

Вага ZIP не вказує на потребу в пам'яті GPU. Оцінена геометрія, фактично завантажені текстури та етапи рендерингу важать більше, ніж кількість файлів в архіві. Маленький попередній перегляд на CPU не передбачає ні піку пам'яті, ні тривалості фінального рендерингу на GPU. Виміряйте повний репрезентативний результат у фінальній роздільній здатності, перш ніж обирати конфігурацію.

3D-майстерня допомагає окреслити цю перевірку. Потім порівняйте конфігурації GPU за сумісністю та спостережуваним піком, із запасом, адаптованим до проєкту. Оберіть 3, 7 або 30 днів у конфігураторі, щоб охопити відкриття, тести, повернення, обчислення та відновлення; жодне з цих вікон саме по собі не гарантує термін рендерингу. Посібник з експорту продовжує роботу до файлів, готових до доставки.

12

Що перевірено, а що ще належить виконати

Сім перевірок нижче виконано у Windows із Python 3.14.6. Пакет містить чотирнадцять файлів, включно з маніфестом; тринадцять файлів охоплено його відбитками. Текстуру відновлено та порівняно побайтово в цьому середовищі. Ця рівність PNG не доводить ідентичності 3D-рендерингу між версіями чи обладнанням.

Перевірки стосуються файлів, їхніх залежностей і помилок передавання. Генерацію .blend, огляд сцени та рендеринг на CPU чи GPU не тестовано. У README наведено процедуру для їх перевірки в Blender 4.5.x LTS.

Результати, реально отримані на пакеті v1.0.0
ТестРезультатОбсяг
ZIP розпаковано, оригінали недоступніКод 0Цілісність, приймання, PNG і синтаксис Python
Копіювання картки, потім введенняКод 0Джерела залишаються під контролем після отримання
Текстуру вилучено з копіїОчікується код 1Виявлено відсутню залежність
Текстуру зміненоОчікується код 1Відбиток і підпис PNG відхилено
Шлях виходить за межі текиОчікується код 1Зовнішнє посилання відхилено
Реконструкція візерункаІдентичні байтиПроцедурна текстура, не рендер Blender
Генератор запускається лише через PythonОчікувана відмоваПотрібен Blender, жодного запуску bpy
ЗАПИСНИКИ ПРОДАКШНУ

Щоб просунутися у вашому проєкті.

Усі блокноти
ЩОБ ЗАЙТИ ДАЛІ

Ваші запитання.

Чому пакет не містить уже готового файлу .blend?+

Пакет надає оригінальний генератор та його ресурси. Створення й відкриття сцени ще потрібно перевірити: жодного .blend чи рендера не додано. На машині з Blender 4.5.x LTS README пояснює, як створити .blend, а потім переглянути його в окремому процесі.

Чи може .blend із вбудованими ресурсами замінити всю теку?+

Це залежить від використаних даних. Деякі ресурси можна вбудувати; інші, зокрема відео, залишаються зовнішніми. Зберігайте явний перелік і контролюйте залежності вашої власної сцени. Пакет Pli зберігає свою вихідну текстуру, щоб уможливити зміни.

Чому маніфест позначає мої зміни як помилку?+

Він описує файли, що розповсюджуються у версії 1.0.0. Зміна скрипту, рецепта чи текстури зазвичай змінює його відбиток. Працюйте в новій версії та формуйте її інвентар. Для приймання скопіюйте шаблон CSV у reception-executee.csv: цей вивід залишається окремим від контрольованого шаблону.

Чи дозволяє цей пакет безпосередньо обрати відеокарту GPU?+

Ні. Він слугує для підготовки та контролю передачі. Для цієї сцени не вимірювалися ні потреба у VRAM, ні час GPU. Перевірте ваше повне виробництво, його сумісність і пік пам'яті, перш ніж визначати обсяг оренди.

Збережіть ці орієнтири у своєму проєкті.

Відкрити мій блокнот