• Что выбрать блендер или cinema4d?

    Работаю с Cinema 4D (далее C4D) в связке с Octane Render около 2х лет. Хотя до этого работал в Maya, Blender. То, что "синька" "более дружелюбна к новичкам" - правда. По большей части это связанно с интуитивным интерфейсом. Но, что потом можно будет "легко" перейти из одного пакета в другой - зависит от человека. (Но, в любом случае будет проще).

    Теперь более конкретно.
    Про motion graphics. Думаю, что для этой отрасли нет лучше C4D. С помощью функционала MoGraph, который я разберу ниже, можно за 10 минут сделать уже что то красивое, "сложное" или абстрактное. (из-за этого и любим моушен дизайнерами).

    Про vfx. Сам не занимаюсь, но подсказать могу. Тут ещё важно знать какими именно визуальными эффектами вы хотите заниматься.
    К примеру по настоящему и "реалистично" реализовать взрывы, огонь, дым и пр. на голой C4D не получится. Это можно сделать через emitter (создатель частиц), но результат будет так себе. Многие в таких целях пользуются плагином TurbulenceFD - мощный плагин, с которым получается прекрасный результат.
    Симуляция жидкостей в C4D - никакая (если не ошибаюсь, в Blender на 3 головы выше). Можно создать через emitter, но будет выглядеть не очень. Есть опять же плагины, но проще использовать сторонние программамы типа Real Flow. Хотя в новых версиях R21, R22, которыми я не пользовался (сижу на R20), сделали Field Force - новая система управления частицами. Возможно с ней результаты воды/огня будут лучше.
    Если это динамический объект, который при каких либо манипуляциях должен разрушиться, развалиться и пр., то в C4D есть симуляция твёрдых объектов, симуляция мягких объектов, симуляция одежды и ткани, которые, при должной настройке, отлично справляются со своей функцией.
    А теперь к грустному. Если это персонаж, которому нужно сделать ригг, анимацию и пр., то C4D явно отстаёт от других 3D пакетов. Как мне кажется, всё что связанно с персонажкой в C4D хромает. Для таких целей больше подойдёт Maya (про Блендер, к сожалению, не знаю), или же использовать специализированные программы. НО! В версии R23 обещают внести существенные изменения в плане анимаций и ригга.

    Визуализация... Опять же, чего? Я работал над визуализацией интерьеров/экстерьеров. Тут разница между пакетами совсем не велика. Если нужна какая либо функция, то она либо уже есть в C4D, либо для этого уже есть плагин. Исключение это 3D Max (3DM), Только у 3DM есть большее преимущество в плане создания архитектуры. У него для этого есть сотни подключаемых библиотек.

    И наконец моделирование. Если привыкнуть, то моделировать можно в любом 3d пакете. У каждой программы есть своя фишка. Я, на данный момент, моделирую в C4D и особо не жалуюсь. Нет потребности переходить на что то более "функциональное и гибкое". Почему тогда работ, где "художник в синьке смоделировал что-то крутое" так мало? Может ты плохо искал? Хоть я и согласен, что в C4D мало кто моделирует. И тут дела не в удобстве. Просто так "исторически" сложилось, что C4D, в основном, используют для моушен и реже для моделирования. Блендер на глаза чаще попадаются потому, что это народный (бесплатный) пакет. У него больше пользователей. (Смоделированное что то в 3D Max так вообще попадается чаще всего).

    В общих чертах.
    Стандартные фигуры типа куба или сферы описывать не буду.

    Радует достаточно удобная работа со сплайнами. Есть стандартные сплайны (окружность, спираль и пр.) или можно нарисовать свой. Основные инструменты для работы со сплайнами есть (просто выдавить сплайн, выдавить вращением, создать поверхность из сплайнов, выдавить объект из 2х сплайнов и пр.)

    Отдельно вынесу Subdivision Surface, который просто делает более плотную сетку на модели (разбивает её). Часто используется при моделировании. Можно выбрать тип разбития сетки.

    Доп. инструменты. Типа булев, симметрия, обводка по сплану и пр. С каждым из них нужно разбираться отдельно.

    Деформаторы. Думаю, есть в каждом 3D пакете. Есть стандартные (изогнуть, обернуть, вздуть и пр.). А так же есть достаточно интересные. К примеру, можно сделать, в реальном времени, динамическую поверхность воды, используя лишь 2 деформатора - взаимодействие и морф.

    Остальное. Бесконечный пол, небо (загружают HDRI карту), физическое небо (в котором встроены облака, солнце, время суток и пр.), туман , различные камеры (хотя в 99% будешь пользоваться стандартной), разные источники освещения, различные пост-эффекты/обработка (лучше использовать After Effects для этих целей), а так же тэги.

    Рендер. Стандартный рендер не очень хорош. Физический чуть лучше, особенно если покапаться в настройках. Хотя с любым рендером можно получить красивую картинку (дело в прямоте рук). В версию R19 завезли встроенный GPU рендер - Pro render (хоть он и недоделанный). Я пользуюсь сторонним GPU рендером Octane. (работает только с картами NVidia, хоть и обещают совместимость с AMD картами). Так же из сторонних есть Arnold (на CPU), Redshift (на GPU, "конкурент Octana", работает со всеми видеокартами), V-Ray работает как на CPU, так и GPU). Это только самые популярные...

    Материалы. Можно создавать материалы обычным способом, но с версии R20 можно создавать материал с помощью нод (что уже давно есть в Blender). Если нужен простенький материал (стекло, гладкий металл, что то шерховатое), то очень удобно. Нооооо, если нужно создать сложный материал, то нужно очень хорошо знать функционал менеджера материалов (систему слоёв, эффекты, шейдера, пр.). Редко пользуюсь, но знаю, что создать очень красивый и реалистичный материал возможно. А так, обычно текстурирую в сторонней программе Sabstens Painter. (рекомендую)

    Тебе ответили на вопрос про Блендер выше. Там говорилось про поддержку форматов FBX, OBJ, DAE и т.д. По секрету скажу, что все 3D пакеты поддерживают основные форматы. Даже в 3D Builder, от Microsoft, можно сохранить модель в OBJ или FBX.

    Плагины и скрипты. Хоть и не много (по сравнению с Blender или 3D MAX), но они есть. Самые "популярные" Groyw fx (для создания реалистичных растений), вышеупомянутый TurbulenceFD (для дыма, огня и пр.), Greebler (для "выдавливания" различных деталей и фигур на поверхности мэша. Отлично подходит для sky fi композиции) и т.д. Если знаешь Питон, то можешь сам писать скрипты.

    MoGraph. Это просто шикарный функционал. Комбинируя MoGraph объекты и эффекторы (тем более с тегами) можно добиться очень сложной анимации, огромных заполненных пространств, чего то хаотичного или же упорядоченного. Пример. Создать пол, который состоит из шестиугольников и которые двигаются в такт выбранной тобой музыке, при этом меняя цвета? Запросто. Это займёт не более 2х часов (если ещё параметры колупать). Раздел интуитивно понятен тем, кто смотрел хотя бы 1 урок.

    Анимация по ключам. Вообще ничего необычного или сложного. Всё так же интуитивно понятно, если хотя бы раз глянуть обучающее видео. Совсем не интуитивно отдельное окно таймлайна, которое показывает ключи анимации, кривые и пр.

    И закончу одним из самых любимых наборов инструментов. Любые объекты симуляции. Можно симулировать объекты типа пружин или осевых конекторов, симулировать движение/натяжение одежды, физику твёрдых и мягких тел. Симулировать частицы (Particle) через Emitter. Через него же худо-бедно создавать анимацию динамики огня и воды (повторюсь, в R22 добавили Field Force, через который, возможно, ситуация лучше).
    Так же есть возможность создавать динамические волосы, шерсть и перья, что вынесено в отдельный раздел Hair. Функции Hair ограничиваются не только банально пресонажкой или созданием шерстяного покрытия. Функция так же может взаимодействовать с MoGraph. Есть множество инструментов для редактирования или правки волос/шерсти.

    Сторонние плюсы.
    Компания Maxon (создатель синьки) тесно "дружит" с компанией Adobe. По этому, свой проект можно спокойно перенести в AE (где обычно делают всю пост-обработку и работают с vfx), или из Illust перевести векторы в сплайны, которые будет понимать синька, или открыть рендер-картинки в Ps. Вместе с импортированными проектами, будут импортированы слои из C4D в виде слоя с тенями, цветом, бликами, стеклом и пр.
    К тому же, среди 3D пакетов - C4D является одной из самых стабильных. За 2 года она вылетала не более 5-6 раз (в основном при загруженности ПК).

    Плохая реализация (или минусы пакета)
    Из действительно сырого - только встроенный GPU рендер (Pro render). Может в новых версиях его и исправили, но в R20, а тем более в R19 (когда его только внедрили) он сильно шумел, пока происходил рендер. Что бы пропали шумы, нужно было ждать рендера часа 3 в простой сцене, без сложных материалов и света за такой себе результат.

    Персонажная анимация и риггинг (в том числе карта весов). Скоро выпустят R23, где обещают многое переделать в этом направлении (и работать в нём дальше). Возможно, C4D когда нибудь будет так же удобна, как и Maya в этом плане. Ну, а пока всё очень "сложно" и "неудобно".

    UV... Это больная тема для тех, кто делал развёртку в C4D. Считаю, что это базовая функция, которой в первую очередь нужно было уделить внимание. Автоматическая развёртка появилась только в версии R22, а переделаный интерфейс и инструменты будут только в версии R23. Я в R22 и последующих, новую систему развёртки не пробывал, так что ничего сказать не могу. А так, я делаю развёртку в сторонней программе Rizom UV (p.s. оооочень удобная и оооочень простая в освоении).

    Скульптинг. Это единственное, что в последних версиях не трогали. В целом не плохой, но явно хуже, чем в том же Blender. Для скульпта с нуля обычно используют ZBrush. Но, даже по мелочи (добавить вмятен, сколов, вытянуть что-то), то скульпт из cinema не удобен.

    Заключение
    Уместить столько информации в 10000 символов было очень сложно...
    Я бы ещё мог долго распинаться на тему рендера, глобального освещения, текстур и пр. Но, к сожалению, стимулирующие действие амфетамина, в моём теле, подходит к концу. Если ты дочитал это до конца, ты либо псих, либо влюблённый в 3D графику и саморазвитие парень :) Удачи!
    Ответ написан
    3 комментария
  • Как грамотнее написать скрипт для обновления данных по таймеру?

    Vindicar
    @Vindicar
    async def long_task():
        while True:
            await do_stuff()
            await asyncio.sleep(3600) # если нужна простая периодичность
    
    # для запуска
    task = asyncio.get_running_loop().create_task(long_task())
    # для останова
    task.cancel()  #выкинет спец. исключение в long_task(), так что finally отработает
    Ответ написан
    4 комментария
  • Как осуществить поиск и копирование блока строк по ключевому слову в *.txt?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Powershell сейчас не под рукой но выглядеть скрипт должен как то так:
    $file = 'ваш файл'
    $newfile = 'другой файл'
    $keyword = 'parametr'
    (get-content $file -raw) -split "\n\n" | foreach {
        $firststring = $_ -split '\n' | select -first 1
        if $firststring -like $keyword { add-content $newfile $_}
    }

    здесь точно напутано с экранированием спец. символов, а так же не сделаны некоторые обработки для отсутствующих файлов и много чего еще. Дорабатывайте на здровье :D
    Ответ написан
    1 комментарий
  • Как осуществить поиск и копирование блока строк по ключевому слову в *.txt?

    @BeatHazard
    Накидал скрипт на Powershell, который выводит нужную вам информацию в файл

    $file = get-content "C:\temp\in.txt"
    $out = Foreach ($str in $file)
    {
    If($str -match "\[.*\]")
    {
    If ($str -match "parametr")
    {
    $flg = 1
    }
    Else {$flg=0}
    }
    If ($flg -eq 1)
    {
    $str
    }
    }
    $out | Out-File -FilePath C:\temp\out.txt

    З.Ы. Просьба сильно не придираться, пишу как умею =))
    Ответ написан
    1 комментарий
  • Как правильно написать телеграм бота с каталогом товаров (python)?

    @Monarch88
    Библиотека pandas вам в помощь
    Ответ написан
    Комментировать
  • Как правильно написать телеграм бота с каталогом товаров (python)?

    @bittenmuskrat
    Изучить:
    1) Словари
    2) Ветвление: If - else
    Ответ написан
    Комментировать
  • Как создать меню второго уровня с inline кнопками (Telegram bot, Python)?

    @twistfire92
    Python backend developer
    Проблема в передаваемых параметрах. мало того, что вы передаете параметр inline_message_id вместо message_id, так еще и присваиваете ему id текущего чата, а нужен id сообщения. Попробуйте как описано ниже:

    bot.edit_message_reply_markup(chat_id=c.message.chat.id, message_id=c.message.message_id, reply_markup=knopki2)
    Ответ написан
    1 комментарий