как сделать box ?
- Автор темы S.andr
- Дата создания
- Рейтинг
- 0
Знаю я один способ, как сделать бокс (правда сам пока попробовать не могу - шарик от мышки куда-то закатился, пока я с курящими сферками экспериментировал). Так вот: фотографируем на сот. тел. изображение плана на мониторе (ну план-то мы уже делать научились), далее кидаем фотку в фотошоп, где обрезаем все лишнее и оптимизируем количество полигонов, чтобы не слишком тормозило, а потом - закидываем в 3дмакс, причем (это очень важно!) шесть раз (по количеству граней бокса). Потом вручную в виртуальном пространстве необходимо собрать из этих граней бокс а-ля как в художественном фильме "Джонни-мнемониг". Правда, какой плаг при этом использоал Джонни, не сообщается (может быть PowerPoint?). Так что если у кого какие соображения - делитесь!
fremax (3D Work) фига сеее.... да ты батенька крут, вот только этот код не катит в 3дмахе пробовал в блокноте сферу сделать при помощи этих буковок, так не получается...
С помощью скрипта можно создать бокс, сферу и другие примитивы.
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
Сохраняем текстовый файл с названием "test.ms"
В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
2. В главное меню Customize выбираем пункт Customize User Interface.
В окне Customize User Interface выбираем вкладку Keyboard.
В выпадающем списке Group выбираем пункт Main UI.
В выпадающем списке Category выбираем пункт Objects Primitives.
В поле Hotkey назначаем нужную клавишу (например клавиша "M") для Object Scroller.
Закрываем окно Customize User Interface.
3. Нажимаем клавишу "M".
Перемещаем курсор мыши над нужное окно-проекций: Top, Front, Left, Perspective.
Нажимаем и удерживаем нажатой левую кнопку мыши.
Перемещаем курсор мыши влево или вправо.
Отпускаем левую кнопку мыши.
Код:
-- -- --------------------------------------------------------------------------
-- -- Macro_ObjectScroller_v0.10.mcr
-- -- Version: 0.10
-- -- Created: Savin Denis (c) 2010,
-- -- Tested using: Max 2011
-- -- --------------------------------------------------------------------------
macroScript ObjectScroller
category:"Objects Primitives"
internalCategory:"Objects Primitives"
tooltip:"Object Scroller"
ButtonText:"Object Scroller"
icon:#("standard", 1)
(
tool ObjectScroller_mst
(
local fStart, gObj, curObj, curInd, vp1, ldiv, lmax
on start do
(
fStart = true
updateToolbarButtons()
)
on mousePoint click do coordsys grid
undo on(
if click == 1 then -- create key, back & fill lights at mousedown
(
vp1 = viewPoint
local c = (bezier_float())
c.value = 0.
gObj = #(
(box pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c)),
(sphere pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) recenter:on segs:32 radius:12.5),
(Cylinder pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) radius:12.5),
(Torus pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) smooth:2 radius1:8.5 radius2:4),
(Teapot pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) segs:8 radius:12.5),
(Cone pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) radius1:12.5 heightsegs:1),
(GeoSphere pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) smooth:off baseToPivot:on radius:12.5),
(Tube pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c) radius1:12.5 radius2:8.5 height:25),
(Pyramid pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c)),
(Plane pos:gridPoint isHidden:on backFaceCull:on visibility:(copy c)) )
curInd = gObj.count / 2
curObj = gObj[curInd]
curObj.isHidden = false
curObj.visibility.controller.value = 1
lmax = (getViewSize() / 5).x
ldiv = lmax * 2. / (gObj.count - 1)
)
if click == 2 then
(
curObj.visibility.controller.value = 1
curObj.isHidden = false
curObj.backFaceCull = false
select curObj
delObj = for obj in gObj where obj != curObj collect obj
delete delObj
gObj = undefined
#stop
)
)
on mouseMove click do
undo off (
if click == 2 then -- drag out & round on x-y plane
(
local l = (viewPoint - vp1).x
local d = ((lmax + l) / ldiv)
local d1 = cos (90.*(abs(mod d 1.) - 0.5)*2)
local r = (abs(mod d (gObj.count)) + 1) as integer
if curInd != r then
(
curObj.visibility.controller.value = 0
curObj.isHidden = true
)
curInd = r
curObj = gObj[curInd]
curObj.isHidden = false
curObj.visibility.controller.value = d1
curObj.scale = [1,1,1] * d1
)
)
on mouseAbort click do
(
undo off delete gObj
gObj = undefined
)
on stop do fStart = undefined
)
on execute do startTool ObjectScroller_mst
on isChecked return (try(ObjectScroller_mst.fStart != undefined)catch(false))
)
Кстати, есть еще способ создать бокс. Можно щелкнуть на панели create кнопку box и потыкать машкой в вьюпортах. Удобно очень.
Этого не может быть, потому что этого быть не может. У тебя, скорее всего, глюк.
П. С. S.andr, где ты, старый казанский товарищ? Без тебя вопрос не решить. Только ты, создавая тему, мог смотреть так далеко вперед и видеть всю глубину проблемы. Теперь же, кажется, утрачена всякая надежда на ее успешное решение...