Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
В рамках улучшения понимания maxscripthelp, разбираемся с одним из методов.
Модификатор EditPoly Из справки MaxScript: Geometry Data Methods <index>GetEdgeVertex <index>edgeID <index>end node:<node> node default value: undefined -- undefined - значение ноды по умолчанию Returns the indexed vertex shared by the specified edge. -- Возвращает индекс вершины, используемой ребром.
Разбираемся: Работающий код: p = Plane() -- создадим примитив плоскость addModifier p (Edit_Poly ()) -- применим модификатор Edit_Poly obj = $.modifiers[#Edit_Poly] -- засунем модификатор в переменную obj obj.GetEdgeVertex 1 1 -- Вернётся 6. Возвращается индекс первой из двух вершин указанного ребра obj.GetEdgeVertex 1 2 -- Вернётся 1. Возвращается индекс второй из двух вершин указанного ребра obj.GetEdgeVertex 39 1 -- Вернётся 25. Возвращается индекс первой из двух вершин указанного ребра obj.GetEdgeVertex 39 2 -- Вернётся 24. Возвращается индекс второй из двух вершин указанного ребра
Как видим, конструкцию из хэлпа, <index>GetEdgeVertex <index>edgeID <index>end node:<node> не возможно использовать прямо в том виде, как она представлена в качестве маски для подстановки переменных, поэтому разложим всё по порядку. <index> -- возвращаемое значение (в данном случае индекс вершины) GetEdgeVertex -- функция, которой передаются параметры <index>edgeID -- индекс ребра <index>end -- одна из двух вершин указанного ребра (в данном случае она есть или 1 или 2) node:<node> -- нода, или сам объект, в котором применяется эта функция
А вот получается как из этого можно сконструировать маску для сборки кода: <node>. GetEdgeVertex <index>edgeID <index>end <> - такие скобки в хэлпе означают, что это обязательный параметр, необходимый для работы функции. [] - квадратные скобки (если такие есть) - это опциональный (необязательный, дополнительный) параметр
Аналогичный метод есть и в Editable Poly Раздел Get Edge <index><EditablePoly>.GetEdgeVertex <index>edgeID <index>end Returns the vertex index used by the specified edge. -- Возвращает индекс вершины, используемой ребром. Since an edge has two vertices, the end argument is needed to define which of the two vertices of the edge to get. -- Поскольку ребро имеет две вершины, конечный аргумент нужен, чтобы определить, какой из двух вершин ребра получить.
EXAMPLE: p = convertToPoly(Plane()) --create a Plane, convert to Epoly p.GetEdgeVertex 1 1 --returns vertex 6 p.GetEdgeVertex 1 2 --returns vertex 1 p.GetEdgeVertex 4 1 --returns vertex 1 p.GetEdgeVertex 4 2 --returns vertex 2
_______________________________________________________________ А теперь рассмотрим ещё один грамм гранита науки касательно справки MaxScript и использования модификатора Edit_Poly
Из официальной справки MaxScript: <bitArray>GetSelection <enum>meshSelLevel node:<node> meshSelLevel enums: {#Object|#Vertex|#Edge|#Face|#CurrentLevel} -- параметры, один из которых нужно передавать функции GetSelection. node default value: undefined -- значение ноды по умолчанию
Returns the specified selection as bitArray value. Возвращает битовый массив выделенных объектов (подобъектов) If node: is supplied, returns the selection from the modifier instance assigned to the specified node. Если нода (объект): передана, возвращает выделение из подчинённого модификатора, относящимися к указанным нодам.
Пример кода: CurO = modPanel.getCurrentObject() -- в переменную помещаем объект панели модификаторов CurO.getSelection #Edge -- получим массив выделенных рёбер
Как видим, предложенная в справке конструкция <bitArray>GetSelection <enum>meshSelLevel node:<node> не может служить как маска для подстановки переменных. Но глядя на пример правильного применения, можно разобраться, как всё же нужно это использовать. Как то так Таким же образом можно разбираться и с другими аналогами в хэлпе MaxScript _______________________________________________________________ Организуем структуру struct Menu -- в которой перечисляем параметры ЧЕРЕЗ ЗАПЯТУЮ _______________________________________________________________
|
|||||
Последнее изменение этой страницы: 2021-04-13; просмотров: 69; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.210.17 (0.007 с.) |