Python_18.RED_サンプル
# -*- coding: utf-8 -*-
import engine.cmds as cmds
import engine.wpf as wpf
class VFX:
#ウィンドウ
def makeWindow(self):
self.win = wpf.createElement('Window')
self.win.Width = 390
self.win.Height = 600
self.win.Title = 'VFX'
self.win.Background = 'Gray'
self.grid = wpf.createElement('Grid', self.win)
self.stackPanel = wpf.createElement('StackPanel', self.grid)
#ラベルB│AssetBrowser
def makeLabelB(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = 'AssetBrowser'
#ボタンA│AssetBrowser:EFD
def onBtnA(self, sender, arg):
print "AssetBrowser:EFDを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetA = cmds.findAsset( 'assets:/VFX/EffectEditor/EFD_Character/__folder.folder.json' )
cmds.setActiveAsset( assetA )
assetA = cmds.getActiveAsset();
print assetA
def makeButtonA(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:EFD'
self.button.Click += self.onBtnA
#ボタンB│AssetBrowser:MasterScene
def onBtnB(self, sender, arg):
print "AssetBrowser:MasterSceneを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetB = cmds.findAsset( 'assets:/AppSystem/Scene/Authoring/Master.scn.json' )
cmds.setActiveAsset( assetB )
assetB = cmds.getActiveAsset();
print assetB
def makeButtonB(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:MasterScene'
self.button.Click += self.onBtnB
#ボタンC│AssetBrowser:Loc11
def onBtnC(self, sender, arg):
print "AssetBrowser:Loc11を選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetC = cmds.findAsset( 'assets:/Develop/Scene/Location/loc11/DevelopLoc11/DevelopLoc11.scn.json' )
cmds.setActiveAsset( assetC )
assetC = cmds.getActiveAsset();
print assetC
def makeButtonC(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:Loc11'
self.button.Click += self.onBtnC
#ボタンF│AssetBrowser:Loc03
def onBtnF(self, sender, arg):
print "AssetBrowser:Loc03を選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetF = cmds.findAsset( 'assets:/Develop/Scene/Location/loc03/DevelopLoc03/DevelopLoc03.scn.json' )
cmds.setActiveAsset( assetF )
assetF = cmds.getActiveAsset();
print assetF
def makeButtonF(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:Loc03'
self.button.Click += self.onBtnF
#self.textBlockmakeButtonF = wpf.createElement('TextBlock', self.stackPanel)
#ラベルC│その他
def makeLabelC(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '\nその他'
#ボタンD│Switch:EffectIconWidget
def onBtnD(self, sender, arg):
print "EffectIconWidgetのオン/オフ切り換え"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
# EffectIconWidgetのon/offを切り替えます
list = cmds.getMainViewWidgets()
for widget in list:
if widget.Name == 'EffectIconWidget':
widget.Enable = not(widget.Enable);
cmds.trySync(widget);
# end if
# end for
def makeButtonD(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = 'Switch:EffectIconWidget'
self.button.Click += self.onBtnD
#ボタンH│VerifyResource
def onBtnH(self, sender, arg):
print "AssetBrowser:Assetsを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
#AssetBrowser:Assetsを選択
findAssetFolder = cmds.findAssetFolder( 'assets:/' )
cmds.setActiveAssetFolder( findAssetFolder )
#VerifyResource
getActiveAssetFolder = cmds.getActiveAssetFolder()
goodAssetList = cmds.getChildAssets( getActiveAssetFolder )
badAssetList = cmds.verifyAsset( goodAssetList )
print ( 'goodAssetList' )
print goodassetList
print ( 'badAssetList' )
print badAssetList
def makeButtonH(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = 'VerifyResource'
self.button.Click += self.onBtnH
#self.textBlockmakeButtonH = wpf.createElement('TextBlock', self.stackPanel)
#ラベルD│EFD作成ツール
def makeLabelD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '\nEFD作成ツール\nEFD名 設定↓'
#コンボボックスA│ch,cs,sm,st,tb,wpから選択
def makeComboBoxA(self):
self.ComboBoxA = wpf.createElement('ComboBox', self.stackPanel)
self.ComboBoxA.ItemsSource = ['ch', 'cs', 'sm', 'st', 'tb', 'wp']
self.ComboBoxA.SelectionChanged += self. onSelectionChanged
#self.makeResultUI()
self.ComboBoxA.SelectedIndex = 0
def makeResultUI(self):
self.textBlockmakeComboBoxA = wpf.createElement('TextBlock', self.stackPanel)
#コンボボックスA│押された時
def onSelectionChanged(self, sender, e):
self.selectedIndex = sender.SelectedIndex
self.selectedValue = sender.SelectedValue
self.updateText()
def updateText(self):
self.textBlockmakeComboBoxA.Text = '' + str(self.selectedValue) + ''
def isEnabled(self, sender, e):
if self.checkBox.IsChecked == True:
self.ComboBoxA.IsEnabled = True
else:
self.ComboBoxA.IsEnabled = False
#テキストボックスA│大項目│ID│'0100_004_01'
def makeTextBoxA(self):
self.textBoxA = wpf.createElement('TextBox', self.stackPanel)
self.textBoxA.Text= '0100'
self.textBoxA.ToolTip = 'ID'
# Keyが押された時のEventを追加
self.textBoxA.KeyDown += self.onKeyDownA
# Focusが外れた時のEventを追加
self.textBoxA.LostFocus += self.onLostFocusA
#ラベルA ※未使用かも
def makeTextBlockA(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスA│押された時
def onKeyDownA(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusA(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスB│中項目'Berk(_attack1)'
def makeTextBoxB(self):
self.textBoxB = wpf.createElement('TextBox', self.stackPanel)
self.textBoxB.Text= 'Berserker'
self.textBoxB.ToolTip = '中項目 Berk(_attack1)など詳細を機材'
# Keyが押された時のEventを追加
self.textBoxB.KeyDown += self.onKeyDownB
# Focusが外れた時のEventを追加
self.textBoxB.LostFocus += self.onLostFocusB
#ラベルB
def makeTextBlockB(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスB│押された時
def onKeyDownB(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusB(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスC│小項目'00'
def makeTextBoxC(self):
self.textBoxC = wpf.createElement('TextBox', self.stackPanel)
self.textBoxC.Text= '00'
self.textBoxC.ToolTip = '小項目'
# Keyが押された時のEventを追加
self.textBoxC.KeyDown += self.onKeyDownC
# Focusが外れた時のEventを追加
self.textBoxC.LostFocus += self.onLostFocusC
#ラベルC
def makeTextBlockC(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスC│押された時
def onKeyDownC(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusC(self, sender, e):
self.textBlock.Text = self.textBox.Text
#ラベルF│エイリアス名
def makeLabelF(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = 'エイリアス名 設定↓'
#コンボボックスB│PL,EM,NPC,汎用,イベント,プロップ,背景から選択
def makeComboBoxB(self):
self.ComboBoxB = wpf.createElement('ComboBox', self.stackPanel)
self.ComboBoxB.ItemsSource = ['PL', 'EM', 'NPC', '汎用', 'イベント', 'プロップ', '背景']
self.ComboBoxB.SelectionChanged += self. onSelectionChanged
#self.makeResultUI()
self.ComboBoxB.SelectedIndex = 0
def makeResultUI(self):
self.textBlockmakeComboBoxB = wpf.createElement('TextBlock', self.stackPanel)
#コンボボックスB│押された時
def onSelectionChanged(self, sender, e):
self.selectedIndex = sender.SelectedIndex
self.selectedValue = sender.SelectedValue
self.updateText()
def updateText(self):
self.textBlockmakeComboBoxB.Text = '' + str(self.selectedValue) + ''
def isEnabled(self, sender, e):
if self.checkBox.IsChecked == True:
self.ComboBoxB.IsEnabled = True
else:
self.ComboBoxB.IsEnabled = False
#テキストボックスD│大項目│'神など固有名詞を入力'
def makeTextBoxD(self):
self.textBoxD = wpf.createElement('TextBox', self.stackPanel)
self.textBoxD.Text= '侍'
self.textBoxD.ToolTip = '神など固有名詞を入力'
# Keyが押された時のEventを追加
self.textBoxD.KeyDown += self.onKeyDownD
# Focusが外れた時のEventを追加
self.textBoxD.LostFocus += self.onLostFocusD
#ラベルD
def makeTextBlockD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスD│押された時
def onKeyDownD(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusD(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスE│中項目│'常駐、Attack0、≪PS1.2≫など詳細を入力'
def makeTextBoxE(self):
self.textBoxE = wpf.createElement('TextBox', self.stackPanel)
self.textBoxE.Text= '常駐 ≪PS1.2≫'
self.textBoxE.ToolTip = '常駐、Attack0、≪PS1.2≫など詳細を入力'
# Keyが押された時のEventを追加
self.textBoxE.KeyDown += self.onKeyDownE
# Focusが外れた時のEventを追加
self.textBoxE.LostFocus += self.onLostFocusE
#ラベルE
def makeTextBlockD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスE│押された時
def onKeyDownE(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusE(self, sender, e):
self.textBlock.Text = self.textBox.Text
#ラベルE│作成されるEFDの名前
def makeLabelE(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = ('\n例:'+'EFD_0016_'+self.ComboBoxA.SelectedItem+'_'+self.textBoxA.Text+'_'+self.textBoxB.Text+'_'+self.textBoxC.Text)
#ラベルG│作成されるEFDの名前
def makeLabelG(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = ('例:'+'【'+self.ComboBoxB.SelectedItem+'】'+'〈侍〉'+'常駐 ≪PS1.2≫\n※選択中のアセットフォルダにEFDが作成されます。')
#ボタンG│Create:EFD
def onBtnG(self, sender, arg):
print "EFDを作成しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
getActiveAssetFolder =cmds.getActiveAssetFolder()
#asset =cmds.createAsset('assets:/VFX/', 'EFD_0016_'+self.ComboBoxA.SelectedItem+'29_004_00'+'_'+'Berk'+'_'+'attack1'+'_'+'00', 'EffectAsset');
#選択したフォルダにEFDを作成
asset =cmds.createAsset(getActiveAssetFolder, 'EFD_0016_'+self.ComboBoxA.SelectedItem+'_'+self.textBoxA.Text+'_'+self.textBoxB.Text+'_'+self.textBoxC.Text, 'EffectAsset');
asset.Alias ='【'+self.ComboBoxB.SelectedItem+'】'+'〈'+self.textBoxD.Text+'〉'+self.textBoxE.Text
cmds.openAsset(asset);
node = cmds.addEffectNode(asset, 'Emitter', 'SampleEmitter');
cmds.addEffectItem(node, 'TypeBillboard3D');
cmds.addEffectItem(node, 'UVSequence');
cmds.addEffectItem(node, 'Velocity3D');
cmds.addEffectItem(node, 'RotateAnim');
cmds.addEffectItem(node, 'ScaleAnim');
cmds.addEffectItem(node, 'Distortion');
cmds.addEffectItem(node, 'Blink');
cmds.addEffectItem(node, 'Noise');
cmds.addEffectItem(node, 'PtBehavior');
cmds.addEffectItem(node, 'ShaderSettings');
node = cmds.getEffectNode(asset, 'Root');
node.Name + ' : ' + str(node.NodeType);
cmds.addEffectItem(node, 'UnitCulling');
cmds.addEffectItem(node, 'EmitterPriority');
cmds.saveAsset(asset);
print 'Sample:asset'
cmds.label( asset );
def makeButtonG(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '※Create:EFD※'
self.button.Click += self.onBtnG
def __init__(self):
self.makeWindow()
#ラベルB│AssetBrowser
self.makeLabelB()
#ボタンA│AssetBrowser:EFD
self.makeButtonA()
#ボタンB│AssetBrowser:MasterScene
self.makeButtonB()
#ボタンC│AssetBrowser:Loc11
self.makeButtonC()
#ボタンF│AssetBrowser:Loc03
self.makeButtonF()
#ラベルC│その他
self.makeLabelC()
#ボタンD│Switch:EffectIconWidget
self.makeButtonD()
#ボタンH│VerifyResource
self.makeButtonH()
#ラベルD│EFD作成ツール
self.makeLabelD()
#コンボボックスA│ch,cs,sm,st,tb,wpから選択
self.makeComboBoxA()
#テキストボックスA│大項目│ID│'0100_004_01'
self.makeTextBoxA()
#テキストボックスB│中項目'Berk(_attack1)'
self.makeTextBoxB()
#テキストボックスC│小項目'00'
self.makeTextBoxC()
#ラベルF│エイリアス名
self.makeLabelF()
#コンボボックスB│PL,EM,NPC,汎用,イベント,プロップ,背景から選択
self.makeComboBoxB()
#テキストボックスD│大項目│'神など固有名詞を入力'
self.makeTextBoxD()
#テキストボックスE│中項目│'常駐、Attack0、≪PS1.2≫など詳細を入力'
self.makeTextBoxE()
#ラベルE│作成されるEFDの名前
self.makeLabelE()
#ラベルG│作成されるEFDの名前
self.makeLabelG()
#self.makeTextBlockA()
#ボタンG│Create:EFD
self.makeButtonG()
self.win.Show()
VFX()
import engine.cmds as cmds
import engine.wpf as wpf
class VFX:
#ウィンドウ
def makeWindow(self):
self.win = wpf.createElement('Window')
self.win.Width = 390
self.win.Height = 600
self.win.Title = 'VFX'
self.win.Background = 'Gray'
self.grid = wpf.createElement('Grid', self.win)
self.stackPanel = wpf.createElement('StackPanel', self.grid)
#ラベルB│AssetBrowser
def makeLabelB(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = 'AssetBrowser'
#ボタンA│AssetBrowser:EFD
def onBtnA(self, sender, arg):
print "AssetBrowser:EFDを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetA = cmds.findAsset( 'assets:/VFX/EffectEditor/EFD_Character/__folder.folder.json' )
cmds.setActiveAsset( assetA )
assetA = cmds.getActiveAsset();
print assetA
def makeButtonA(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:EFD'
self.button.Click += self.onBtnA
#ボタンB│AssetBrowser:MasterScene
def onBtnB(self, sender, arg):
print "AssetBrowser:MasterSceneを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetB = cmds.findAsset( 'assets:/AppSystem/Scene/Authoring/Master.scn.json' )
cmds.setActiveAsset( assetB )
assetB = cmds.getActiveAsset();
print assetB
def makeButtonB(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:MasterScene'
self.button.Click += self.onBtnB
#ボタンC│AssetBrowser:Loc11
def onBtnC(self, sender, arg):
print "AssetBrowser:Loc11を選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetC = cmds.findAsset( 'assets:/Develop/Scene/Location/loc11/DevelopLoc11/DevelopLoc11.scn.json' )
cmds.setActiveAsset( assetC )
assetC = cmds.getActiveAsset();
print assetC
def makeButtonC(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:Loc11'
self.button.Click += self.onBtnC
#ボタンF│AssetBrowser:Loc03
def onBtnF(self, sender, arg):
print "AssetBrowser:Loc03を選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
assetF = cmds.findAsset( 'assets:/Develop/Scene/Location/loc03/DevelopLoc03/DevelopLoc03.scn.json' )
cmds.setActiveAsset( assetF )
assetF = cmds.getActiveAsset();
print assetF
def makeButtonF(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '☆AssetBrowser:Loc03'
self.button.Click += self.onBtnF
#self.textBlockmakeButtonF = wpf.createElement('TextBlock', self.stackPanel)
#ラベルC│その他
def makeLabelC(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '\nその他'
#ボタンD│Switch:EffectIconWidget
def onBtnD(self, sender, arg):
print "EffectIconWidgetのオン/オフ切り換え"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
# EffectIconWidgetのon/offを切り替えます
list = cmds.getMainViewWidgets()
for widget in list:
if widget.Name == 'EffectIconWidget':
widget.Enable = not(widget.Enable);
cmds.trySync(widget);
# end if
# end for
def makeButtonD(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = 'Switch:EffectIconWidget'
self.button.Click += self.onBtnD
#ボタンH│VerifyResource
def onBtnH(self, sender, arg):
print "AssetBrowser:Assetsを選択しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
#AssetBrowser:Assetsを選択
findAssetFolder = cmds.findAssetFolder( 'assets:/' )
cmds.setActiveAssetFolder( findAssetFolder )
#VerifyResource
getActiveAssetFolder = cmds.getActiveAssetFolder()
goodAssetList = cmds.getChildAssets( getActiveAssetFolder )
badAssetList = cmds.verifyAsset( goodAssetList )
print ( 'goodAssetList' )
print goodassetList
print ( 'badAssetList' )
print badAssetList
def makeButtonH(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = 'VerifyResource'
self.button.Click += self.onBtnH
#self.textBlockmakeButtonH = wpf.createElement('TextBlock', self.stackPanel)
#ラベルD│EFD作成ツール
def makeLabelD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '\nEFD作成ツール\nEFD名 設定↓'
#コンボボックスA│ch,cs,sm,st,tb,wpから選択
def makeComboBoxA(self):
self.ComboBoxA = wpf.createElement('ComboBox', self.stackPanel)
self.ComboBoxA.ItemsSource = ['ch', 'cs', 'sm', 'st', 'tb', 'wp']
self.ComboBoxA.SelectionChanged += self. onSelectionChanged
#self.makeResultUI()
self.ComboBoxA.SelectedIndex = 0
def makeResultUI(self):
self.textBlockmakeComboBoxA = wpf.createElement('TextBlock', self.stackPanel)
#コンボボックスA│押された時
def onSelectionChanged(self, sender, e):
self.selectedIndex = sender.SelectedIndex
self.selectedValue = sender.SelectedValue
self.updateText()
def updateText(self):
self.textBlockmakeComboBoxA.Text = '' + str(self.selectedValue) + ''
def isEnabled(self, sender, e):
if self.checkBox.IsChecked == True:
self.ComboBoxA.IsEnabled = True
else:
self.ComboBoxA.IsEnabled = False
#テキストボックスA│大項目│ID│'0100_004_01'
def makeTextBoxA(self):
self.textBoxA = wpf.createElement('TextBox', self.stackPanel)
self.textBoxA.Text= '0100'
self.textBoxA.ToolTip = 'ID'
# Keyが押された時のEventを追加
self.textBoxA.KeyDown += self.onKeyDownA
# Focusが外れた時のEventを追加
self.textBoxA.LostFocus += self.onLostFocusA
#ラベルA ※未使用かも
def makeTextBlockA(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスA│押された時
def onKeyDownA(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusA(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスB│中項目'Berk(_attack1)'
def makeTextBoxB(self):
self.textBoxB = wpf.createElement('TextBox', self.stackPanel)
self.textBoxB.Text= 'Berserker'
self.textBoxB.ToolTip = '中項目 Berk(_attack1)など詳細を機材'
# Keyが押された時のEventを追加
self.textBoxB.KeyDown += self.onKeyDownB
# Focusが外れた時のEventを追加
self.textBoxB.LostFocus += self.onLostFocusB
#ラベルB
def makeTextBlockB(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスB│押された時
def onKeyDownB(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusB(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスC│小項目'00'
def makeTextBoxC(self):
self.textBoxC = wpf.createElement('TextBox', self.stackPanel)
self.textBoxC.Text= '00'
self.textBoxC.ToolTip = '小項目'
# Keyが押された時のEventを追加
self.textBoxC.KeyDown += self.onKeyDownC
# Focusが外れた時のEventを追加
self.textBoxC.LostFocus += self.onLostFocusC
#ラベルC
def makeTextBlockC(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスC│押された時
def onKeyDownC(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusC(self, sender, e):
self.textBlock.Text = self.textBox.Text
#ラベルF│エイリアス名
def makeLabelF(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = 'エイリアス名 設定↓'
#コンボボックスB│PL,EM,NPC,汎用,イベント,プロップ,背景から選択
def makeComboBoxB(self):
self.ComboBoxB = wpf.createElement('ComboBox', self.stackPanel)
self.ComboBoxB.ItemsSource = ['PL', 'EM', 'NPC', '汎用', 'イベント', 'プロップ', '背景']
self.ComboBoxB.SelectionChanged += self. onSelectionChanged
#self.makeResultUI()
self.ComboBoxB.SelectedIndex = 0
def makeResultUI(self):
self.textBlockmakeComboBoxB = wpf.createElement('TextBlock', self.stackPanel)
#コンボボックスB│押された時
def onSelectionChanged(self, sender, e):
self.selectedIndex = sender.SelectedIndex
self.selectedValue = sender.SelectedValue
self.updateText()
def updateText(self):
self.textBlockmakeComboBoxB.Text = '' + str(self.selectedValue) + ''
def isEnabled(self, sender, e):
if self.checkBox.IsChecked == True:
self.ComboBoxB.IsEnabled = True
else:
self.ComboBoxB.IsEnabled = False
#テキストボックスD│大項目│'神など固有名詞を入力'
def makeTextBoxD(self):
self.textBoxD = wpf.createElement('TextBox', self.stackPanel)
self.textBoxD.Text= '侍'
self.textBoxD.ToolTip = '神など固有名詞を入力'
# Keyが押された時のEventを追加
self.textBoxD.KeyDown += self.onKeyDownD
# Focusが外れた時のEventを追加
self.textBoxD.LostFocus += self.onLostFocusD
#ラベルD
def makeTextBlockD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスD│押された時
def onKeyDownD(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusD(self, sender, e):
self.textBlock.Text = self.textBox.Text
#テキストボックスE│中項目│'常駐、Attack0、≪PS1.2≫など詳細を入力'
def makeTextBoxE(self):
self.textBoxE = wpf.createElement('TextBox', self.stackPanel)
self.textBoxE.Text= '常駐 ≪PS1.2≫'
self.textBoxE.ToolTip = '常駐、Attack0、≪PS1.2≫など詳細を入力'
# Keyが押された時のEventを追加
self.textBoxE.KeyDown += self.onKeyDownE
# Focusが外れた時のEventを追加
self.textBoxE.LostFocus += self.onLostFocusE
#ラベルE
def makeTextBlockD(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = '↓入力後にEnterキー'
self.textBlock = wpf.createElement('TextBlock', self.stackPanel)
#テキストボックスE│押された時
def onKeyDownE(self, sender, e):
# Enterが押された時のみ
if str(e.Key) == 'Return':
self.textBlock.Text = sender.Text
def onLostFocusE(self, sender, e):
self.textBlock.Text = self.textBox.Text
#ラベルE│作成されるEFDの名前
def makeLabelE(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = ('\n例:'+'EFD_0016_'+self.ComboBoxA.SelectedItem+'_'+self.textBoxA.Text+'_'+self.textBoxB.Text+'_'+self.textBoxC.Text)
#ラベルG│作成されるEFDの名前
def makeLabelG(self):
self.comment = wpf.createElement('TextBlock', self.stackPanel)
self.comment.Text = ('例:'+'【'+self.ComboBoxB.SelectedItem+'】'+'〈侍〉'+'常駐 ≪PS1.2≫\n※選択中のアセットフォルダにEFDが作成されます。')
#ボタンG│Create:EFD
def onBtnG(self, sender, arg):
print "EFDを作成しました。"
if cmds.isKeyDown( 'ControlKey' ):
print 'Control Down'
else:
getActiveAssetFolder =cmds.getActiveAssetFolder()
#asset =cmds.createAsset('assets:/VFX/', 'EFD_0016_'+self.ComboBoxA.SelectedItem+'29_004_00'+'_'+'Berk'+'_'+'attack1'+'_'+'00', 'EffectAsset');
#選択したフォルダにEFDを作成
asset =cmds.createAsset(getActiveAssetFolder, 'EFD_0016_'+self.ComboBoxA.SelectedItem+'_'+self.textBoxA.Text+'_'+self.textBoxB.Text+'_'+self.textBoxC.Text, 'EffectAsset');
asset.Alias ='【'+self.ComboBoxB.SelectedItem+'】'+'〈'+self.textBoxD.Text+'〉'+self.textBoxE.Text
cmds.openAsset(asset);
node = cmds.addEffectNode(asset, 'Emitter', 'SampleEmitter');
cmds.addEffectItem(node, 'TypeBillboard3D');
cmds.addEffectItem(node, 'UVSequence');
cmds.addEffectItem(node, 'Velocity3D');
cmds.addEffectItem(node, 'RotateAnim');
cmds.addEffectItem(node, 'ScaleAnim');
cmds.addEffectItem(node, 'Distortion');
cmds.addEffectItem(node, 'Blink');
cmds.addEffectItem(node, 'Noise');
cmds.addEffectItem(node, 'PtBehavior');
cmds.addEffectItem(node, 'ShaderSettings');
node = cmds.getEffectNode(asset, 'Root');
node.Name + ' : ' + str(node.NodeType);
cmds.addEffectItem(node, 'UnitCulling');
cmds.addEffectItem(node, 'EmitterPriority');
cmds.saveAsset(asset);
print 'Sample:asset'
cmds.label( asset );
def makeButtonG(self):
self.button = wpf.createElement('Button', self.stackPanel)
self.button.Content = '※Create:EFD※'
self.button.Click += self.onBtnG
def __init__(self):
self.makeWindow()
#ラベルB│AssetBrowser
self.makeLabelB()
#ボタンA│AssetBrowser:EFD
self.makeButtonA()
#ボタンB│AssetBrowser:MasterScene
self.makeButtonB()
#ボタンC│AssetBrowser:Loc11
self.makeButtonC()
#ボタンF│AssetBrowser:Loc03
self.makeButtonF()
#ラベルC│その他
self.makeLabelC()
#ボタンD│Switch:EffectIconWidget
self.makeButtonD()
#ボタンH│VerifyResource
self.makeButtonH()
#ラベルD│EFD作成ツール
self.makeLabelD()
#コンボボックスA│ch,cs,sm,st,tb,wpから選択
self.makeComboBoxA()
#テキストボックスA│大項目│ID│'0100_004_01'
self.makeTextBoxA()
#テキストボックスB│中項目'Berk(_attack1)'
self.makeTextBoxB()
#テキストボックスC│小項目'00'
self.makeTextBoxC()
#ラベルF│エイリアス名
self.makeLabelF()
#コンボボックスB│PL,EM,NPC,汎用,イベント,プロップ,背景から選択
self.makeComboBoxB()
#テキストボックスD│大項目│'神など固有名詞を入力'
self.makeTextBoxD()
#テキストボックスE│中項目│'常駐、Attack0、≪PS1.2≫など詳細を入力'
self.makeTextBoxE()
#ラベルE│作成されるEFDの名前
self.makeLabelE()
#ラベルG│作成されるEFDの名前
self.makeLabelG()
#self.makeTextBlockA()
#ボタンG│Create:EFD
self.makeButtonG()
self.win.Show()
VFX()