Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно разработать интерфейс в виде аддона для шейдера в программе Blender. Шейдер готовый. У меня есть готовые примеры аддонов для простоты понимания. В Blender имеется встроенная консоль с обозначениями Python функций. Также при включении Python подсказок при наведении курсора на нужную функцию программа отобразит код для встраивания к текущей функции. (скриншот 3) Также там есть заготовки для аддонов. Более подробно готов показать по видеосвязи с трансляцией экрана.

Техническое задание:

Имеется несколько .blend проектов типа Earth, Mars, Venus и другие в определённой папке. Нужно создать аддон в раздел Properties>World Properties>Skybox.

В этом разделе нужно создать кнопку "Enable Skybox" и выпадающий список в котором будут показаны blend проекты из папки.

По умолчанию выбран Earth. При нажатии Enable Skybox в текущий проект будут импортированы World Shader и Compositing из выбранного файла. В проектах имеются текстуры, они тоже должны быть импортированы в текущий проект. Для разделов Stars, Ground, Moon Color, Sun Color нужно сделать выбор из готовых текстур которые находятся в одноименных папках для каждого слоя, т.е. в папке Ground будут размещены текстуры земли и тд. Также должна быть кнопка Open - она открывает проводник(для поиска текстур). Для экономии памяти изначально состояние текстур стоит Mute(выбор текстур находится внутри соответствующих нод, их легко увидеть), это также сделано чтобы при отсутствии текстуры не было сплошного розового цвета. Включение текстуры переключает состояние с Mute на Unmute .

Нужно сделать функции "Delete World" и "Save World" которые удаляют или сохраняют текущий проект в папку проектов.

Далее должны быть созданы управляющие кнопки, галочки и ползунки в отдельных разделах которые можно свернуть или развернуть. Код для встраивания к нужным функциям легко найти в разделе Shader>World. Допустимые диапазоны ползунков ограничены настроенными пределами в нодах(посмотреть ноды можно открыв их нажатием Tab).

Внутри разделов должны находиться ползунки из одноименных нод в Shader разделе. (скриншот 1)Порядок разделов следующий:

-Planet

-Atmosphere

-Sky

-Clouds

-Stars

-Ground Color

-Moon Color

-Sun Color

-Moon

-Rainbow

-Extinction

-Skybox

Последний раздел особенный:

-Fog:

-Галочка "Enable Fog" - по умолчанию отключена. Она управляет состоянием Mute/Unmute для ноды Add Fog в панели Compositing, и одновременно для галочки Use for render в слое Skybox в разделе Properties>View Layer Properties>View Layer. При добавлении новых объектов на другие слоя, на слое Skybox отображение всего должно быть всегда отключено(этот слой всегда должен рендерить World без обьектов, т.е. пустоту, далее слой накладывается в Compositing на остальные слоя как туман).

-Ползунок регулирующий параметр ноды View Distance в разделе Compositing (скриншот 3)

Необязательно: Ноды можно открыть клавишей Tab(выйти ctrl+tab). Там есть параметр Default. В самом начале разделов рядом с Enable Skybox нужно добавить кнопку Reset которая сбрасывает все параметры до Default (скриншот 4)

В начале файла __init__.py должны быть заданы параметры:

"name": "Skybox",

"author": "Max Gordon",

"version": (1.0),

"blender": (3.0+),

"description": "Skybox World Shader",

"location": "Properties>World Properties>Skybox",

"wiki_url": "",

"support": "",

"category": "Shader",

Внутренности нодов я удаляю для избежания воровства, оставляю только необходимый минимум для отладки.

Вопросы по видеосвязи.

2 года назад
MGordon
Максим 
28 летУкраина
2 года в сервисе
Был
2 года назад
  • Похожие заказы
  • В нем должны быть такие функции: Экономика разделенная на несколько видов разной валюты которую можно обменивать между собой и настрайвать цену как в ручную так и с рандномной генерацией цены в разное время! Магазин с возможностями из ...

    Закрыт
    2 года назад
  • Нужно написать программу которая будет ловить свободные даты для здачи биометрии на сайте vfsglobal.ca. Что именно должен уметь бот.1. Зайти на сайт2. Ввести логин и пароль3. Ввести capcha4. Оказавшись в личном кабинете  (закрыться) - ввести reference number5. ...

    Закрыт
    2 года назад
  • Господа, оперативно нужен рабочий скрипт и инструкция по пользованию. Необходимо разослать сообщение 1.500 контактам по базе (предложения на рассылку тоже принимаются) Попробовал через twilio и гугл - не получилось.)

    Закрыт
    2 года назад
  • Нужно написать программу которая будет ловить свободные даты для здачи биометрии на сайте [url=https://freelancehunt.com/out/https%3A%2F%2Fvfsglobal.ca]vfsglobal.ca[/url]. Что именно должен уметь бот.1. Зайти на сайт2. Ввести логин и пароль3. Ввести capcha4. Оказавшись в личном кабинете  (закрыться) - ввести reference number5. ...

    Прикладное ПОнет заявок
    Закрыт
    2 года назад
  • Есть CRM битрикс24Есть база данных фссп. Есть официальная документация на подключение к базе https://opendata.fssp.gov.ru/files/fssp/db/files/00smev2022/opisanie_api_bdip_fssp_20220203_2022241115.pdfВ карточке лида в срм есть поля фамилия, имя, отчество и дата рождения. Нужно 1. Добавить кнопку ЗАПРОС В БАЗУ ФССП. После нажатия этой кнопки проверяется, ...

    Закрыт
    2 года назад
  • Добрый день, что мне нужно :) Необходимо по API получать товар, категории товаров, и под категории,  записывать все это в базу, и после всего этого нужно формировать yml файл. У каждого товара есть свои характеристики, ...

    Закрыт
    2 года назад
  • Нужен робот - сканер стакана на предмет идентификации крупных заявок и дальнейшее наблюдение за ними. То есть робот идентифицирует заявки в соответствии с настройками (от какого-то кол-ва) и пишет данные в файл. Интерфейс вижу так: 1. ...

    Прикладное ПОнет заявок
    Закрыт
    2 года назад
  • Задача: необходимо из txt файла брать по очереди данные от яндекс почты (логин, пароль, ответ на кв), загружать страницу 1 по ссылке, проходить авторизацию в почте, далее загружать страницу 2, 3 и 4 (что именно ...

    Закрыт
    2 года назад