- Рейтинг
- 2
Господа, у меня возникла задача, которую я не совсем понимаю, как решить.
Задача состоит из двух частей.
Во-первых, мне нужно в 3DS MAX создать "шланг" (т.е. сплайн с круглым сечением заданной толщины) по точкам с заданными координатами. Как нарисовать сплайн вручную, я знаю, но точек очень много (несколько сотен или тысяч), и хотелось бы автоматизировать процесс.
На мой взгляд, лучше всего для этой цели воспользоваться МаксСкриптом. Я пошерстил хелп и родил следующее:
(пример с четырьмя точками, но я уже убедился, что эта штука работает и с 1000.)
Уже в 3д-студии я задаю толщину шланга и его видимость.
Не уверен, что это оптимальный путь, но это ладно.
Сейчас я уткнулся во вторую часть задачи.
Мне нужно иметь возможность покрасить этот сплайн в разные цвета, т.е. между каждой парой узлов задавать свой цвет. И вот тут я застрял. В МаксСкрипте (по крайней мере, в том варианте, который я написал) я не вижу, как это указать. А 3д-студия воспринимает сплайн как единый объект и красит его в единый цвет.
Возможно ли это вообще сделать с тем скриптом, который я написал? или надо создавать по-другому изначально?
Задача состоит из двух частей.
Во-первых, мне нужно в 3DS MAX создать "шланг" (т.е. сплайн с круглым сечением заданной толщины) по точкам с заданными координатами. Как нарисовать сплайн вручную, я знаю, но точек очень много (несколько сотен или тысяч), и хотелось бы автоматизировать процесс.
На мой взгляд, лучше всего для этой цели воспользоваться МаксСкриптом. Я пошерстил хелп и родил следующее:
Код:
fn drawSpline point1 point2 point3 point4 =
(
ss = SplineShape pos:point1
addNewSpline ss
addKnot ss 1 #smooth #curve Point1
addKnot ss 1 #smooth #curve Point2
addKnot ss 1 #smooth #curve Point3
addKnot ss 1 #smooth #curve Point4
updateShape ss
ss
)
newSpline = drawSpline [10,20,30] [100,200,10] [0,300,400] [-50,200,200]
Уже в 3д-студии я задаю толщину шланга и его видимость.
Не уверен, что это оптимальный путь, но это ладно.
Сейчас я уткнулся во вторую часть задачи.
Мне нужно иметь возможность покрасить этот сплайн в разные цвета, т.е. между каждой парой узлов задавать свой цвет. И вот тут я застрял. В МаксСкрипте (по крайней мере, в том варианте, который я написал) я не вижу, как это указать. А 3д-студия воспринимает сплайн как единый объект и красит его в единый цвет.
Возможно ли это вообще сделать с тем скриптом, который я написал? или надо создавать по-другому изначально?