Математика |
--Алгоритм содания одежды
--1.Построить кривые и замкнуть
--2.Выделить
--3.Перейти Line>Vertex
--4.Выделить Vertex
--5.Нажать Break
--6.Загрузить Garment_Maker()
--7.Перейти в Garment_Maker > Curvers или Seams
--***********************************************************
--***********************************************************
--1.Построить кривые и объединить
fn drawLineBetweenTwoPoints pointA pointB =
(
ss = SplineShape pos:pointA
addNewSpline ss
addKnot ss 1 #corner #line PointA
addKnot ss 1 #corner #line PointB
updateShape ss
ss
)
--1.строим первою кривую из отрезков
newSpline1 = drawLineBetweenTwoPoints [0,0,0] [0,60,0]--1 L1
newSpline2 = drawLineBetweenTwoPoints [0,60,0] [60,60,0]--2 L2
newSpline3 = drawLineBetweenTwoPoints [60,60,0] [60,0,0]--3 L3
newSpline4 = drawLineBetweenTwoPoints [60,0,0] [0,0,0]--4 L4
--и объединить
addAndWeld $Shape02 $Shape01 0.1 --L2=L2+L1
addAndWeld $Shape02 $Shape03 0.1 --L2=L2+L3
addAndWeld $Shape02 $Shape04 0.1 --L2=L2+L4
--Тем самым получам одну замкнутую кривую L2
--перемещам
select $Shape02
move $ [1.95652,-110.574,0]
--2.строим вторую кривую из отрезков
newSpline1s = drawLineBetweenTwoPoints [0,0,0] [0,60,0]--1 L5
newSpline2s = drawLineBetweenTwoPoints [0,60,0] [60,60,0]--2 L6
newSpline3s = drawLineBetweenTwoPoints [60,60,0] [60,0,0]--3 L7
newSpline4s= drawLineBetweenTwoPoints [60,0,0] [0,0,0]--4 L8
--и объединить
addAndWeld $Shape01 $Shape03 0.1 --L5=L5+L6
addAndWeld $Shape01 $Shape04 0.1 -- L5 =L5+L7
addAndWeld $Shape01 $Shape05 0.1 -- L5 = L5+L8
--Объединям все замкнутые кревые
addAndWeld $Shape01 $Shape02 0.1 --L5 = L5 +L1
--***********************************************************
--***********************************************************
--***********************************************************
--здесь начинается шаманство
--***********************************************************
--***********************************************************
--2.Выделяем кривую
select $Shape01 --L5
--3.Перейти Line>Vertex
--Метод топора
max modify mode -- open mod panel
subobjectLevel = 0
modPanel.setCurrentObject $Shape01.baseObject
subobjectLevel = 1
modPanel.setCurrentObject $Shape01.baseObject
-- нужно выделить vertex
select $Shape01
--splineSelect
actionMan.executeAction 0 "40021"
max select all
--5.Нажать Break
--***************************
splineOps.startBreak $Shape01
--.Загрузить Garment_Maker()
max modify mode -- open mod panel
myGarment2=Garment_Maker()
addModifier $Shape01 (myGarment2)
--***********************************************************
--выделяем стороны панелей и делаем швы
--***********************************************************
--***********************************************************
-- Выделяем отрезки L1 и L2
$Shape01.Garment_Maker.selectSplines #{3,5} --стало
--***********************************************************
--$Shape01.Garment_Maker.selectSplines #{7}
subobjectLevel = 1
$Shape01.Garment_Maker.ButtonCreateSeam()
-- Выделяем отрезки L4 и L2
$Shape01.Garment_Maker.selectSplines #{6,8}
$Shape01.Garment_Maker.ButtonCreateSeam()
--***********************************************************
--$Shape01.Garment_Maker.createSeamFromSplines 4 7 5
--Все шаманство закончилось и работает
--**************************************************************
--**************************************************************
--Создаем форому тела
----****************************************************
Cylinder smooth:on heightsegs:1 capsegs:1 sides:24 height:144 radius:12 mapcoords:on pos:[-9,31,12] isSelected:on rotate $Cylinder01 (angleaxis 90 [1,0,0]) ----****************************************************
--On the Main Parameters rollout, click the None button, and then click the character model.
----****************************************************
select $Shape01
max modify mode -- open mod panel
--***********************************************************
--Размещение панель
--***********************************************************
subobjectLevel = 1
modPanel.setCurrentObject $.modifiers[#Garment_Maker]
subobjectLevel = 2
--Крутим вертим куда хотим панель N1
--$Shape01.modifiers[#garment_maker].getPanelMatrix 1--отображения координат
$Shape01.modifiers[#garment_maker].setPanelMatrix 1 (matrix3 [1,0,0] [0,1,0] [0,0,1] [-42.2772,-35.0028,32.1016]) $Shape01.modifiers[#garment_maker].setPanelDeformType 1 1 $Shape01.modifiers[#garment_maker].setPanelAxis 1 0 $Shape01.modifiers[#garment_maker].setPanelCurvature 1 -0.06 $Shape01.modifiers[#garment_maker].setPanelMatrix 2 (matrix3 [-1,0,0] [0,-1,0] [0,0,1] [20.3293,-171.851,28.2803]) $Shape01.modifiers[#garment_maker].setPanelDeformType 2 1 $Shape01.modifiers[#garment_maker].setPanelAxis 2 0 $Shape01.modifiers[#garment_maker].setPanelCurvature 2 -0.079
--**************************************************************
--**************************************************************
--Все работает.Проверено в 3D MAX 9
--**************************************************************
--**************************************************************
--Применить модифекатор Cloth к объекту
--1--
max modify mode -- open mod panel
--select $Shape01 -- Выделяем обьект $Shape01 для трансформации
--deleteModifier $Shape01 (Cloth())
myCloth=Cloth()
addModifier $Shape01 (myCloth) --Применяем модефекатор Cloth()
----------------------------------------------------------
--myCloth.subsample =5
--myCloth.startFrame=10
--myCloth.showTargetState =on
----------------------------------------------------------
--Все параметы устанавливаются по умалчанию.
--1--
--$MyObject.Cloth.numberVertices $MyObject
--<integer>numberVertices <node>node
--Returns the number of vertices in the cloth
--модификация Cloth
$Shape01.Cloth.setObjectType $Shape01 2 true
--$Shape01.Cloth.showObjectProperties()
$Shape01.Cloth.setObjectProperty $Shape01 "bend" 25.0
$Shape01.Cloth.setObjectProperty $Shape01 "bCurve" 0.0
$Shape01.Cloth.setObjectProperty $Shape01 "stretch" 75.0
$Shape01.Cloth.setObjectProperty $Shape01 "shear" 225.0
$Shape01.Cloth.setObjectProperty $Shape01 "density" 0.01
$Shape01.Cloth.setObjectProperty $Shape01 "thickness" 0.2
$Shape01.Cloth.setObjectProperty $Shape01 "repulsion" 2.0
$Shape01.Cloth.setObjectProperty $Shape01 "damping" 0.1
$Shape01.Cloth.setObjectProperty $Shape01 "airres" 0.02
$Shape01.Cloth.setObjectProperty $Shape01 "dynFric" 0.1
$Shape01.Cloth.setObjectProperty $Shape01 "staticFric" 0.5
$Shape01.Cloth.setObjectProperty $Shape01 "selfFric" 0.5
$Shape01.Cloth.setObjectProperty $Shape01 "seamForce" 5000.0
$Shape01.Cloth.setObjectProperty $Shape01 "vScale" 1.0
--$Shape01.Cloth.setObjectProperty $Shape01 "useEdgeSprings" 5
--$Shape01.Cloth.setObjectProperty $Shape01 "useSolidFriction" 5
$Shape01.Cloth.setObjectProperty $Shape01 "offset" 1.0
--добавляйте $Cylinder01 к моделированию
addModifier $Cylinder01 (myCloth) --Применяем модефекатор Cloth()
$Cylinder01.Cloth.setObjectType $Cylinder01 1 true
--$Girl.Cloth.simulate true
$Cylinder01.Cloth.setObjectProperty $Cylinder01 "offset" 0.6
$Cylinder01.Cloth.simulateLocal 1 50 true
$Cylinder01.Cloth.stopLocalSimulation()
--Все гроперуем (синтезируем,объединяем делаем как единый объект)
-- a=b+c
max select all
max group group
|
|
|