1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Автоматический UVW Unnwrap

Тема в разделе "MAXScript", создана пользователем Pomidoroff, 4 июл 2016.

Модераторы: Savin Denis
  1. Pomidoroff

    Pomidoroff Знаток

    С нами с:
    20.03.2016
    Сообщения:
    8
    Симпатии:
    12
    Баллы:
    23
    Ребята, нужен скрипт для автоматической развертки выделенных обьектов на 2 канал (для игрового движка). Flaten Mapping с стандартными настройками.

    Кто рубит модели для игровых движков, думаю оценят. Копал на скрипспоте, там либо криво работает, либо слишком навороченные и не в ту тему. По гуглу тоже ненашел толкового результата.

    Ближе всех подошел вот этот скрипт:
    fn uvwFlattenMap objArr mapChannel:1 = if objArr.count != 0 do
    (
    clearSelection()
    SetCommandPanelTaskMode #modify
    with redraw off
    (
    for node in objArr where validModifier node (modifier = Unwrap_uvw()) do
    (
    addModifier node modifier ui:eek:n
    modifier.setMapChannel mapChannel
    select node ; modPanel.setCurrentObject modifier
    modifier.flattenMap 45.0 #([1,0,0], [-1,0,0], [0,1,0], [0,-1,0], [0,0,1], [0,0,-1]) 0.02 on 0 on on
    )
    )
    )
    uvwFlattenMap (selection as array) mapChannel:2
    Но он на рабочих обьектах работает както странно не всегда, разворачивает не все полигоны (например если в моделе работали с фейсом и не убрали выделение то разворачивается один фейс, хотя работа с подобьектами неактивна)

    Это можно поправить?
     
  2. LKI

    LKI Активный участник

    С нами с:
    02.05.2009
    Сообщения:
    123
    Симпатии:
    10
    Баллы:
    14
    Так это нормальное явление, так как скрипт просто применят анврап, так же если без скрипта,не снять выделение с полика, может анврап накинуться на один полик, просто чуть внимательнее да и все.
     
  3. JohnJonny

    JohnJonny Пользователь сайта

    С нами с:
    28.03.2014
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    2
    Для себя сделал, сейчас наверное уже не очень актуально , но вот
    Выделяем все объекты (должно быть больше одного)переводим в editable poly и дальше run script

    a = selection as array
    for i in a do
    (
    polyop.setFaceSelection i #all
    addModifier i (unwrap_uvw())
    )
    for i in a do
    (
    i.unwrap_uvw.unwrap.setMapChannel 1
    i.unwrap_uvw.flattenMapNoParams()
    i.unwrap_uvw.setTVSubObjectMode 0
    )
    for i in a do
    (
    i.unwrap_uvw.name = "Channel1"
    )
    for i in a do
    (
    polyop.setFaceSelection i #all
    addModifier i (unwrap_uvw())
    )
    for i in a do
    (
    i.unwrap_uvw.unwrap.setMapChannel 2
    i.unwrap_uvw.flattenMapNoParams()
    i.unwrap_uvw.setTVSubObjectMode 0
    )
    for i in a do
    (
    i.unwrap_uvw.name = "Channel2"
    )


    А вообще должен сказать существует родная функция массовой авто развертки которая находиться в Render To Textures
    Там ставим Automatic UVW тут же канал нужный, а в самом низу ставим Unwrap Only, для двух каналов нужно процедуру дважды повторять.
     
Модераторы: Savin Denis

Поделиться этой страницей