スキップしてメイン コンテンツに移動

投稿

PoseModeで体のねじれの値に平均値を入れる

 体のコントローラの値はすべて同じ値が入っているべきだと思っているので、そうなるようなスクリプトをChatGPTくんに作ってもらいました。 内容としては、 アーマチュア(PoseMode)の選択しているコントローラ(ボーン)のXYZの回転(オイラー)がズレている場合平均値を代入してくれるというものです。 Mayaと違って複数ボーンに同じ値を入れるのが結構めんどい(Alt押しながらEnter)ので。 PoseModeじゃないといけなかったり、選択しているキーフレームを取得するのが難しかったりしたので現在のフレームを対象としています。 import bpy import math # アクティブなオブジェクトを取得 active_object = bpy.context.active_object # オブジェクトが存在し、Poseモードであることを確認 if active_object and active_object.mode == 'POSE': # アクティブなポーズのフレーム番号を取得 frame_current = bpy.context.scene.frame_current # 選択されているボーンのリストを取得 selected_bones = [bone for bone in active_object.pose.bones if bone.bone.select] # ボーンごとの各軸回転の合計を初期化 total_rotation_x = 0.0 total_rotation_y = 0.0 total_rotation_z = 0.0 for bone in selected_bones: # ボーンの各軸回転を取得し合計に加算 total_rotation_x += bone.rotation_euler.x total_rotation_y += bone.rotation_euler.y total_rotation_z += bone.rotation_euler.z # 各軸の回転の平均値を計算 average_r
最近の投稿

高頻度でフリーズするシーンのゴミを取り除いた話

最近、大した操作してないのに高頻度でフリーズするし、原因がいまいちわからないなーと思っていた。PC再起動、レガシービューポート、コントローラのせい?プラグイン?などなど対応してみたのですが、発生するタイミングがばらばらすぎる(コントローラを触った瞬間、視点を変更した瞬間など)ため原因不明。 そういえば評価モードってあったなーとそこから色々調べてみたら、Evaluation Toolkitというものを発見。Mayaの機能でシーンのボトルネックを調べてくれるらしい。調べるボタン押した瞬間に落ちたツールもあったですが、その中で良さそうなのを発見したので紹介します。 Scene Lintウィンドウ これでシーンをデバッグしてくれて、問題のある項目については解決するためのスクリプトを作成してくれます。その場で実行するか、スクリプトをコピーして編集してから実行するか選ぶことが出来ます。これの項目で、floating curvesという項目がmaya2020には存在したのですが、2019には無いようです。下の画像は2019なので別の項目で説明してます 開き方 ウィンドウ>一般エディタ>評価ツールキット>03)デバッグ>Scene Lintウィンドウを起動 結果 これが結果のウィンドウです。上記の通りfloating curvesがないのでflat animationでやっています。こんな感じで問題がある項目は赤く表示され、開くとどのオブジェクトに問題があるのか一覧されます。 そのまま適用を押しても良いのですが、念のためコピーを押してスクリプトウィンドウにコピーして確認するのも良いかもしれません。floating curvesを実行して出てきたオブジェクト名は 、見覚えのない名前ばかり。見覚えがあるっちゃあるけど全然別のプロジェクトで使用してたり、現在のシーンで読み込んだ覚えがない等。 floating curvesとはなにか おそらくオブジェクトとの接続が切れたカーブオブジェクトだと思います。なので、リファレンスが切れていても、上の一覧に表示されます。カーブオブジェクトは、animbotでシーンのカーブをすべて選択するときに出てくるようなオブジェクトで、実際のオブジェクトとは別で存在しているようです。上の一覧に表示されているオブジェクト名をselect "オブジェクト名

UDIMのタイルを使用しているテクスチャを、シーンを開いたときに読み込む設定

すでに開いているシーンでまとめて読み込む ビューポートパネルのレンダラ>ビューポート 2.0の□(オプション)をクリック ↓のテクスチャを再ロード、全UVタイルプレビューテクスチャを再生成を押す   シーンを開いたときに自動的に読み込むようにする プリファレンス>ディスプレイ>パフォーマンス>シーンのロード時にUVタイルプレビューを生成にチェック ちなみにタイルを使用しているテクスチャというのは以下のようにUVタイリングモードがUDIMになってたり、テクスチャに連番が使用されてたりする

Animbot 新機能 Bundled 2.0.2

Animbot のBundled 2.0.2がリリースされました。 私が気になった新機能はOngoingにしかなかったようなのですが、ついでにまとめました。 Auto Playblast Visibility Mode https://www.animbot.ca/tooltips/en/#auto_playblast_visibility_mode 操作と再生をしてるとき、PlayblastVisiblityの設定で表示してくれる Set Inbetween https://www.animbot.ca/tooltips/en/#set_inbetween キー同士の間隔を指定の数字にしてくれる Grow Keys Selection https://www.animbot.ca/tooltips/en/#grow_keys_selection Shrink Keys Selection https://www.animbot.ca/tooltips/en/#shrink_keys_selection キーの選択範囲の拡大縮小 Flow Tangent https://www.animbot.ca/tooltips/en/#flow_tangent 前後のキーから、しっぽのような柔らかい動き(オーバーシュート)を作ってくれるらしい。スプラインタンジェントと似ているような気もする 似たような機能でこういうのもあった BestGuessTangent PolishedTangent Time Offsetter Stagger http://www.animbot.ca/tooltips/en/#time_offsetter_stagger しっぽで使うようなオーバーラップを作るツール。複数のオブジェクトのカーブをずらす事ができる Languages 日本語にも対応。ただ、単語しか対応してない箇所も多い。どういうふうな場所でどのように使われているかわかれば翻訳もしやすいのですが・・・。

自分で用意したMMDのモデルをQuickRiggingToolでセットアップする

  Cascadeurでは、男女や猫のモデルが用意されていますが、自分で用意したモデルで作りたくなりますよね。最近追加されたQuickRiggingToolを使って、セットアップする手順を紹介します。 今回はMMDのモデルをMayaに読み込んで、ボーンを編集しスキンを調整し、リギングします。その時の注意点をまとめていきます。もちろん他のモデルでもリグのセットアップの仕方は同じです。 MMDのデータからMayaに読み込むときのプラグインはmmd-transporterを使用しました。MMDのデータの利用規約は作者によって異なります。MMD以外のソフトで使用することを禁止している場合もあるので、利用規約をしっかり読んでください。 必要な骨 ボーンの設定画面 Cascadeurのクイックリギングツールで必要な骨は、このような感じです。MMDの骨で一番特徴的なのは、腰のボーンが上半身の親になっていないことです。他にもIK用だったりルート用のボーンも用意されているので、下記の手順で削除してしまいましょう。 ・Mayaでスキニングされている状態で骨を編集する。 スキンされたジョイントへの移動ツール Mayaの機能で、スキニングされている状態で骨の位置や数を調整できます。リギングメニューにしてからスキン>スキンされたジョイントの移動です。 調整手順 1. 足のIK用のボーンを削除します。 2. sentaaというボーンの子供にjouhanshinとkahanshinがくっついています。jouhanshinを腰のルートにするので、足の付根の間くらいの位置に移動させ、jouhanshinをkahanshinの親にします。 ボーン構成 3. 肩のボーンが多いので、hidarisakotsuを飛ばしてjouhanshin2とhidarikataでつなぎます。右も同様に行います ボーンの位置を移動 ウェイトの具合を確認 4. つま先に関節がないので、それも設定します。ashikubisakiという足の末端のボーンを移動し、その末端に対してウェイトを設定します。 5. jouhanshinの位置が腰より前にあると、後々変な動きになってしまうので、それを調整します。 胸のボーン位置調整 6. ボーン足したり引いたりしているので、その分のスキンの調整をしなくてはなりません。調整にはSIWeigh

MatchTransform

 普段ペアレントコンストレイントを使ってオブジェクトの位置合わせをしていましたが、位置合わせ用のコマンドあったんですね。ペアレントコンストレイントをいちいち消さなくても大丈夫。 スクリプトエディターにコピペしてシェルフにドラッグしてください。1つ目のオブジェクトの位置に2つの目をあわせます。 選択順はコンストレイントと同じにしてあります。 string $nodes[] = `ls -sl`; matchTransform -pos -rot $nodes[1] $nodes[0];

Cascadeur のダウンロード

 物理演算や重心計算、自動ポージングなどの機能が搭載されているモーション作成ソフトの Cascadeur (カスケード)のダウンロードの仕方をまとめてみました。 まず公式サイト↓ https://cascadeur.com/ 右上のGet Startedのボタンをクリック プランを選択。個人や小さなプロジェクトで使用するのであれば一番左のベーシックで問題ないと思います。 ログイン画面になるのですが、GoogleやFacebookのアカウントでもログインできるようです。私はGoogleアカウントでログインしました。 OSを選んで 利用規約を読んでAcceptを押すとダウンロードが始まります。 チュートリアルの動画が表示されます。次回はこれを作ってみようと思います。