Render.ru

Всем разработчикам использующим Maya, посящается скрипт

Slavenin

Активный участник
Рейтинг
12
#41
попробуй сделать так (находится в начале третьей части строка 401):


//непосредственно построение поверхности прелайтом
polyGeoSampler -dg -ids -fs -sf $mas_sf -su -cdo;
polyGeoSampler -dg -ids -fs -sf $mas_sf -su -cdo;

похоже что майка снова "глотает" строки...
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#42
блин нифига :( а так хочется нормальный скрипт с интерфейсом !!!
 

Slavenin

Активный участник
Рейтинг
12
#43
сделаем ;) , ток вот добровольных тестеров, кроме тебя, нету нифига...

попробуй этой командой polyGeoSampler -dg -ids -fs -sf $mas_sf -su -cdo; просто построить поверхность по карте высот, может касяк в самой команде, кстати. у тебя какая версия Майки? Просто 2008 или 2008 Extension 2? Просто я тестировал на Extension 2.

как вариант попробуй сделать прелайт из менб и сравнить команду с той которая у меня написана.

да и еще что за полискульпт? о_О, чот я с тауким не сталкивался ни разу...
 

Slavenin

Активный участник
Рейтинг
12
#44
как вариант могу еще предложить ввести построение поверхности с помощью конвертирования дисплэйса в геометрию, но у мну чот это не работает нифига постоянно ошибку выдает, но если надо то эт несложно реализовать
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#45
блин вынужден уехать на пару дней буду в четверг.
 

Slavenin

Активный участник
Рейтинг
12
#46
Всем привет и доброгов ремени суток!

Свершилось...
Я дописал скрипт до логического завершения первой версии, а именно прикрутил интерфейс. Все работает, проверял в Maya 2009 и Maya 2008 Extension 2.

Теперь небольшое описание.

Что из себя представляет карта высот, думаю зает каждый. В скрипте помимо нее используется карта разбиения. Это карта, нарисованная на основе карты высот, но содержащая только черный и белый цвет, белый соответствует местам, где необходимо получить подробное разбиение, как видите ничего сложного :). В планах сделать, чтобы она генерировалась самостоятельно.

Далее, пока есть только два способа построения поверхности, прелайт и мой, если нужно можно добавить конвертирование дисплэйса в геометрию или еще какой, если есть предложения говорите. (2Skif, просьба, поподробнее про полискульпт)

Также пресутствует возможность сделать планр мэпинг, (если вы разбиваете простую ровную поверхность, то соверую сделать планар), не нужен он только если разбивается сложный объект с собственной разверткой. !!!Если у вас стоит Пунто свитчер - внимательно наблюдайте за введенной осью планара! Если ввести "z" и нажать Enter, то на выходе получим "я", что приведет к ошибке!!!

Вроде все объяснил, если что не понятно, почитайте посты выше, там многое обговорено, в том числе есть пример карты высот и карты разбиения, если все-равно не понятно или возникают ошибки в работе скрипта, просьба писать приводя полностью текст ошибки.

скачть можно здесь http://up.li.ru/?id=464996;%CC%E5%E3%E0%F1%EA%F0%E8%EF%F2_%CF%EE%EB%ED%EE%F1%F2%FC%FE.rar

PS АГРОМЕННАЯ ПРОСЬБА: люди проявите активность, а то я не могу понять нужно это кому али нет!?!?!?
 

Slavenin

Активный участник
Рейтинг
12
#48
Почти написал автоматическую генерацию карты разбиения (принцип прост, создается копия исходного фэйса на который наложена карта высоты, затем он разбивается на очень мелкую сетку, происходит анализ точек на нечерность и затем перекрашивание фэйса, соответствующего точке в белый цвет ч помощью 3dPaintTool), но возникла проблема следующего содержания: когда активируется 3dPaintTool Flood установлен как All Faces, и я никак не могу выцепить нужные параметры чтобы это изменить. Для автоматической генерации карты, нужно чтобы параметр был установлен как SelectedFaces. Поковырялся в менюшках нашел меню 3dPaintTool, только вот не могу разобраться, каким образом действует кнопка если для нее не задан флаг -command, и точно также не могу найти место в котором при нажатии на кнопку Flood запрашивалось бы значение Flood( All Faces или SelectedFaces). Если кто разбирается хэлп!

файл находится в папке Maya2009\scripts\others\art3dPaintProperties.mel

часть кода менюшки:
<...>
proc art3dCreateFloodFrame(
string $parent
)
//
// Description:
// Create a 3d paint Flood options UI.
//
{
setUITemplate -pushTemplate OptionsTemplate;
setParent $parent;

columnLayout;
// Flood Color.
colorSliderGrp -label (uiRes("m_art3dPaintProperties.kFloodColor"))
-annotation (uiRes("m_art3dPaintProperties.kFloodColorAnnot"))
art3dFloodColorSlider;

floatSliderGrp -field true -label (uiRes("m_art3dPaintProperties.kFloodOpacity"))
-annotation (uiRes("m_art3dPaintProperties.kFloodOpacityAnnot"))
-precision 4
-min 0.0 -max 1.0
-step 0.05
art3dFloodOpacitySlider;

separator -h 15 -style "none";

// Flood Buttons.
rowColumnLayout -nc 2
-cs 1 45
-cw 1 120 -cs 2 40
-cw 2 120;

button -label (uiRes("m_art3dPaintProperties.kFloodPaint"))
-width 120
-annotation (uiRes("m_art3dPaintProperties.kFloodPaintAnnot"))
art3dFloodPaintButton; // Flood Paint

button -label (uiRes("m_art3dPaintProperties.kFloodErase"))
-width 120
-annotation (uiRes("m_art3dPaintProperties.kFloodEraseAnnot"))
art3dFloodEraseButton; // Flood Erase
setParent ..;
separator -h 5 -style "none";

// Flood Option.
radioButtonGrp -nrb 2 -sl 1
-label (uiRes("m_art3dPaintProperties.kFlood"))
-label1 (uiRes("m_art3dPaintProperties.kAll"))
-label2 (uiRes("m_art3dPaintProperties.kSelectedFaces"))
-annotation (uiRes("m_art3dPaintProperties.kFloodingOptionAnnot"))
art3dFloodOption;
setParent ..;

setUITemplate -popTemplate;
}
<...>
// =======================================================
// Main Procedure.
// =======================================================
global proc art3dPaintProperties()
{
source "art3dPaintCallback.mel";
source "art3dPaintValues.mel";

setUITemplate -pushTemplate DefaultTemplate;

string $parent = `toolPropertyWindow -q -location`;
setParent $parent;

columnLayout -adj true art3dPaint;

// Brush options.
frameLayout -label (uiRes("m_art3dPaintProperties.kBrush"))
-collapsable true -collapse false
art3dBrushFrame;

// Create brush option menu.
art3dCreateBrushFrame("art3dBrushFrame");
setParent ..;

// Color options.
frameLayout -label (uiRes("m_art3dPaintProperties.kColorOptions"))
-collapsable true -collapse false
art3dColorFrame;

// Create the color options.
art3dCreateColorFrame( "art3dColorFrame" );
setParent ..;

// Flood options.
frameLayout -label (uiRes("m_art3dPaintProperties.kFloodOptions"))
-collapsable true -collapse false
art3dFloodFrame;

// Create the Flood options.
art3dCreateFloodFrame( "art3dFloodFrame" );
setParent ..;
<...>
 

Slavenin

Активный участник
Рейтинг
12
#49
Ну вот я и победил автоматическую генерацию карты разбиения :))) (какой я модожец! :)))) Инструкция по пользованию встроена в скрипт в двух вариантах: на транслите и на русском. Все просто читаем и пользуемся, не забываем комментировать, если что не работает :) Проверял в Maya 2009 и Maya 2008 Extension 2, ошибок не было. Удобно пользоваться поместив скрипт на полку.

скачать можно здесь http://up.li.ru/?id=466344;Megascript.rar
 

Skif

Администратор 3D галереи
Команда форума
Рейтинг
584
#51
ну хоть убей не строит высоты ни асторским ни прелайтом...
 
Сверху