3DCoatScripting  4.8.31β
С помощью скриптинга можно управлять возможностями Коута и расширять его функционал.
🌀 Преобразование мешей

Если ты уже умеешь создавать меши, то здесь научишся менять их.

Сейчас скриптинг позволяет вносить в созданный меш три поправки:

  1. Позицию меша
  2. Поворот
  3. Масштаб

Позиция

Полный пример для изменения координат уже созданного меша:

void main() {
// подготавливаем сцену
SculptRoom room;
room.clear().toSurface();
// строим капсулу
Builder builder;
Mesh mesh = builder.capsule()
.startPosition( Vec3( 0 ) )
.endPosition( Vec3( 40, 50, 60 ) )
.startRadius( 30 )
.endRadius( 50 )
.details( 0.1 )
.build();
// меняем позицию капсулы
mesh.tools().transform()
.position( Vec3( 100, 50, 200 ) )
.run();
// размещаем капсулу на сцене
room += mesh;
}

Для трансформаций меша используется класс ToolsMeshTransform.

Поворот

Чтобы примеры были компактными, пропустим часть кода, где создаём меш.

// поворачиваем капсулу
mesh.tools().transform()
.rotation( Angles( 30, 90, 200 ) )
.run();

Масштаб

// масштабируем капсулу
mesh.tools().transform()
.scale( Vec3( 2, 1.5, 0.7 ) )
.run();

Вместе

Благодаря fluent-интерфейсу скриптинга, ты можешь создавать компактные цепочки методов. Например, все преобразования выше, можно закодировать так:

// меняем позицию, поворачиваем и масштабируем капсулу
mesh.tools().transform()
.position( Vec3( 100, 50, 200 ) )
.rotation( Angles( 30, 90, 200 ) )
.scale( Vec3( 2, 1.5, 0.7 ) )
.run();
См. также
🌀 Булевы операции над мешами
🌀 Математика для 3D-графики