На CBB – Telegram
На CBB
109 subscribers
98 photos
70 videos
5 files
181 links
Блог о развитии компьютерной графики.
Субъективные заметки, наблюдения, исследования.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
#houdini #tips #tricks

Как сделать навигационные ссылки на "неактивные" элементы в Houdini документации?

Или трюк о том когда очень не хочется делать скриншот или объяснять расположение текста, а просто кинуть ссылку сразу на это в разделе.

Документация Houdini сверстана так, что HTML атрибут href имеют только в основном заголовки, а иногда все таки хочется пруфануть иметь "якорь" на какой-то кусок текста в доке.

В обычной практике тег <a> с атрибутом href применяется для создания навигационных ссылок на веб-страницах. Если значение href равно "#", то при нажатии на ссылку браузер переместится в начало текущей страницы.
Вот эту особенность я активно эксплуатирую на видео, мы будем дописывать в конце адреса страницы #sometext с названием элемента которое будем получать из того, что может отдавать Inspect Menu в вашем браузере. Только название правильно нужно написать.

Это будет работать для очень многих вещей будь то атрибут в названии ноды, переменные окружения, аргументы утилит, методы классов и т.д.
🤔31
#houdini #usd #pixar #github

В ветке dev_houdini21.0_USD25.05 репозитория PixarUSD заметил несколько исправлений старых проблем:

UsdSkelImaging Hydra 2.0: block normals to match Hydra 1.0.
Забавный фикс на 5 строчек который рекомпьютит нормали UsdSkel после скиннинга, и теперь в H21 это должно будет работать правильно и соответствовать поведению Hydra 1.0

Preserve primType for materials under instancers
Решена проблема сохранения material primType на примах под инстансами когда они являются: а) прототипами нативного экземпляра или б) потомком поинт инстансера. Это позволяет примам продолжать функционировать как материалы.

Implement a specialization of UsdImagingDataSourceAttribute<SdfAssetPath> that properly resolves UDIM relative paths.
Резолв юдимов в относительных путях

Ну и поскольку H21 свичнулся на MaterialX 1.39 станет возможно использовать этот PR:
Adds uniform string/filename signatures to UsdPrimvarReader
🤔42🎉1
#houdini #opencl #vex #github #vellum

Это ранний WIP плагина для моделирования soft body - Vertex Block Descent на OpenCL для Houdini. Автор пишет, что этот солвер можно называть в некотором роде - Vellum 2.0.

VBD - это метод моделирования soft body похожий на тот который используется в Vellum (XPBD), но предположительно быстрее и лучше в различных отношениях.
Автор хотел протестировать это, сделав свою реализацию для сравнения с оригинальным Vellum. Более подробное описание есть в README странички на гите. OpenCL код переделана на современный манер и использует новый синтакис @KERNEL{}

В настоящее время он поддерживает только mass-spring constraint с основными идеями взятыми из другого проекта TinyVBD, с neo-hookean (tetrahedral) в процессе и пока не поддерживает коллижены.

Работа была спроектирована так же, как Vellum'е. Вы можете использовать констрейны Vellum, но они будут переименованы в констрейны mass-spring.

Версия OpenCL для экспериментов и VEX для отладки. Обе версии включены в файлы HIP. Компилировать ничего не надо, просто установить HDA и попробовать его в деле и можно поизучать исходники.

https://github.com/MysteryPancake/Houdini-VBD?tab=readme-ov-file
🤔9👏2👍1
#nvidia #github #render #pbr

"Зеленые" выкатили бетy для значительной компрессии PBR текстур на основе нейронок.

Neural Texture Compression (NTC) - это алгоритм, предназначенный для сжатия всех текстур PBR, используемых для одного материала. Это работает лучше всего, когда каналы текстуры коррелируют друг с другом, например, детали в альбедо мапе соответствуют деталям в нормал мапе. До 16 каналов текстуры могут быть сжатыми в один набор текстур NTC. Типичные материалы PBR имеют 9-10 каналов: 3x альбедо, 3x нормали, металличность, шероховатость, амбиент оклюжен, опасити.

Во время сжатия исходные данные текстуры преобразуются в комбинацию весов для небольшой нейронной сети (декодер) и тензора латентных элементов или признаков, которые отбираются и проходят через декодер для реконструкции цветов текстуры. Процессы выборки и декодирования достаточно быстрые, чтобы использовать их непосредственно в шейдерах, которые обычно отбирают текстуры материала, таких как базовые pixel shader или ray tracing hit shaders.

Если мы представим вариант компрессии для разрешение текстуры 2K (и проигнорируем цепочки MIP), мы можем вычислить отпечаток текстуры бандла в различных точках потока данных:

Bundle Compression Disk Size PCI-E Traffic VRAM Size
Raw Image 32.00 MB 32.00 MB 32.00 MB
BCn Compressed 10.00 MB 10.00 MB 10.00 MB
NTC-on-Load* 1.52 MB 1.52 MB 10.00 MB
NTC-on-Sample 1.52 MB 1.52 MB 1.52 MB


Это выглядит как подходящий кандидат на роль CLI инструмента для TOP контекста или разработки подходящей библиотеки Houdini которую будет использовать рендер.
Из простых способов применения сейчас это возможно архивация проектов.

https://github.com/NVIDIA-RTX/RTXNTC/blob/main/docs/CommandLineTool.md
ntc-cli --loadImages <input-dir> \
--generateMips \
--compress \
--bitsPerPixel <value> \ # can be between 0.5 and 20
--decompress
--saveCompressed <file.ntc>

# Short version
ntc-cli <input-dir> -g -c -b <value> -D -o <file.ntc>


https://github.com/NVIDIA-RTX/RTXNTC
👍5🔥1👏1🤔1
#3dsmax #whatsnew

Шел 2025...время когда AI вовсю на пятки наступает по всем фронтам, все думают только о том как быть первыми в этом направлении или занять прочную нишу в будущем. В Автостоле тоже не сидят сложа руки, и поэтому завезли AttribTransfer, спустя 20 лет!
😁6
#usd #github #proposals

Докатились до USD неплохие пропозалы, но пока в драфте. И хотя PR это зачастую предложение, однако некоторые из них вполне доходят до реализованных идей, а так же это простой способ посмотреть, а куда движется комньюнити и чего оно хочет.

Вот несколько интересных из них:

[Add Gaussian Splats API schema]
PR который добавляет поддержку Gaussians (Splats) к UsdGeompoints.

[Physical Lightning]
Предложение добавляет схему, позволяющую использовать и заменять абсолютные, физические единицы в освещении.
PR в значительной степени вдохновлен Physlight работы Weta которую они демонстрировали на "Планета Обезьян", но также добавляет поддержку для указания освещения в радиометрических единицах.

Предложение содержит больше деталей, но суть в том, что он может предложить интерфейс для пользователей, чтобы работать в фото/радиометрических единицах в любом приложении, поддерживающем OpenUSD, и сделать необходимую математику в USD. Еще один шаг навстречу реализму.
Есть видео сцены сделанная в среде Omniverse демонстрирующая эту идею.

[Initial LOD proposal]
PR определяет схему API для управления уровнем детализации (LOD) на этапах USD. API LOD позволяет рендерерам эффективно переключаться между различными уровнями детализации активов на основе настраиваемых критериев, таких как расстояние, размер экрана или явный выбор.

Этот подход позволяет оптимизировать производительность рендеринга при сохранении визуального качества там, где это необходимо. Предложение является модернизацией первоначального предложения Ubisoft по LOD, которое включено в качестве вспомогательной документации.

[Multiple Animation Support for USD]
PR предполагает добавление к USDSkel, которое позволит привязывать несколько анимаций к скелету.

Статусы PR удобно отслеживать в виде Kanban доски:
https://github.com/orgs/PixarAnimationStudios/projects/1/views/2

Пожалуй интереснее самих предложений это их обсуждение, когда даже сама формулировка некоторых терминов вызывает много вопросов, а за ним и горение задниц.
🤔1
🤣8💯1
#houdini #ayon #github #opensource

Ну вот кстати хоть и опенсорс, но у AYON есть на что посмотреть в плане переиспользования стандартной библиотеки или модулей USD или просто что-то "подрезать" для своих ассетов или служебных инструментов.
Проект использует большое количество служебных валидаторов или коллектилок на любой почти вкус.

https://github.com/ynput/ayon-houdini/tree/949d705c22a9be2b21b5109a5f84641c3942fdd4/client/ayon_houdini/plugins/publish
2
#houdini #siggraph #github #blender

Perlin Noise является неотъемлемым инструментом для создания процедурных текстур для компьютерной графики и широко используется во многих отраслях и приложениях из-за его простоты, скорости и управляемости.

Презентация представляет два простых изменения алгоритма, который позволяет использовать анизотропию в выходном шуме. Эти небольшие изменения открывают новые процессы с процедурными текстурами, а также простые визуализации векторных полей в различных измерениях.

Кому интересно, в репе есть небольшой пейпер с доклада на Siggraph 2025 как разрабатывали Steerable Perlin Noise для Moana 2, а так же сцены с реализациями для разных DCC-приложений.

https://github.com/jakericedesigns/SteerablePerlinNoise
#rigging #siggraph

Риг все? APEX все?

Пока нет, но есть нюансы.

На Siggraph 2025 представили UniRig, новаторскую унифицированную систему рига. В отличие от предыдущих методов, которые сталкиваются с сложными или нестандартными топологиями, UniRig точно предсказывает топологически допустимые структуры скелетов благодаря новому методу токенизации Skeleton Tree, который эффективно кодирует иерархические отношения внутри скелета.
Для обучения и оценки UniRig представили Rig-XL, новый крупномасштабный набор данных из более чем 14000 3D моделей, охватывающих широкий спектр категорий.

Это не революция конечно, и довольно давно уже тестируется многими компаниями и даже SideFX демонстрировали подход с ML скинингом для капибары в H20.0. Однако тренды показывают, что традиционные методы пайплайна становятся все более неэффективными когда нужно многократно нарастить производство контента.

Статья с мувками:
https://zjp-shadow.github.io/works/UniRig/

Поиграться можно тут:
https://github.com/VAST-AI-Research/UniRig
👍3🥴2
Channel photo updated
#houdini #news #sneakpeek

Классическая ситуация под любым мажорным релизом Houdini.

Для тех кто любит почитать не спеша текстовой вариант описания главных фич релиза который подготовил любезно animatix_, там не все, но большая часть:

https://www.sidefx.com/forum/topic/101604/

Мне пару вещей в глаза бросилось:
- FEM-level physical quality and faster than Vellum
- Greatly reduced startup time on certain Windows systems
- Greatly reduced filesystem activity when loading Houdini

- Flexible framework for binding hotkeys to actions
- Support for binding key sequences to hotkey actions
- Volatile hotkey symbols to toggle display options


И незаметная строчка среди всего прочего MoltenVK support on MacOS, но такая важная для маководов.
👍4😁2🤯1
#houdini #news #sneakpeek

А я смотрю у многих вызвал ажиотаж и вопрос, а что там с обновлениями Solaris?
Что по лэйауту, что по улучшения воркфлоу? И еще как назло на последнем кадре снэков все было адски зашакалено ютубом и законтрасчено к херам чтобы трудно было читать и они серьезно думают, что это кого-то остановит?

Вот, кто не мог спать без своего любимого контекста.

Solaris:
- Live link to Render Gallery via Live Render LOP
- Ability to import external images into Render Gallery
- Render region support in the Render Gallery
- Enhanced renderer control from the Render Gallery
- Powerful easy to use image filtering and slap comp powered by COPs
- Improved Layout LOP functionality and roboustness
- Render Pass LOP to set up closet visibility for multiple passes
- Interactive viewport support for render pass selection
- Shot builder system for multi-shot workflows (beta)
- Bespoke asset resolver for built-in USD file versioning (beta)
- Dedicated Portal Light LOP for more straightforward portal setup
- Geometry Light LOP to turn geo primitives into lights via Light and ShadowAPI
- Deactivated lights no longer visible in the Light Linker
- USD path expressions for collections or collection based material bindings
- Better distinction between variants and exploration with Explore Variants LOP
- Better support for changing number of RBD pieces for emission and culling
- Enhancements for Geometry Clip Sequence SOP
-'Children' columns in Scene Graph Tree to display count of direct child properties
- Clearer distinction between activie and inactive primitives in Scene Graph Tree
- Simplified Viewer to keep multiple non-HoudiniGL/VK delegates active at once
- Tiled and mip-mapped EXRs when saving COP image
- Customizable 't' 'r' 'e' hotkey in the Scene Viewer
- Auto collections for matching USD primitives by attribute value
- Support for UTF-8 in editing USD primitives properties and variants
- Improved support for nodes with multiple outputs
- Asset Gallery renamed 'Asset Catalog'
- Support for third party render stats
- Hydra 2 scene processing pipeline with good USDSkel performance
- Adobe USD file plugins integration for USD export to FBX an gITF
- USD v25.05 and MateralX v1.39.3
6
#houdini #notes

О, сайды в презентации (H21 Keynotes) достижений анимационного производства сделали отсылку на фильм "Голый Пистолет". Классный, старый фильм с Лесли Нильсоном 1988 года.

Было много достойных нововведений: бета шот билдера, лайв рендер (привет, Катана! или прощай?! все это видели там) и мышцы в остальном не важно где "hello, world!" писать.
🔥2
#houdini #materialx

Выше абстракции - проще использование?

ShadingLanguageX язык высокого уровня для написания комплексных шейдеров под MaterialX. Компилятор берет исходники написанные на языке и транслирует в формат .mtlx, а оттуда можно прямиком их переводить в Houdini нетворк.

SLX похож на другие Си-подобные языки, но более близок к GLSL, с функциями ориентированными на MaterialX. Поддерживает интересные вещи вроде: template func, auto types, inline func и другой, приятный синтаксический сахар.

Ключевые особенности:
- предоставляет пользователям более удобный способ написания шейдеров чем разработка шейдеров MaterialX на С++ или Python API.
- существующий код на GLSL может быть легко портирован на SLX
- шейдеры могут быть импортированы и настроены "на лету", разрешая переиспользование кода

Так же есть свой декомпилятор позволяющий преобразовать код из MaterialX в SLX. Из ограничений, не все возможно создать, что может MaterialX.

Github:
https://github.com/jakethorn/ShadingLanguageX
6