Вводные моменты для новых читателей
- 3D-Coat - это инструмент для создания 3D-моделей, в частности органических объектов (см. сайт). Плюс автоматическая ретопология воксельных объектов (см. видео), плюс PBR (видео), плюс UV-развёртка (видео), плюс рельефное текстурирование, плюс экспорт моделей для игровых движков... Да, я люблю эту программу!)
- Полагаю, что Вы знаете какой-то язык программирования и умеете пользоваться документацией.
- 3D-Coat понимает AngelScript.
- Скрипт - это текстовый файл. Удобно создавать и просматривать в Notepad++, с подсветкой синтаксиса "C".
- Запуск скрипта - из меню 3D-Coat "Скрипты / Запустить скрипт":
- Бесплатно скачать 3D-Coat можно отсюда.
и соглашения для себя (чтобы помнить)
- Краткие, но ёмкие публикации.
- Простой код.
- Комментарии в самом коде.
- Не разжёвывать методы, которые можно найти в документации.
- Для каждой публикации - картинка / видео / 3D-Sketch.
Буду придерживаться этих правил. Если возникнуть вопросы - задавайте, ответ будет)
Первый пример - это добавление фигур "на сцену" или, согласно терминологии 3D-Coat, в "Voxel Room" (здесь и далее используются термины из руководства).
// Фигуры, разбросанные по сцене.
void main() {
// подготавливаем сцену
SculptRoom room;
room.clear().toSurface();
// инициализируем генератор случ. чисел
seed( 39 );
// создаём `N` фигур разного размера, разбрасывая их по сцене
Builder builder;
const int N = 4;
const int A = 10;
const int B = 100;
for ( int i = 0; i < N; ++i ) {
const int a = rand( A, B );
const int b = rand( A, B );
const int c = rand( A, B );
Mesh figure = builder.cube()
.side( Vec3( a, b, c ) )
.details( 0.1 )
();
const Vec3 translation(
rand( -B, B ) * 2,
rand( -B, B ) * 2,
rand( -B, B ) * 2);
const Angles angles(
rand( 0, 360 ),
rand( 0, 360 ),
rand( 0, 360 ) );
figure.tools().transform()
.position( translation )
.rotation( angles )
();
room |= figure;
} // for i
}
Комментариев нет:
Отправить комментарий