Превратите ваши синемовские #python скрипты, генераторы или выражения в самостоятельный #plugin (english)
https://www.cineversity.com/vidplaylist/c4d_prototype_to_plugin_converter
https://www.cineversity.com/vidplaylist/c4d_prototype_to_plugin_converter
Cineversity
Cineversity C4D Prototype to Plugin Converter [Video Tutorial Playlist]
These plugins make it as easy to take your quickly bashed together Python Scripts, Python Generators, and Python Expression Tags and turn them into proper plugins.
This tool was created to support our internal plugin development efforts at Cineversity.com…
This tool was created to support our internal plugin development efforts at Cineversity.com…
Добраться до точек сплайна через Xpresso не то чтобы сложно - всего-то нужен Iterator. Но в Python дело обстоит совсем иначе - у spline object нет возможности достучаться к точкам напрямую. Метод GetSplinePoint() принимает не индекс точки, а float оффсета по сплайну, как-бы намекая, что даёт она доступ не к точкам сплайна, а к положению произвольной точки, лежащей на кривой.
Не могу пока понять причин, но главные методы для получения данных о сплайне доступны почему-то в другом объекте - SplineHelp. Его инициализация выглядит так:
Кто знает почему так сделано - пишите в @motionTalk абоненту @motionTerrorito
#c4d #python #spline #SplineHelp #scripting #programming
Не могу пока понять причин, но главные методы для получения данных о сплайне доступны почему-то в другом объекте - SplineHelp. Его инициализация выглядит так:
# получаем сплайн
obj = doc.GetActiveObject()
# создаём объект SplineHelp
spl = c4d.utils.SplineHelp()
# инициализируем его
spl.InitSplineWith(obj)
# берём матрикс
pointPos[0] = spl.GetPointMatrix(0)
Кто знает почему так сделано - пишите в @motionTalk абоненту @motionTerrorito
#c4d #python #spline #SplineHelp #scripting #programming
This media is not supported in your browser
VIEW IN TELEGRAM
Когда начинаешь использовать слои, больше всего досаждает что дочерние объекты объектов, добавленных к слою, не добавляются к нему автоматически. Этот небольшой Python tag - простое решение проблемы. Любой дочерний объект сразу будет добавлен в тот же слой, к которому принадлежит родительский
#freebies #c4d #layer #object #layerManager #fix #python #pythonTag
https://yadi.sk/d/F-vpGVfBN4xrWA
#freebies #c4d #layer #object #layerManager #fix #python #pythonTag
https://yadi.sk/d/F-vpGVfBN4xrWA
Хороший совет если вы хотите сделать плагин/скрипт итд. в один файл, но от картинок отказываться не хочется
#python #tips #optimization #tricks
https://t.me/pythonotes/103
#python #tips #optimization #tricks
https://t.me/pythonotes/103
Telegram
Python Заметки
Как сохранить картинку непосредственно в Python-модуль?
Для этого нам пригодится библиотека base64.
Этот способ кодирование позволяет любые бинарные или текстовые данные закодировать с помощью 64 ASCII символов. То есть получится простая строка.
Зачем это…
Для этого нам пригодится библиотека base64.
Этот способ кодирование позволяет любые бинарные или текстовые данные закодировать с помощью 64 ASCII символов. То есть получится простая строка.
Зачем это…
Много вопросов при разработке на python для Cinema 4D представляет система Undo, а конкретно - когда целевое действие меняет сразу несколько объектов, особенно в цикле, и всё это должно быть отменяемо.
API Cinema 4D вообще довольно запутано и сложно для понимания, часто не хватает логики или просто нормальной документации. Но здесь всё не так сложно как кажется. Принцип таков - блок StartUndo() > AddUndo() > EndUndo() добавляет ОДНО действие отмены вне зависимости от числа AddUndo(). AddUndo() просто добавляет к текущему стеку undo снепшоты, а не добавляет новый шаг в истории.
Пример на скриншоте переименует все выделенные объекты и добавит один шаг в истории изменений, отменяющий сразу все переименования
#python #code #programming #c4dapi #c4d
API Cinema 4D вообще довольно запутано и сложно для понимания, часто не хватает логики или просто нормальной документации. Но здесь всё не так сложно как кажется. Принцип таков - блок StartUndo() > AddUndo() > EndUndo() добавляет ОДНО действие отмены вне зависимости от числа AddUndo(). AddUndo() просто добавляет к текущему стеку undo снепшоты, а не добавляет новый шаг в истории.
Пример на скриншоте переименует все выделенные объекты и добавит один шаг в истории изменений, отменяющий сразу все переименования
#python #code #programming #c4dapi #c4d
Отличный канал по базе #mograph и #python в #c4d
#learning #lessons #free
https://www.youtube.com/watch?v=fxarFI4PwhY
https://www.youtube.com/c/ExpressoMechanicTV/
#learning #lessons #free
https://www.youtube.com/watch?v=fxarFI4PwhY
https://www.youtube.com/c/ExpressoMechanicTV/
YouTube
Cinema 4D Xpresso Nuts and Bolts: Tutorial 2 - Using the Range Mapper's Spline Input
In this Cinema 4D tutorial, we take a look at using the Spline Input, within the Range Mapper node - a feature that I personally, have never used before. We discover that the ability to do this, makes this already, highly versatile node, even more powerful.…