Render.ru

Скрип для создания кастомного цилиндра.

tip

Знаток
Рейтинг
29
#1
Здравствуйте. Требуется помощь в доработке скрипта.
Хочется в инструментах макса иметь отдельный - примитив цилиндр. Смысл его в том, что в процессе его создания, количество его сечений изменялось в зависимости от его диаметра. Т.е. например, если его радиус 50 см, то сечений 60, если радиус уменьшается до 40, то сечений становится 48 и т.д.

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

on buildmesh do
(
Obj=cylinder()
Obj.smooth=true
Obj.heightsegs=0
Obj.capsegs=1
Obj.sides=Sides
Obj.height=Height
Obj.Radius=Radius
Obj.mapcoords=on
setmesh mesh Obj.mesh
delete Obj

)
tool create
(
on mousePoint click do
case click of
(
1: nodeTM.translation = gridPoint
)
on mouseMove click do
case click of
(
3: Radius=gridDist.x
4: height=gridDist.z
)
)
 

LastJedi

Знаток
Рейтинг
27
#2
Примерно так: вместо строчки
Код:
3: Radius=gridDist.x
Код:
3:
(
    Radius = gridDist.x;
    Sides = 48 + (Radius - 40) * 12 / 10
)
 
Сверху