Beauty Salon α-BET (alphabet)

space001
Blender3d Collada dae modeling Use Papervision3d on Progression3 and 4 http://a-bet.secret.jp/#/access
more whaison works.
whaison space
space002
http://whaison.jugem.jp/ https://jp.pinterest.com/whaison/ https://www.instagram.com/whaison/ https://whaison.amebaownd.com/
https://suzuri.jp/whaison
http://whaison.blogspot.com/
http://whaison.tumblr.com/ http://qiita.com/users/whaison http://www.behance.net/whaison https://github.com/whaison/ https://bitbucket.org/whaison http://serato.com/user/whaison http://whaison.hatenablog.jp/

typo memo
http://d.hatena.ne.jp/whaison/


dayNote
http://www.myspace.com/whaison http://ameblo.jp/whaison/ http://blog.crooz.jp/whaison/ http://blog.crooz.jp/whaisoncafe/ http://nenpyo.org/whaison

fulldisk
http://full.shin-gen.jp/
http://whaison.client.jp/
http://www.dclog.jp/whaison/
featured forums.
space004
forum.unity3d.com/

forums.unrealengine.com.

Progression Forum.

FlashDevelop Forum.

Papervision3D Forum.

FlexUserGroup Forum.

SparkProjectForum.





Twitter







Mobile
qrcode
Calendar
SunMonTueWedThuFriSat
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< May 2015 >>
New Entries
Archives
Categories
Recent comment
  • FlashDevelopでフォント埋め込み
    感謝!! (12/24)
  • cocos2d-x-3.0rc0 ,c++ ,cpp でTexturePacker で 吐き出した、plist と png でパラパラアニメーションのコード例
    whaison (04/17)
  • Blender2.67にbvh(web上に2500個以上ころがってる)入れてそのBoneオブジェクトをUnity4.0のmecanimで使う
    whaison (08/19)
  • Apple Dev Center 「Certificates, Identifiers & Profiles」で Adhoc をつくってXCode4.6.1でArchiveしてipaを書き出し
    whaison (04/30)
  • Flash CS6でプロパティーパネルで物理演算のジャンプの高さを設定できるCitrus Engine
    whaison (03/01)
  • 「Flash以外、例えばKinectとか」ON TOKYO (会場:高田馬場4-11-8 Floor 6階 ) 短縮URL http://bit.ly/dI0Bfx
    uka (03/02)
  • App Store Review Guidelines アップル社のアプリ審査基準ガイドライン和訳 Apple が 開発者を悩ませ ユーザーをハッピーにしたいガイドライン。w
    whaison (01/25)
  • Unity3d では ADOBE JAPAN OSAKIで行われたFITC 2010 TOKYOでは、 「iOS用にパブリッシュするためには、フリー版ではなくて、有料版を買ってください。さらに追加のパッケージである、"iOS Package (for Development)"を買ってください」とのことだった。
    whaison (01/25)
  • enjoy Adidas-Futsal-Park
    whaison (01/16)
  • MacBookAir にFlashPlayer入れたらなった。Mac Flash Player 10.1/10.2でUstream などでカメラが認識されないバグそんなときはUstreamProducer!でもなくiPhoneだと直ぐにライブ配信できた
    whaison (01/14)
simple sintax high lighter2.0
space003
SyntaxHighlighter2.0用 の貼り付けコード作成する!
ブログパーツ-BLOG PARTS.
Profile
Links
Recommend
Sponsored Links
Admin
無料ブログ作成サービス JUGEM
Seach this site
            
2022.03.28 Monday
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - | pookmark |
            
2015.05.28 Thursday
Maya LT 2015 Extension 1: Game Export Tool
Maya LT 2015 Extension 1: Game Export Tool

https://m.youtube.com/watch?v=gDW_-ACddd4
| whaison | Maya | 09:08 | comments(0) | - | pookmark |
            
2015.05.27 Wednesday
Autodesk Maya2015からの単一のFBXに複数の名前付きのanimation :Multi-Takeやめたほうがいい。
このPDFの翻訳をしておく 結果つかったらMayaのFBX書き出しが猛烈に遅くなってフリーズしたのでやめといたほうがいいです。しかも結果も出なかった。。悲しい悲しい悲しい


[PDF]Exporting multiple named animations from ... - Metaio  

Autodesk Mayaからの単一のFBXに複数の名前付きのアニメーションのエクスポート

マヤから複数のアニメーションをエクスポートします

このチュートリアルでは、複数のアニメーションをエクスポートするPlasticAntソフトウェアによって開発された

Multi-Take Maya plugin

を使用することになります。また、オートデスク「FBXコンバータ」にアニメーションを表示します。このチュートリアルを開始する前に、これらのソフトウェアパッケージがインストールされているの両方を確認してください。

Multi-TakeのMayaプラグインは、プラスチック製のAntのWebサイトかTurbosquid.comからに直接10ドルで購入することができます。

Multi-Take Maya plugin  
Plastic And Multi Take Maya OSX で検索するとある

Windows 10ドル AutoDesk経由
https://apps.exchange.autodesk.com/MAYA/ja/Detail/Index?id=appstore.exchange.autodesk.com%3Afbxmultitakemaya_windows64%3Aen

MacOs £6.99 作者にPaypalで払える
http://plasticant.co.uk/site/downloads/fbx-multi-take-maya-osx/

Turbosquid.com偽物かも 詐欺サイト?
http://www.turbosquid.com/Search/Index.cfm?keyword=Multi+Take+maya 



(注:正確にこのチュートリアルに従っていると、まだアンインストールしてくださいして、再度インストールプラグインをMutliテイク正しい結果を取得されていませんので、もしこのプラグインをインストールした後にMayaインタフェースには視覚的な違いがあってはなりません)
スタート

このプロジェクトを開始するには、あなたはすでにあなたの3Dオブジェクト(複数可)のタイムラインににキーイングを使用するすべての異なるアニメーションを持っている必要があります。あなたの異なったアニメーションの各開始/終了点のキーフレームがあることを確認し、準備ができたら、それはあなたのアニメーションセクションのみ1を覆うように、あなたのタイムスライダを調整します。ここでは、この下の例では、フレーム0〜20です。

今すぐあなたのオブジェクト(複数可)を選択し、ウィンドウのバーに向かって移動し、トラックスエディタウィンドウを開きます。
//Window-> General editor-> Scroll right through tabs section->Character Clips
//ウィンドウ - >一般エディタ - >右タブ部 - >キャラクター·クリップをスクロール//意味不明

ウィンドウ - >アニメーションエディタ - >トラックスエディタ
今トラックスエディタの[作成]タブに移動し、アニメーションクリップ□のオプションボックスを選択します。

確認してください。すべての設定は、名前の部分を除いて下の画像と同じです。この名前は、適切であると感じるものは何でも変更することができます。アニメーションクリップを生成するために、クリップの作成]を選択します。


クリップが作成されると、それだけで次のアニメーションクリップをカバーし、再度処理を繰り返すように、Mayaのメインディスプレイにタイムスライダを移動します。

この下の私たちの画像では1番目と2番目のクリップ共有しているため、同じキーフレームのフレーム20〜40です。


再び作成->アニメーションクリップを選択します。

新しいアニメーションクリップの別の名前を与えます。


翻訳:今回は見たところこっちの設定に合わせた方が作りやすかったので
以下画像の通りに設定しました。



トラックスエディタでアニメーションが行くどこトラックスエディタのタイムライン上に青色のバーを明らかにするタブメニューの下に位置する「すべて表示」アイコンを選択します。

トラックスエディタ]ウィンドウの[ライブラリ]タブの下にクリップを挿入ボタンを選択して、アニメーションクリップの両方を挿入します。


 これはあなたのアニメーションクリップを表す2つの青いバーを生成する必要があります。彼らは次々に位置するように、あなたのタイムラインに青いアニメーションクリップを配置します。

あなたのクリップの青いバーがトラックスエディタウィンドウのタイムライン内に表示されない場合トラックスエディタを閉じてください、それを再度開きます。

 また、タイムラインの間違った部分にすぎズームインされていないことを確認するためにも同様にズームアウトしてみてください。

(注:あなたのアニメーションにオフセットを引き起こす可能性があります、元のキーフレームを削除せずに、あなたのオブジェクトへのアニメーションクリップを挿入これを回避するには、文字のクリップを右クリックし、「クリップを有効」未確認)




あなたのクリップが挿入され、正しく配置されたら、
Mayaのメインウィンドウに移動し、
それではあなたのキーフレームのすべてを覆うようにタイムスライダを調整します。

この下の画像ではフレーム0〜40です。

FBXへのオブジェクト(複数可)とエクスポート]を選択します。


あなたのファイルの確認
このプロセス全体がオープンオートデスクFBXコンバータを働いているかをチェックし、「FBXビューア」を選択します。あなたの3Dモデルがアニメーションで表示された表示するにはウィンドウに、ハードドライブ上のフォルダから、あなたのFBXファイルをドラッグします。

| whaison | Maya | 16:10 | comments(0) | - | pookmark |
            
2015.05.26 Tuesday
jameskyleさんのFBX Batch Exporter 0.0.1 (maya script)
jameskyleさんのFBX Batch Exporter 0.0.1 (maya script)

Unity 2D Game Development Cookbook
https://books.google.co.jp/books?id=Yii5BgAAQBAJ&hl=ja&source=gbs_navlinks_s
この本の中に
https://books.google.co.jp/books?id=Yii5BgAAQBAJ&pg=PA31&lpg=PA31&dq=Maya+mel+Fbx+Animation+Animation+Name+Unity+clips+start+end+setting+Editor&source=bl&ots=t4kICRAuE2&sig=jn2Hi9WcWsZbN1VmIxOIVpQHfVY&hl=ja&sa=X&ei=QlRkVdnAA4fHmwX5nYHoCA&ved=0CCAQ6AEwAA#v=onepage&q=Maya%20mel%20Fbx%20Animation%20Animation%20Name%20Unity%20clips%20start%20end%20setting%20Editor&f=false
こんなURLがあって
http://www.jameskyle.net/2013/03/maya-to-fbx-batch-export/
こっちが最新で。
http://www.jameskyle.net/2013/04/maya-fbx-batch-exporter-complete/

使い方がイマイチわからないんだけど複数AnimationNameを出力してくれそうなものを見つけた!
うまくいってないのはどうすればいいかわからない。fbxFileNameを別にしたほうがいいのかな










 
| whaison | Maya | 21:16 | comments(0) | - | pookmark |
            
2015.05.22 Friday
Maya2016でスキンウェイトセーブ保存復帰できる Dora SkinWeight Import Export 3.6.0 (maya script)
Maya2016で
スキンウェイトセーブ保存復帰できる

Dora SkinWeight Import Export 3.6.0 (maya script)
本家日本語

http://dorayuki.com/doramaya/SkinWeightIE.htm

http://www.creativecrash.com/maya/script/dora-skinweight-import-export

skin Weight .dswが吐き出される

skin Weight .dswをインポート


チェック???





DoraSkinWeightImpExp001.mel



global string $gDoraSkinWeight_ver = "3.60";





proc string DoraSkinWeightImpExp_vtx2uv( string $vtx )
    {
    string $ret;
    string $workString[];
    
    $workString= `polyListComponentConversion -fv -tuv $vtx`;
    
    
    
    $ret= `substitute ".map" $workString[0] ".uv"`;
    
    return( $ret );
    }




proc string DoraSkinWeightImpExp_checkOverlapsList( string $list[] )
    {
    string $shorteList[];
    string $overlapsList[];
    string $overlapsList2[];
    int $overlapsListN;
    int $i, $j, $k;
    string $retString;
    int $overlapsCount;
    
    $shorteList = stringArrayRemoveDuplicates($list);
    if( size($list)==size($shorteList) )return("");
    else
        {
        
        $overlapsListN=0;
        for( $i=0 ; $i<(size( $list )-1) ; $i++ )
            {
            for( $j=$i+1 ; $j<size( $list ) ; $j++ )
                {
                if( $list[$i]==$list[$j] )
                    {
                    $overlapsList[$overlapsListN]= $list[$i];
                    $overlapsListN++;
                    }
                }
            }
        
        $overlapsList2= stringArrayRemoveDuplicates($overlapsList);
        
        $retString="";
        for( $i=0 ; $i<size($overlapsList2) ; $i++ )
            {
            $overlapsCount= stringArrayCount( $overlapsList2[$i], $list );
            $retString+= ( $overlapsList2[$i] + " (" + $overlapsCount + ") " );
            if( $i<size($overlapsList2)-1 )
                {
                $retString+= ", ";
                }
            }
        return ( $retString );
        }
    }




proc string DoraSkinWeightImpExp_extCheck( string $name, string $ext )
    {
    string $ret;
    
    $ret= $name;
    if( size($name)<=size($ext) )
        {
        $ret= $name + $ext;
        
        }
    else
        {
        if( tolower(substring( $ret, size($ret)-(size($ext)-1), size($ret) )) != $ext )
            {
            $ret= $name + $ext;
            }
        }
    return $ret;
    }




proc string DoraSkinWeightImpExp_shapeName( string $obj )
    {
    string $shape[];    

    $shape= `listHistory $obj`;
    $shape= `ls -type shape $shape`;
    
    if( size($shape)==0 )return( "" );
    else return( $shape[0] );
    


    }




proc vector DoraSkinWeightImpExp_vtx2vector( string $vtxName )
    {
    vector $vtx;
    float $workXYZf[];

    $workXYZf= `pointPosition -w $vtxName`;
    $vtx= <<$workXYZf[0], $workXYZf[1], $workXYZf[2]>>;
    
    return( $vtx );
    }





proc vector DoraSkinWeightImpExp_vtx2uvVector( string $vtxName )
    {
    vector $vtx;
    float $workXYZf[];
    string $workString;
    
    $workString= DoraSkinWeightImpExp_vtx2uv( $vtxName );
    $workXYZf= `getAttr $workString`;
    $vtx= <<$workXYZf[0], $workXYZf[1], 0.0>>;
    
    return( $vtx );
    }





proc string DoraSkinWeightImpExp_dswAppendListGet()
    {
    string $ret;
    string $fileList[];
    string $dswDir;
    int $i;
    
    $dswDir= (`workspace -q -fn`+"/dsw/");
    $fileList= `getFileList -folder $dswDir -filespec "*.dsw"`;
    
    for( $i=0,$ret="" ; $i<size( $fileList ) ; $i++ )
        {
        $ret= ($ret + "-a ¥"" + $fileList[$i] + "¥" ");
        
        }
    
    return $ret;
    }







proc string DoraSkinWeightImpExp_searchSC( string $meshShape )
    {
    string $cList[];
    
    $cList= `listHistory $meshShape`;
    $cList= `ls -type skinCluster $cList`;
    
    if( size($cList)==0 )return( "" );
    else return( $cList[0] );
    
    }




proc string DoraSkinWeightImpExp_simpleObjName( string $name )
    {
    string $ret;
    
    $ret = `substitute ".*|" $name ""`;
    
    return( $ret );
    }





global proc int DoraSkinWeightExport( string $dsw_name )
    {
    string $exportFileName;    
    int $fileId;            
    string $slList[];        
    string $shape;            
    string $sc;                
    string $jointList[];    
    int $i,$j;
    int $wp[];                
    string $workString,$workVtx;
    string $outputFileLine;    
    float $weightList[];    
    global string $gMainProgressBar;
    float $wpos[3];            
    float $uv[2];            
    int $noneUVCount;        
    int $mode;                
    
    
    if( $dsw_name=="")
        {
        error("No Export Name");
        return( 0 );
        }
    
    
    $slList= `filterExpand -sm 12`;
    if( size( $slList )==0 )
        {
        
        $slList= `filterExpand -sm 31`; 
        $slList= `ls -fl $slList`;
        if( size( $slList )==0 )
            {
            
            error("No objects SmoothSkinMesh selected (1)");
            return( 0 );
            }
        else{ $mode=2; }
        }
    else{ $mode=1;}
    
    
    
    $shape= DoraSkinWeightImpExp_shapeName( $slList[0] );
    
    
    
    $sc= DoraSkinWeightImpExp_searchSC( $shape );
    if( $sc=="" )
        {
        error("No objects SmoothSkinMesh selected (2)");
        return( 0 );
        }
    
    
    
    
    
    $jointList= `listConnections -type "joint" ($sc+".matrix")`;
    
    
    
    for( $i=0 ; $i<size($jointList) ; $i++ )
        {
        $jointList[$i]= DoraSkinWeightImpExp_simpleObjName( $jointList[$i] );
        }
    
    $workString= DoraSkinWeightImpExp_checkOverlapsList( $jointList );
    if( $workString!="" )
        {
        error("JointName Overlaps [ " + $workString + "]" );
        return( 0 );
        }
    
    
    switch( $mode )
        {
        case 1:
        $wp= `polyEvaluate -v $shape`;
        break;
        
        case 2:
        $wp[0]= size( $slList );
        break;
        }


    
    
    $exportFileName = toNativePath(`workspace -q -fn` + "/" + "dsw/" + DoraSkinWeightImpExp_extCheck($dsw_name, ".dsw"));
    
    sysFile -makeDir `dirname( $exportFileName )`;
    
    
    
    
    
    progressBar -edit
        -beginProgress
        -status ("Export  [ " + $exportFileName +" ]")
        -maxValue $wp[0]
        $gMainProgressBar;
    
    
    
    $fileId=`fopen $exportFileName "w"`;
    
    fprint $fileId ("DoraYuki Skin Weight Format 3.00¥n");
    
    
    
    $outputFileLine= "";
    for( $i=0 ; $i<size($jointList) ; $i++ )
        {
        $outputFileLine+= ($jointList[$i]);
        if( $i+1 < size($jointList) )
            {
            $outputFileLine+= ",";
            }
        }
    fprint $fileId ( $outputFileLine + "¥n" );
    
    
    $noneUVCount= 0;
    
    
    for( $i=0 ; $i<$wp[0] ; $i++ )
        {
        
        
        switch( $mode )
            {
            case 1:
            $workVtx= ($shape + ".vtx[" + $i + "]");
            break;
            
            case 2:
            $workVtx= $slList[$i];
            break;
            }
        
        $weightList= `skinPercent -q -v $sc $workVtx`;
        
        $outputFileLine= "";
        
        for( $j=0 ; $j<size($weightList) ; $j++ )
            {
            $outputFileLine+= $weightList[$j];
            if( $j+1 < size($weightList) )
                {
                $outputFileLine+= ",";
                }
            }
        
        $outputFileLine+= "|";
        
        
        $wpos= `pointPosition -w $workVtx`;
        $outputFileLine+= ( $wpos[0] + "," + $wpos[1] + "," + $wpos[2] + "|" );
        
        
        $workString= DoraSkinWeightImpExp_vtx2uv($workVtx);
        
        if( $workString!="" )
            {
            $uv= `getAttr $workString`;
            }
        else
            {
            $noneUVCount++;
            warning("noneUV Vartex[ " + $i + " ]");
            $uv[0]=0.0;
            $uv[1]=0.0;
            }
        
        $outputFileLine+= ( $uv[0] + "," + $uv[1] );
        
        
        fprint $fileId ( $outputFileLine + "¥n");
        
        
        
        progressBar -edit
            -step 1 $gMainProgressBar;
        }
    
    
    fclose $fileId;
    
    
    progressBar -edit
        -endProgress
        $gMainProgressBar;
    
    
    $i= $wp[0];
    $wp= `polyEvaluate -v $shape`;
    confirmDialog -title "DSW Exported" -message ( "[ " + $shape + " ] Vertex : " + $wp[0] + "¥n¥nDSW VertexPoint : " + $i + "¥n¥nnoneUV VartexPoint : " + $noneUVCount + "¥n¥nExportDSWFile : ¥n[ "+ $exportFileName + " ]") -button "OK" -defaultButton "OK";
    
    return( 1 );
    }




proc int DoraSkinWeightImpExp_compDistance( vector $xyz, vector $a, vector $b, float $distance[] )
    {
    $distance[0]= abs(mag($xyz-$a));
    $distance[1]= abs(mag($xyz-$b));
    
    if( $distance[0] > $distance[1] )return(0);
    else return(1);
    }








proc int DoraSkinWeightImpExp_vtxDistanceMin( vector $xyz, string $shape, int $mode, int $setF[], float $range )
    {
    int $wp[];
    vector $vtxA;
    int $minNo;
    int $i;
    float $dis[2];
    int $hitF;
    
    $minNo=-1;
    $wp= `polyEvaluate -v $shape`;
    
    
    
    
    
    for( $i=0,$hitF= 0 ; $i<$wp[0] ; $i++ )
        {
        
        if( $setF[$i]==1 )continue;
        
        if( $mode==0 )$vtxA= DoraSkinWeightImpExp_vtx2vector($shape + ".vtx[" + $i + "]");
        else $vtxA= DoraSkinWeightImpExp_vtx2uvVector($shape + ".vtx[" + $i + "]");
        
        
        $dis[0]= abs(mag($xyz-$vtxA));
        if( $dis[0]<=$range )
            {
            $hitF=1;
            $minNo= $i;
            break;
            }
        }
    
    
    if( $hitF==1 )return( $minNo );
    
    
    return( -1 );
    }





proc DoraSkinWeightImpExp_weightCopy( int $an, int $bn, string $sc, string $shape )
    {
    string $workString;
    string $jointList[];
    float $weightList[];
    float $weight;
    int $i;
    
    
    
    
    
    
    $jointList= `listConnections -type "joint" ($sc+".matrix")`;
    
    
    for( $i=0 ; $i<size($jointList) ; $i++ )
        {
        $jointList[$i]= DoraSkinWeightImpExp_simpleObjName( $jointList[$i] );
        }
    
    $workString= ($shape + ".vtx[" + $an + "]");
    $weightList= `skinPercent -q -v $sc $workString`;
    
    $workString= "";
    for( $i=0 ; $i<size($jointList); $i++ )
        {
        $weight= float($weightList[$i]);
        $workString+= ( "-tv " + $jointList[$i] + " " + $weight + " " );
        }
    
    
    
    if( $workString!="" )
        {
        $vtxName= ($shape + ".vtx[" + $bn + "]");
        $workString= ("skinPercent " + $workString + $sc + " " + $vtxName );
        eval( $workString );
        
        
        }
    
    }



proc string DoraSkinWeightImpExp_getParam_weightSet( string $selectJoint[], int $exist[], int $unknown[], string $joint[], string $weight[] )
    {
    string $workString= "";
    string $jName="";
    string $jWeight="";
    
    
    for( $i=0 ; $i<size($exist); $i++ )
        {
        $jName= $selectJoint[$exist[$i]];
        $jWeight=" ";
        
        
        for( $j=0 ; $j<size($joint) ; $j++ )
            {
            if( $jName==$joint[$j] )
                {
                $jWeight=$weight[$j];
                $workString+= ( "-tv " + $jName + " " + $jWeight + " " );
                break;
                }
            }
        }
    
    
    for( $i=0 ; $i<size($unknown); $i++ )
        {
        $workString+= ( "-tv " + $selectJoint[$unknown[$i]] + " 0 " );
        }
    
    return( $workString );
    }




global proc int DoraSkinWeightImport( string $dsw_name, int $importMode, int $interpolationWeight, int $interpolationMode, float $para)
    {
    global string $gDoraSkinWeightImpExp_jointNameNew[];
    string $ImportFileName;            
    int $fileId;                    
    string $textLine;                
    string $slList[];                
    string $shape;                    
    string $sc;                        
    string $jointList[];            
    string $selectMeshJointList[];    
    int $existJointN[];                
    int $unknownJointN[];            
    string $weightList[];            
    int $wp[];                        
    string $vtxName;                
    int $i, $j, $k, $l;
    string $workString,$workString2;
    string $pointData[];            
    
    float $weight;
    global string $gMainProgressBar;
    string $workXYZs[];
    float $workXYZf[];
    vector $workVec[2];
    vector $wpos[2];
    int $minNo;
    float $workDistance[2];            
    
    int $weightSetF[];                
    int $dataCount;                    
    int $weightSetCount;            
    int $weightSet2Count;            
    
    
    if( $dsw_name=="")
        {
        return( 0 );
        }
    
    
    
    $slList= `filterExpand -sm 12`;
    if( size( $slList )==0 )
        {
        error("No objects SmoothSkinMesh selected (1)");
        return( 0 );
        }
    
    
    $shape= DoraSkinWeightImpExp_shapeName( $slList[0] );
    
    
    $sc= DoraSkinWeightImpExp_searchSC( $shape );
    if( $sc=="" )
        {
        error("No objects SmoothSkinMesh selected (2)");
        return( 0 );
        }
    
    
    
    
    
    $selectMeshJointList= `listConnections -type "joint" ($sc+".matrix")`;
    
    
    for( $i=0 ; $i<size($selectMeshJointList) ; $i++ )
        {
        $selectMeshJointList[$i]= DoraSkinWeightImpExp_simpleObjName( $selectMeshJointList[$i] );
        }
    
    $workString= DoraSkinWeightImpExp_checkOverlapsList( $selectMeshJointList );
    if( $workString!="" )
        {
        error("JointName Overlaps [ " + $workString + "]" );
        return( 0);
        }
    
    
    
    
    
    
    
    
    
    
    $importFileName = toNativePath(`workspace -q -fn` + "/dsw/" + $dsw_name);
    
    
    
    $wp= `polyEvaluate -v $shape`;
    
    
    for( $i=0 ; $i<$wp[0] ; $i++ )$weightSetF[$i]=0;
    
    
    $fileId=`fopen $importFileName "r"`;
    
    
    $textLine= `fgetline $fileId`;
    $textLine= `substitute "¥n" $textLine ""`;
    
    if( $textLine!="DoraYuki Skin Weight Format 3.00" )
        {
        error( "No DSW Format 3.00" );
        return( 0 );
        }
    
    
    $textLine= `fgetline $fileId`;
    
    $textLine= `substitute "¥n" $textLine ""`;
    
    if($textLine=="" )
        {
        return( 0 );
        }
    
    
    tokenizeList($textLine, $jointList);
    
    
    for( $j=0 ; $j<size($jointList) ; $j++ )
        {
        $jointList[$j]= DoraSkinWeightImpExp_simpleObjName( $jointList[$j] );
        }
    
    
    if( `window -ex DoraSkinWeightImpExpJointNameEditWindow` == true )
        {
        for( $i=0 ; $i<size($jointList) ; $i++ )
            {
            $jointList[$i]= $gDoraSkinWeightImpExp_jointNameNew[$i];
            }
        }
    
    
    $e=0;
    $u=0;
    for( $s=0 ; $s<size($selectMeshJointList); $s++ )
        {
        $check=0;
        for( $d=0 ; $d<size($jointList) ; $d++ )
            {
            
            if( $selectMeshJointList[$s]==$jointList[$d])
                {
                $existJointN[$e]= $s;
                $e++;
                $check=1;
                break;
                }
            }
        
        if( $check==0 )
            {
            $unknownJointN[$u]=$s;
            $u++;
            }
        }
    
    
    
    
    
    
        progressBar -edit
        -beginProgress
        -status ("Import  [ " + $importFileName +" ]")
        -maxValue $wp[0]
        $gMainProgressBar;
    
    
    
    setAttr ( $sc + ".normalizeWeights") 0;
    
    
    
    setAttr ( $sc + ".envelope") 0;
    
    
    
    $dataCount=0;
    $weightSetCount=0;
    $weightSet2Count=0;
    
    switch( $importMode )
        {
        
        
        
        case 0:
        
        for( $i=0 ; $i<$wp[0] ; $i++ )
            {
            
            
            
            
            
            $textLine= `fgetline $fileId`;
            
            $textLine= `substitute "¥n" $textLine ""`;
            
            
            if($textLine=="" )break;
                
            
            tokenize( $textLine, "|", $pointData );
            
            
            tokenizeList($pointData[0], $weightList);
            
            
            $dataCount++;
            
            
            
            $workString=DoraSkinWeightImpExp_getParam_weightSet( $selectMeshJointList, $existJointN, $unknownJointN, $jointList, $weightList  );
            
            
            if( $workString!="" )
                {
                $vtxName= ($shape + ".vtx[" + $i + "]");
                
                $workString= ("skinPercent -r false " + $workString + $sc + " " + $vtxName );
                eval( $workString );
                $weightSetCount++;
                
                
                $weightSetF[$i]= 1;
                
                }
            
            
            progressBar -edit
                -step 1 $gMainProgressBar;
            }
        
        break;
        
        
        
        
        case 1:
        
        $textLine= `fgetline $fileId`;
        while( $textLine!="" )
            {
            
            
            
            
            $textLine= `substitute "¥n" $textLine ""`;
            
            tokenize( $textLine, "|", $pointData );
            
            
            
            
            tokenizeList($pointData[0], $weightList);
            
            
            tokenizeList($pointData[1], $workXYZs);
            $wpos[0]= << float($workXYZs[0]), float($workXYZs[1]), float($workXYZs[2])>>;
            
            
            $dataCount++;
            
            
            
            
            $minNo= DoraSkinWeightImpExp_vtxDistanceMin( $wpos[0], $shape, 0, $weightSetF, $para);
            
            if( $minNo!=-1 )
                {
                
                $workString=DoraSkinWeightImpExp_getParam_weightSet( $selectMeshJointList, $existJointN, $unknownJointN, $jointList, $weightList  );
                
                
                if( $workString!="" )
                    {
                    $vtxName= ($shape + ".vtx[" + $minNo + "]");
                    
                    $workString= ("skinPercent -r false " + $workString + $sc + " " + $vtxName );
                    
                    eval( $workString );
                    $weightSetCount++;
                    
                    
                    $weightSetF[$minNo]= 1;
                    }
                
                }
            
            
            progressBar -edit
                -step 1 $gMainProgressBar;
            
            $textLine= `fgetline $fileId`;
            }
        
        break;
        
        
        
        
        case 2:
        
        $textLine= `fgetline $fileId`;
        while( $textLine!="" )
            {
            
            
            
            
            $textLine= `substitute "¥n" $textLine ""`;
            
            tokenize( $textLine, "|", $pointData );
            
            
            tokenizeList($pointData[0], $weightList);
            
            
            tokenizeList($pointData[2], $workXYZs);
            $wpos[0]= << float($workXYZs[0]), float($workXYZs[1]), 0>>;
            
            
            $dataCount++;
            
            
            
            
            $minNo= DoraSkinWeightImpExp_vtxDistanceMin( $wpos[0], $shape, 1, $weightSetF, $para );
            
            if( $minNo!=-1 )
                {
                
                $workString=DoraSkinWeightImpExp_getParam_weightSet( $selectMeshJointList, $existJointN, $unknownJointN, $jointList, $weightList  );
                
                
                if( $workString!="" )
                    {
                    $vtxName= ($shape + ".vtx[" + $minNo + "]");
                    
                    $workString= ("skinPercent -r false " + $workString + $sc + " " + $vtxName );
                    
                    eval( $workString );
                    $weightSetCount++;
                    
                    $weightSetF[$minNo]= 1;
                    }
                }
            
            
            progressBar -edit
                -step 1 $gMainProgressBar;
            
            $textLine= `fgetline $fileId`;
            }
        break;

        }
    
    
    

    
    
    
    
    if( $interpolationWeight == 1 )
        {
        switch( $interpolationMode )
            {
            
            case 1:
            
            $workString="";
            for( $i=0 ; $i<size($weightSetF) ; $i++ )
                {
                
                if( $weightSetF[$i]==1 )continue;
                
                
                
                
                
                $minNo= -1;
                for( $j=0 ; $j<$wp[0] ; $j++ )
                    {
                    
                    if( $i!=$j && $weightSetF[$j]==1 )
                        {
                        
                        $workVec[0]= DoraSkinWeightImpExp_vtx2vector($shape + ".vtx[" +  $j + "]");
                        $minNo= $j;
                        break;
                        }
                    
                    }
                
                for( ; $j<$wp[0] ; $j++ )
                    {
                    
                    if( $i!=$j && $weightSetF[$j]==1 )
                        {
                        $workVec[1]= DoraSkinWeightImpExp_vtx2vector($shape + ".vtx[" + $j + "]");
                        
                        if( DoraSkinWeightImpExp_compDistance( DoraSkinWeightImpExp_vtx2vector($shape + ".vtx[" + $i + "]"), $workVec[0], $workVec[1], $workDistance )==0 )
                            {
                            $workVec[0]= $workVec[1];
                            $minNo= $j;
                            }
                        }
                    }
                
                
                progressBar -edit
                    -step 1 $gMainProgressBar;
                
                
                
                
                if( $minNo == -1 )break;
                
                
                DoraSkinWeightImpExp_weightCopy( $minNo, $i, $sc, $shape );
                $weightSet2Count++;
                
                $weightSetF[$i]=2;
                }
            break;
            
            
            case 2:
            
            $workString="";
            for( $i=0 ; $i<size($weightSetF) ; $i++ )
&
| whaison | MEL(Maya Embedded Language) | 13:05 | comments(0) | - | pookmark |
            
2015.05.20 Wednesday
Metasequoia4.4.3 から Maya2015へのOBJエクスポートの設定
Metasequoia4.4.3 から Maya2015へのOBJエクスポートの設定
UVマッピング
V方向を反転にチェックをいれる
| whaison | Metasequoia | 12:53 | comments(0) | - | pookmark |
            
2015.05.20 Wednesday
Maya2015 で板ポリ平面を合成したら、表示順序がおかしくなった件
Maya2015 で板ポリ平面を合成したら、表示順序がおかしくなった件
 
合成されたポリゴンごとに透明度ソートできてるかにかかわっていたようです。
Unity5.0.2の場合>ShaderをUnit/Transparent Cutoutのシェーダーに変更したらうまく表示されました。
これでもジャギーがてるようなので他も考え中です。

Maya2015の場合
そのままではポリゴン透明度ソート 選択できないので
ビューポートのレンダラ>旧式の既定ビューポート(Renderer > Default Quality Rendering)

ビューポートのシェーディング>ポリゴン透明ソート(Shading > Polygon Transparency Sorting)

で解決しました。


左が:合成したもの:重なり順がおかしい
右が:合成してないもの:重なり順正常
これが

こう


関連
http://www.polycount.com/forum/showthread.php?t=101813

ああ
| whaison | Maya | 11:12 | comments(0) | - | pookmark |
            
2015.05.08 Friday
Blender2.72b でメタセコMetasequoiaのMQOファイルをimportExportするプラグイン objが入出力可能になる。
Blender2.72b でメタセコイアMetasequoiaのMQOファイルをimportExportするプラグイン
objが入出力可能になる。

http://nullorempry.jimdo.com/2014/07/21/blender/

にね
以下のURLから「mqo_script_268」というzipファイルをダウンロードしてお確かめください。

https://onedrive.live.com/?cid=CE4C74EDA2A73245&id=CE4C74EDA2A73245%21276&sc=documents
。。。。
バックアップ
 
| whaison | Blender | 17:48 | comments(0) | - | pookmark |
            
2015.05.02 Saturday
maya2015 スムースバインドと反対のスキンのデタッチ
メッシュと
ボーンをくっつける
スキン > スキンのバインド > 
スムース バインド(Skin > Bind Skin > Smooth Bind) を選択します




メッシュと
ボーンをはずす
スキン > スキンのデタッチ(Skin > Detach Skin)  を選択します。





関連
スキン > スキンのバインド > スムース バインド(Skin > Bind Skin > Smooth Bind)
http://me.autodesk.jp/wam/maya/docs/Maya2009/index.html?url=Skin__Bind_Skin__Smooth_Bind.htm,topicNumber=d0e334830
 

バインドのオプション設定
http://area.autodesk.jp/column/tutorial/maya_atoz/skin_weights_1/index-2.html

スキンをデタッチするには
http://me.autodesk.jp/wam/maya/docs/Maya2010/index.html?url=Skinning_Detach_smooth_skin.htm,topicNumber=d0e322298
 
| whaison | Maya | 11:19 | comments(0) | - | pookmark |
            
2015.05.01 Friday
maya component Editer コンポーネントエディタの使い方
maya component Editer コンポーネントエディタの使い方
https://www.youtube.com/watch?v=bqrwmDRnLZ4

ビデオのまんまだけど

ポリゴンメッシュモデルと
ボーンを作ったら、
スムースバインド
して
メッシュ上で右クリックして、
下でゆうVertex(頂点)モードにして適当に選択したいとこ選択して shift+『 . 』で自動的に追加選択してくれる。
注意:ボーンを選択しちゃうと解除されちゃうので上の方法で逃げる。

ウィンドウ>一般エディタ>コンポーネントエディタ>スムーズスキンのタブ

でこんな感じでいっぱい表示されるので

ひつようなボーンからだけ影響するように変更していく

今回割り当てたいボーンはこれだけだったから1列と総数だけになった。
| whaison | Maya | 21:29 | comments(0) | - | pookmark |