SoftimageではCameraビューでポリゴンを作成すると以下の様に作成されます。
Mayaではこのようにperspビューでポリゴンを作成すると以下の様にXZ(Y=0)平面上に伸びて作成されます。ポリゴンの追加の場合も同じです。
このようにすれば、Mayaでも同じように使用できると考えました。
以下のMELスクリクトで作成したカメラを使用してください。エイム(注視点名)camera_aim(親の名前はcamera_group)
MEL:カメラおよびエイムを作成、階層構造の名前変更
カメラ作成します。
//カメラおよびエイム(注視点)作成
camera -centerOfInterest 5 -focalLength 35 -lensSqueezeRatio 1 -cameraScale 1 -horizontalFilmAperture 1.41732 -horizontalFilmOffset 0 -verticalFilmAperture 0.94488 -verticalFilmOffset 0 -filmFit Fill -overscan 1 -motionBlur 0 -shutterAngle 144 -nearClipPlane 0.1 -farClipPlane 10000 -orthographic 0 -orthographicWidth 30 -panZoomEnabled 0 -horizontalPan 0 -verticalPan 0 -zoom 1; objectMoveCommand; cameraMakeNode 2 "";
//cameraに名前を変更
rename camera;
//同階層のエイム(注視点)をcamera_aimに名前を変更
pickWalk -d right;rename camera_aim;
//上階層を選択しcamera_groupに名前を変更
pickWalk -d up;rename camera_group;
以下のスクリプトを実行します。
//プレーンの大きさは1000にします。使用する大きさに合わせて変更してください。
polyPlane -w 1000 -h 1000 -sx 1 -sy 1 -ax 0 1 0 -cuv 2 -ch 1;
rename ViewPlane_;
select -r camera_group|camera_aim ;
select -tgl ViewPlane_ ;
pointConstraint -offset 0 0 0 -weight 1;
select -r camera_group|camera ;
select -tgl ViewPlane_ ;
aimConstraint -offset 0 0 0 -weight 1 -aimVector 0 1 0 -upVector 0 1 0 -worldUpType "scene";
select -r ViewPlane_ ;makeLive;
//ViewPlane_をテンプレート化します。レンダリングとビューからの選択ができなくなります。テンプレート化したオブジェクトを選択する場合はアウトライナを使用します。
setAttr "ViewPlane_Shape.template" 1;
//選択ツール起動によるツールの解除
SelectToolOptionsMarkingMenuPopDown;
MarkingMenuPopDown;
//ポリゴン作成ツールを起動します。
setToolTo polyCreateFacetContext ; polyCreateFacetCtx -e -pc `optionVar -q polyKeepFacetsPlanar` polyCreateFacetContext;
★ビューパネルをcameraに変更します。以下のスクリプトを実行しても変更できます。
lookThroughModelPanel camera_group|camera modelPanel4;
editMenuUpdate MayaWindow|mainEditMenu;
以下のポリゴン作成ツールの起動のオペレーションはスクリプトの最後に含めました。
cameraビューに
モデリング(Modeling)メニュー セットで、メッシュ ツール > ポリゴンを作成(Mesh Tools > Create Polygon)を選択し、ポリゴンを作成すると以下の様になります。
ポリゴンを追加する場合
モデリング(Modeling)メニューセットで、メッシュ ツール > ポリゴンに追加(Mesh Tools > Append to Polygon)を選択します。
オブジェクトがライブになっています。UI上位置のステータスラインで確認できます。
★ポリゴン作成、追加以外で使用する場合は、ライブを解除しましょう。
★ViewPlane_をライブにするスクリプト
select -r ViewPlane_ ;makeLive;
★ライブを解除するスクリプト
select -cl ;makeLive;
★ViewPlane_ を削除し、ライブオブジェクトオフにするスクリプト
//解除する場合、オブジェクトのライブを解除します。
select -r ViewPlane_ ;doDelete;
select -cl ;makeLive;
★ビューパネルをperspビューに戻すスクリプト
lookThroughModelPanel persp modelPanel4;
editMenuUpdate MayaWindow|mainEditMenu;
★このスクリプトを使用して横並びのボタンウインドウをつくりました。
https://sites.google.com/site/mayadictionary/mel/mel-heng-bingbibotannouindou-zuo-cheng-fang-fa
▼各ボタン説明
cam: camera作成、エイム(注視点名)camera_aim(親の名前はcamera_group)このカメラを作成して、camVボタンをクリックしてください。
viewC: 選択頂点中心位置にカメラのエイム(注視点)が移動
SI_N:チェックオンにするとcamera方向に向けたポリゴン板を作成、それをライブにし、スナップさせてポリゴン作成ツールが起動します。チェックオフにすると、ポリゴン板を削除、ライブを解除。
ADDpoly: ポリゴン追加ツールを起動。
camV: cameraにビューパネルを切り替える。作業用はこのビューです。
perspV: perspにビューパネルを切り替える。
//以下のスクリプトでSoftimage_Viewウインドウを作成
window -title "Softimage_View" -rtf 1;
columnLayout -adjustableColumn true;
gridLayout -numberOfColumns 6 -cellWidth 50 -cellHeight 20;
button -label "cam" -command "//もしcamera_groupがなかった場合、太字スクリプトを実行する。\nint $OBJ_=`objExists \"camera_group\"`;\nif($OBJ_== 0)\n{\n//カメラおよびエイム(注視点)作成\ncamera -centerOfInterest 5 -focalLength 35 -lensSqueezeRatio 1 -cameraScale 1 -horizontalFilmAperture 1.41732 -horizontalFilmOffset 0 -verticalFilmAperture 0.94488 -verticalFilmOffset 0 -filmFit Fill -overscan 1 -motionBlur 0 -shutterAngle 144 -nearClipPlane 0.1 -farClipPlane 10000 -orthographic 0 -orthographicWidth 30 -panZoomEnabled 0 -horizontalPan 0 -verticalPan 0 -zoom 1; objectMoveCommand; cameraMakeNode 2 \"\";\n //cameraに名前を変更\nrename camera;\n //同階層のエイム(注視点)をcamera_aimに名前を変更\npickWalk -d right;rename camera_aim;\n//上階層を選択しcamera_groupに名前を変更\npickWalk -d up;rename camera_group;\n}";
button -label "viewC" -command "//選択頂点ピボットを登録(複数選択頂点の中心を登録)\nstring $selVEX1[]= `ls -sl`;\nSelectToggleMode;changeSelectMode -object;\nstring $selOBJ1[]= `ls -sl`;\nSelectToggleMode;\nselect -r $selVEX1;\nCreateCluster;\nrename \"CSo_\";\nfloat $C_X = `getAttr CSo_Shape.originX`;\nfloat $C_Y = `getAttr CSo_Shape.originY`;\nfloat $C_Z = `getAttr CSo_Shape.originZ`;\nselect -r CSo_;\ndoDelete;\ndoDelete;\n//頂点位置にcamera_aim(親の名前はcamera_group)を移動します。\nselect -r camera_group|camera_aim ;\nmove -a $C_X $C_Y $C_Z ;\nselect -cl ;";
checkBox -label "SI_N" -onCommand "int $OBJ_=`objExists \"ViewPlane_\"`;\nif($OBJ_== 0)\n{\n//プレーンの大きさは1000にします。使用する大きさに合わせて変更してください。\npolyPlane -w 1000 -h 1000 -sx 1 -sy 1 -ax 0 1 0 -cuv 2 -ch 1;\nrename ViewPlane_;\nselect -r camera_group|camera_aim ;\nselect -tgl ViewPlane_ ;\npointConstraint -offset 0 0 0 -weight 1;\nselect -r camera_group|camera ;\nselect -tgl ViewPlane_ ;\naimConstraint -offset 0 0 0 -weight 1 -aimVector 0 1 0 -upVector 0 1 0 -worldUpType \"scene\";\nselect -r ViewPlane_ ;makeLive;\n//ViewPlane_をテンプレート化します。レンダリングとビューからの選択ができなくなります。テンプレート化したオブジェクトを選択する場合はアウトライナを使用します。\n//選択ツール起動によるツールの解除\nSelectToolOptionsMarkingMenuPopDown;\nMarkingMenuPopDown;\nsetAttr \"ViewPlane_Shape.template\" 1;\n//ポリゴン作成ツールを起動します。\nsetToolTo polyCreateFacetContext ; polyCreateFacetCtx -e -pc `optionVar -q polyKeepFacetsPlanar` polyCreateFacetContext;\n}" -offCommand "//解除する場合、オブジェクトのライブを解除します。\nselect -r ViewPlane_ ;doDelete; \nselect -cl ;makeLive;\nSelectToolOptionsMarkingMenu;\ndR_SelectToolMarkingMenuPopDown;";
button -label "ADDpoly" -command "setToolTo polyAppendFacetContext ; polyAppendFacetCtx -e -pc `optionVar -q polyKeepFacetsPlanar` polyAppendFacetContext" ;
button -label "camV" -command "lookThroughModelPanel camera_group|camera modelPanel4;\neditMenuUpdate MayaWindow|mainEditMenu;";
button -label "perspV" -command "//ビューパネルをperspビューに戻すスクリプト\nlookThroughModelPanel persp modelPanel4;\neditMenuUpdate MayaWindow|mainEditMenu;";
setParent..;
showWindow;