ΠΡΠ»ΠΈ ΡΡ ΡΠΆΠ΅ ΡΠΌΠ΅Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ΅ΡΠΈ, ΡΠΎ Π·Π΄Π΅ΡΡ Π½Π°ΡΡΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΈΡ .
Π‘Π΅ΠΉΡΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅Ρ ΡΡΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ:
ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ°:
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();