アルゴリズム共有 その1 ~ 毛編 ~

投稿者:
  • 投稿日:2021/4/5
  • 4473 再生
  • 58 いいね

コメント

唐突ですが、ByN○○T氏に感謝をささげたいと思います。ありがとうございました。自分も人類であると名乗るならばと思い、本動画を作ってみました。動画自体は誰得てんこ盛りですが、アルゴリ発想は共有されてこそ、無限の広がりと可能性を持つということを自分は信じています。またそうなればいいなぁと願って・・!※※※本マクロご使用上の際のご注意※※※エクセル上でのマクロの使用は、お使いのPC環境によっては、動作機能を著しく低下させる恐れがあります。本マクロご使用の際の前中後は、お使いのPCが安定した状態にあることを強く推奨いたします。※※※※※※※※※※※※※※※※※※※※!!!規則的毛モデルのルール追加!!!一本の毛の根元ほど、頂点インデックスNoは若く、毛先に近づいていくほど頂点インデックスNoは老番になっていくこと。!!!!!!!!!!!!!!!!!!!準備物・「MMD ハイポリ化」・「MMD ウェイト転送プラグイン」・モデルビュー上選択頂点群の全情報を.CSV化/ Sub WAKIGEvertex_BoneWeight_CopyPasting_UserInput()Dim i, s, r, l1 As Longi = 0s = Application.InputBox(prompt:="毛モデル1本の底面の頂点数(角数)を半角数値のみで入力してください。", Type:=1, Default:=5) \', xpos:=1000, ypos:=2000If IsNumeric(s) = False Or s < 1 Then \'isnumeric(cells(yy,xx).value) = falseMsgBox "1 値以上を入力してください。マクロを中断します。"Exit SubEnd Ifr = Application.InputBox(prompt:="毛モデル1本の曲がり箇所数を半角数値のみで入力してください。", Type:=1, Default:=20) \', xpos:=1000, ypos:=2000If IsNumeric(r) = False Or r < 1 Then \'isnumeric(cells(yy,xx).value) = falseMsgBox "1 値以上を入力してください。マクロを中断します。"Exit SubEnd Ifl1 = s * (r 1)Do While Len(Cells(2 (i * l1), 28)) <> 0\'列のABは28、AJは36が該当番号Worksheets(1).Range(Cells(2 (i * l1), 28), Cells(2 (i * l1), 36)).CopyWorksheets(1).Range(Cells(2 (i * l1) 1, 28), Cells(2 (i * l1) (l1 - 1), 36)).SelectWorksheets(1).Pastei = i 1LoopEnd Sub以下は改変用っぽいやつです。Public Sub WAKIGEvertex_BoneWeight_CopyPasting()Dim i As Longi = 0Do While Len(Cells(2 (i * 105), 28)) <> 0\'列のABは28、AJは36が該当番号Worksheets(1).Range(Cells(2 (i * 105), 28), Cells(2 (i * 105), 36)).CopyWorksheets(1).Range(Cells(2 (i * 105) 1, 28), Cells(2 (i * 105) 104, 36)).SelectWorksheets(1).Pastei = i 1LoopEnd Sub