Render.ru

ищу скрипт. выделение вертексов относитель

OmikroN

Активный участник
Рейтинг
5
#1
Доброго времени, ищу скрипт который бы выделял вертексы относительно глобальной z координаты, если кому попадался киньте ссылкой пожалуйста. поисковиком и по сайтам полазил ничего похожего не нашел.

max 2008. есть плоскость(примерно 180к поликов размеры 300*300м) на которую наложен модификатор нойз, нужно выделить все вертексы которые находятся ниже определенной координаты z, потом мэйк планар по z и поднят на определенную высоту. нужно создать много таких объектов и каждый раз ручками проходить 300 метров ползком не очень удобно и быстро.


вот пример того что выдает maxscript listener когда выделяю ручками:

Код:
$.modifiers[#Edit_Poly].Select #Vertex #{6322..6323, 6326, 6330..6336, 6339..6340, 6343..6345, 6348..6352, 6354..6355, 6360..6363, 6365, 6368, 6370..6371, 6379..6383, 6386..6388, 6390..6391, 6394..6395, 6399..6400, 6404, 6406, 6409..6410, 6414..6420, 6422, 6425..6426, 6428..6434, 6436, 6440, 6442..6444, 6447..6448, 6450..6451, 6454, 6457, 6459..6460, 6463..6465, 6468, 6471..6473, 6476, 6478..6480, 6482, 6486, 6488..6490, 6492..6494, 6500..6502, 6508..6509, 6513..6514, 6517, 6520..6521, 6525..6526, 6528, 6534..6535, 6541..6545, 6547..6548, 6551..6552, 6555, 6558, 6561..6567, 6570, 6572..6574, 6577..6579, 6585..6586, 6589, 6592..6594, 6597..6598, 6602, 6604..6606, 6611..6612, 6619, 6621, 6623..6628, 6632..6638, 6644..6647, 6652..6653, 6655..6659, 6661..6664, 6666, 6672, 6679..6689, 6691..6695, 6701, 6704, 6710..6712, 6722..6723, 6727..6737, 6740..6741, 6744..6745, 6748..6749, 6751..6752, 6758..6761, 6763..6768, 6772..6774, 6777..6780, 6784, 6787, 6790, 6793, 6798, 6801..6802, 6806, 6809..6810, 6815..6816, 6829..6830, 6836, 6838..6849, 6858..6859, 6861..6867, 6870..6875, 6879..6881, 6887..6888, 6894..6897, 6906..6908, 6911..6913, 6916, 6920..6923}
$.modifiers[#Edit_Poly].Select #Vertex #{6924..6925, 6928..6930, 6933..6940, 6945..6946, 6948..6949, 6952..6954, 6957..6959, 6961..6964, 6967..6968, 6972..6973, 6975..6976, 6979..6984, 6986..6990, 6993..6995, 6999, 7004..7005, 7013..7015, 7018, 7023..7024, 7028..7029, 7032..7033, 7037..7038, 7044..7046, 7048..7051, 7053, 7059..7060, 7063..7069, 7071..7072, 7075..7076, 7078, 7081, 7085..7086, 7088, 7091, 7098..7099, 7102..7103, 7107..7108, 7112..7113, 7116..7118, 7123, 7129..7135, 7138..7140, 7142, 7145, 7148..7152, 7158..7160, 7162..7163, 7165..7166, 7168..7169, 7172..7176, 7180..7183, 7187..7190, 7192..7193, 7196..7199, 7208..7209, 7211..7214, 7217, 7221..7222, 7230..7231, 7234, 7240, 7243, 7248..7251, 7253..7255, 7258..7260, 7265, 7268..7270, 7272..7276, 7280..7281, 7291..7292, 7295..7296, 7299..7306, 7308..7312, 7314..7315, 7319..7321, 7323..7324, 7328..7329, 7334..7336, 7339..7340, 7345..7346, 7354, 7357..7361, 7372..7373, 7379, 7381..7393, 7395..7399, 7403..7406, 7409..7410, 7413..7415, 7419..7427, 7435..7436, 7450, 7452..7453, 7457..7459, 7467..7470, 7477..7478, 7480..7485, 7487..7488, 7490..7495, 7502..7507, 7512, 7515..7517, 7521..7523}
$.modifiers[#Edit_Poly].ButtonOp #MakePlanarInZ
toolMode.coordsys #view
$.modifiers[#Edit_Poly].SetOperation #Transform
$.modifiers[#Edit_Poly].MoveSelection  [0,0.0706635,0] parent:(transMatrix [-14743,9990,-11716,0000,-10,0000]) axis:(matrix3 [0,-1,0] [0,0,1] [-1,0,0] [-14744.9,-11853.9,-10.0707])
$.modifiers[#Edit_Poly].Commit ()
$.modifiers[#Edit_Poly].Select #Vertex #{7531..7532, 7535, 7542, 7548..7549, 7552..7555, 7558..7559, 7562..7563, 7565..7569, 7571..7577, 7581..7583, 7585..7586, 7589..7590, 7592..7593, 7596..7597, 7600..7617, 7620..7621, 7623..7624, 7628, 7633, 7636..7637, 7642, 7646..7648, 7654..7656, 7658..7661, 7667, 7673, 7675..7679, 7682, 7685..7690, 7692..7694, 7696..7698, 7700, 7704..7708, 7714..7717, 7720..7728, 7732, 7735..7736, 7750, 7753..7754, 7758..7761, 7765, 7769..7771, 7774..7775, 7779..7780, 7782..7784, 7786..7788, 7791..7796, 7799..7800, 7803..7806, 7808..7810, 7813..7814, 7817..7818, 7822..7824, 7826..7828, 7831..7833, 7836..7840, 7845, 7848..7850, 7853..7854, 7857..7859, 7863..7867, 7872..7875, 7882..7883, 7888..7891, 7897..7898, 7901..7903, 7909..7910, 7917, 7920..7922, 7928..7934, 7938..7944, 7948..7949, 7951..7956, 7959, 7963..7966, 7971..7972, 7974, 7976..7977, 7980, 7986..7987, 7993..7995, 7998..8002, 8005..8006, 8008..8009, 8012, 8015..8019, 8027..8028, 8031..8034, 8037..8043, 8045..8048, 8051, 8054..8055, 8058..8062, 8066..8067, 8070..8072, 8076..8077, 8080..8083, 8088..8089, 8092..8093, 8099..8101, 8104..8105, 8109..8110, 8114..8115, 8118..8120, 8124..8125, 8127}
$.modifiers[#Edit_Poly].Select #Vertex #{8128..8132, 8138..8141, 8143, 8148, 8150..8151, 8159, 8161..8162, 8167..8169, 8174..8176, 8184, 8188..8191, 8198..8199, 8202..8203, 8207, 8211..8213, 8221..8223, 8225, 8228..8235, 8239..8246, 8250..8251, 8253..8255, 8259..8261, 8264..8268, 8272..8273, 8276..8277, 8282, 8287..8288, 8293..8296, 8301..8304, 8306..8307, 8311..8313, 8316..8317, 8319..8321, 8328..8329, 8332..8336, 8339..8344, 8346..8348, 8351..8352, 8355..8360, 8367..8368, 8372..8373, 8383..8385, 8389..8390, 8393..8394, 8398, 8400..8401, 8405..8406, 8415, 8418..8421, 8431..8432, 8436..8437, 8440, 8443..8444, 8448..8449, 8451..8452, 8454, 8457, 8462..8464, 8467..8471, 8473, 8476..8478, 8482..8483, 8485..8486, 8489..8490, 8496, 8499..8500, 8503, 8506, 8508..8509, 8513..8514, 8517, 8520, 8525..8527, 8532..8536, 8539, 8541, 8544, 8547..8548, 8552, 8554..8556, 8559..8563, 8569..8570, 8573..8574, 8576..8577, 8583..8584, 8588..8589, 8591..8592, 8595..8599, 8602..8604, 8607..8609, 8612..8613, 8617..8618, 8622..8624, 8627..8630, 8636..8638, 8641..8645, 8648, 8651..8652, 8656..8662, 8668..8669, 8672..8674, 8680..8681, 8685..8686, 8689..8691, 8694..8696, 8699, 8701..8703, 8706..8708, 8710, 8712, 8718..8722, 8725, 8728}
$.modifiers[#Edit_Poly].ButtonOp #MakePlanarInZ
$.modifiers[#Edit_Poly].SetOperation #Transform
$.modifiers[#Edit_Poly].MoveSelection  [0,0.00934219,0] parent:(transMatrix [-14743,9990,-11716,0000,-10,0000]) axis:(matrix3 [0,-1,0] [0,0,1] [-1,0,0] [-14744.6,-11851.9,-10.0093])
$.modifiers[#Edit_Poly].Commit ()
 

Вложения

Александр Якушев

Активный участник
Рейтинг
7
#2
Вот есть пример http://docs.autodesk.com/3DSMAX/15/ENU/MAXScript-Help/index.html?url=files/GUID-EF78FA1A-A382-4BED-BA10-7C856A7551A5.htm,topicNumber=d30e365344

Если немного модифицировать:

Код:
for obj in selection do
(
	convertToMesh obj --collapse to EditableMesh
	for v = 1 to getNumVerts obj do --loop through all vertices
	(
	vert = getVert obj v --get the v-th vertex
	if vert.z <= 0.0 do vert.z = 0.0  --change the Z coordinate to 0.0
	setVert obj v vert --assign back to the v-thvertex
	)
update obj --update the mesh - the sphere should be flattened 
)
вроде работает (только с выделенной геометрией) http://floomby.ru/s1/8aNZcm
 
Сверху