Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Нормализованные XYZ векторы камеры въюпорта
Их можно использовать для рассчёта положений, трансформаций и перемещений относительно камеры въюпорта VectViewX=(inverse(getViewTM())).row1 VectViewY=(inverse(getViewTM())).row2 VectViewZ=(inverse(getViewTM())).row3 point wirecolor:red size: 1 pos: VectViewX point wirecolor:green size: 1 pos: VectViewY point wirecolor:blue size: 1 pos: VectViewZ
_______________________________________________________________ Функция проверки пуста ли папка CurFolder="c: \\ test"
Источник: http://www.scriptspot.com/forums/3ds-max/general-scripting/isfolderempty-function _______________________________________________________________ Русский (кириллица) в редакторе MaxScript Если редакторе MaxScript, кириллица отображается некорректно, то в файле <maxroot>/MXS_Editor.properties (Например C:\Program Files\Autodesk\3ds Max 2012\MXS_Editor.properties) необходимо заменить значение code.page на 0 (вместо -1) и перезапустить 3ds Max Источник: http://vraydoc.narod.ru/tutors/msx-rotation/index.html _______________________________________________________________ Фильтр по классу SplineShape, LinearShape, line fn filterShapes obj = isKindOf obj Shape AND findItem shape.classes (classOf obj) < 4 _______________________________________________________________ Применение структур. Универсальные методы работы Edit_Poly и Editable_Poly Суть в том, что организованы 2 структуры, содержащие одинаковые методы работы с объектами классов Edit_Poly и Editable_Poly, после проверки класса объекта, универсальный метод universal получает свою структуру, после чего синтаксис обращения к объекту получается одинаков и к объектам различных классов можно применять одинаковые строки кода. Это очень полезно с точки зрения организации UI скриптов, где необходимо единообразно увязать все методы в одном элементе.
obj universal edgeSel = #{}
struct polyFns -- структура для объекта класса Editable_Poly ( getVertPos = polyOp.getVert, getEdgeVerts = polyOp.getEdgeVerts, getEdgeSel = polyOp.getEdgeSelection, setEdgeSel = polyOp.setEdgeSelection,
getVertsByEdges = polyOp.getVertsUsingEdge, getEdgesByVerts = polyOp.getEdgesUsingVert )
struct polyModFns -- структура для модификатора Edit_Poly ( fn getListData list = case (classOf list) of (BitArray: list; Integer: #{list}; default: #{});, fn getVertPos obj vert = obj.getVertex vert, fn getEdgeVerts obj edge = #(obj.getEdgeVertex edge 1, obj.getEdgeVertex edge 2), fn getEdgeSel obj = obj.getSelection #Edge, fn setEdgeSel obj edgeList = ( obj.setEPolySelLevel #Edge obj.setSelection #Edge #{} obj.select #Edge edgeList ), fn getVertsByEdges obj edgeList vertList:#{} = ( edgeList = getListData edgeList obj.getVertsUsingEdge &vertList &edgeList vertList ), fn getEdgesByVerts obj vertList edgeList:#{} = ( vertList = getListData vertList obj.getEdgesUsingVert &edgeList &vertList edgeList ) ) fn tryInit = ( if subObjectLevel == undefined then max modify mode obj = Filters.GetModOrObj() case (classOf obj) of ( Editable_Poly: (universal = polyFns(); true) Edit_Poly: (universal = polyModFns(); true) default: (messageBox "This script only works with Edit/Editable_Poly objects."; false) ) ) tryInit() -- вызов функции проверки universal.getEdgeSel obj universal.getEdgesByVerts obj universal.getVertsByEdges obj universal.setEdgeSel obj universal.getEdgeSel obj universal.getEdgeVerts obj universal.getVertPos obj Источник: http://www.scriptspot.com/3ds-max/scripts/heuristic-edge-select _______________________________________________________________ Тестовый пример для понимания работы со структурами struct Counter (
Источник: http://forums.cgsociety.org/archive/index.php?t-272425.html _______________________________________________________________
|
|||||
Последнее изменение этой страницы: 2021-04-13; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.2.184 (0.005 с.) |