サイトロゴ
play_arrow

アルゴリズム共有 その5 ~ 互換系体型モデルから頂点モーフ移植編 ~

投稿者:
  • 投稿日:2021/4/14
  • 3100 再生
  • 44 いいね

コメント

お疲れさまでしたー。誰得だったかもしれませんが、ご覧いただきまして、ありがとうございました!※※※本マクロご使用上の際のご注意※※※エクセル上でのマクロの使用は、お使いのPC環境によっては、動作機能を著しく低下させる恐れがあります。本マクロご使用の際の前中後は、お使いのPCが安定した状態にあることを強く推奨いたします。※※※※※※※※※※※※※※※※※※※※!!!Tモデル側のモーフのCSVファイルの注意点!!!モーフのリストにある頂点のインデックスNoは昇順の並びになっていなければいけません。そうでない場合、エクセルを使って、No・位置XYZすべてセットで昇順並びにしてください。!!!!!!!!!!!!!!!!!!!!!!!!!準備物・「MMD 闇鍋プラグイン」・モデルビュー上選択頂点群の全情報を.CSV化https://ecchi.iwara.tv/images/モデルビュー上における、任意選択頂点の全情報をcsv化するプラグイン・マクロ上でUBound関数を使用しているため、↓以下の設定が必要ttps://www.239-programing.com/excel-vba/fso/fso013.html・今回使用したマクロ(X_V_ARRAY || X_UV_ARRAY)ttps://mega.nz/file/iA8A2QIR#IOshwIdjF_-PbCzc0Mp2D7jSSiTQk8fQ8mkxYfRbGMw・Aモデル側の残りの頂点CSVファイルにて、検出処理後、不要な空白行を削除するときに使ったやつPublic Sub Blank_Cells_Row_Delete_Cells_2_2_2B_ByListLastRow()Dim y, x, i, ListLastRow As Longy = 2 \'対象数字行のナンバーx = 2 \'対象アルファベット列のナンバーi = 0\'最終行番号を取得ListLastRow = Cells(Rows.Count, 2).End(xlUp).Row\'j=2からなので、本当ならListLastRow-1までだとは思うが。あるいはj=2 1からにするか。For j = 2 To ListLastRow Step 1DoEventsIf Cells(y i, x) = "" ThenRows(y i).Delete\'セル範囲の挿入・削除では、Shift:=は必要。指定してやらないと周囲セル状況で自動処理してしまう。\'行・列の挿入・削除では、Shift:=は不要。指定せずともシフト方向は決まり切っているため。xlup,xldownどちらも同じ処理となる。Elsei = i 1End IfNext jEnd Sub・モーフCSVファイルにて、変位に不要な頂点インデックスNoを削除するときに使ったやつPublic Sub Blank_Cells_Row_Delete_Cells_4_8_4H_ByListLastRow()Dim y, x, i, ListLastRow As Longy = 4 \'対象数字行のナンバーx = 8 \'対象アルファベット列のナンバーi = 0\'最終行番号を取得ListLastRow = Cells(Rows.Count, 2).End(xlUp).RowFor j = 4 To ListLastRow Step 1DoEventsIf Cells(y i, x) = "" ThenRows(y i).Delete\'セル範囲の挿入・削除では、Shift:=は必要。指定してやらないと周囲セル状況で自動処理してしまう。\'行・列の挿入・削除では、Shift:=は不要。指定せずともシフト方向は決まり切っているため。xlup,xldownどちらも同じ処理となる。Elsei = i 1End IfNext jEnd Sub