menu MMD Fans :: iwara
home
Home
search
Search
account_circle
Login
info
About

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

Please share the website with your friends. We use P2P technology, and the more people use it, the faster it becomes.
 
      

おはようございます!

※※※本マクロご使用上の際のご注意※※※
エクセル上でのマクロの使用は、お使いのPC環境によっては、動作機能を著しく低下させる恐れがあります。
本マクロご使用の際の前中後は、お使いのPCが安定した状態にあることを強く推奨いたします。
※※※※※※※※※※※※※※※※※※※※

!!!Tモデル側のモーフのCSVファイルの注意点!!!
モーフのリストにある頂点のインデックスNoは昇順の並びになっていなければいけません。
そうでない場合、エクセルを使って、No・位置XYZすべてセットで昇順並びにしてください。
!!!!!!!!!!!!!!!!!!!!!!!!!

準備物
・「MMD 闇鍋プラグイン」
・モデルビュー上選択頂点群の全情報を.CSV化
https://ecchi.iwara.tv/images/%E3%83%A2%E3%83%87%E3%83%AB%E3%83%93%E3%83...

・マクロ上でUBound関数を使用しているため、↓以下の設定が必要
ttps://www.239-programing.com/excel-vba/fso/fso013.html

・今回使用したマクロ(X_UV_ARRAY)
-----------------------------
ttps://mega.nz/file/iA8A2QIR#IOshwIdjF_-PbCzc0Mp2D7jSSiTQk8fQ8mkxYfRbGMw

-----------------------------
・モーフCSVファイルにて、変位に不要な頂点インデックスNoを削除するときに使ったやつ
-----------------------------
Public Sub Blank_Cells_Row_Delete_Cells_4_8_4H_ByListLastRow()

Dim y, x, i, ListLastRow As Long

y = 4 '対象数字行のナンバー
x = 8 '対象アルファベット列のナンバー
i = 0

'最終行番号を取得
ListLastRow = Cells(Rows.Count, 2).End(xlUp).Row

For j = 4 To ListLastRow Step 1

DoEvents

If Cells(y + i, x) = "" Then

Rows(y + i).Delete
'セル範囲の挿入・削除では、Shift:=は必要。指定してやらないと周囲セル状況で自動処理してしまう。
'行・列の挿入・削除では、Shift:=は不要。指定せずともシフト方向は決まり切っているため。xlup,xldownどちらも同じ処理となる。

Else

i = i + 1

End If

Next j

End Sub