основная тема здесь http://www.render.ru/forum/viewtopic.php?topic_id=125803 , но как я и думал никто тама не отвечает, поэтому спрошу в новой.
Почти написал автоматическую генерацию карты разбиения (принцип прост, создается копия исходного фэйса на который наложена карта высоты, затем он разбивается на очень мелкую сетку, происходит анализ точек на нечерность и затем перекрашивание фэйса, соответствующего точке в белый цвет с помощью 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 ..;
<...>
Почти написал автоматическую генерацию карты разбиения (принцип прост, создается копия исходного фэйса на который наложена карта высоты, затем он разбивается на очень мелкую сетку, происходит анализ точек на нечерность и затем перекрашивание фэйса, соответствующего точке в белый цвет с помощью 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 ..;
<...>