AdditiveIK(アディティブアイケー)
VRoidとモーキャプをプロのアセットに盛り付けろ!
モーションキャプチャをブラシで盛るように編集 fbxにしてUnityへ
(bvh, fbx, Unity, Maya, VRoid対応)
1.0.0.34 インストーラ |
MIT OSS 随時更新 |
MIT OSS |
前作EditMot + DirectX12 -> AdditiveIK |
---|
(UnityAsset HQ Retro Farmhouse +VRoid) 表現の意味を手に入れろ! 表現のためのモデル編集とモーション編集から 表現のためのシーン編集へ! モデルもモーションもシーンによって意味が生まれる UnityAssetStoreで https://assetstore.unity.com/?locale=ja-JP プロのアセットを入手し それを読込編集保存することが出来る 作業はそこからだ! (モデルにはVRoidを使用 https://vroid.com/studio) |
ステージ:UnityAsset POLY FantasyTownをAdditiveIKに読込
モデル:VRoid
https://youtu.be/TzlAqf45jIQ
ステージ:UnityAsset TheHuntをAdditiveIKに読込
モデル:VRoid
https://youtu.be/R0MsXt8plYg
ステージ:UnityAsset HQ Retro FarmhouseをAdditiveIKに読込
モデル:VRoid
複数モデルに対してモーキャプリターゲット編集
ステージ:UnityAsset POLY FantasyTownをAdditiveIKに読込
モデル:VRoid
高さフォグとSkyDOF機能をオン(ver.1.0.0.12)
ver1.0.0.9以降におけるシェーダー
図:シェーダの種類
図:PBR+Std.+Toon共存 その1
(Asset: FantasyTown + JAPANESE CITY)
図:PBR+Std.+Toon共存 その2
(Asset: FantasyTown + JAPANESE CITY)
図:ShaderTypeParamsDlg
[クリックで元サイズ表示]
Auto, PBR, Std, HSV_Toonから表示を選びます
Autoは設定内容をみて自動的に3種共存します
PBR未設定でもすぐに表示できます
1.0.0.9以降において
全てのシェーダはトゥーンベースの色使いになった
Shaderプレートメニューで
HSV_Toonの設定をしてからAuto, Std.、PBRから
シェーダを選択
トゥーンには3段階トゥーンと
グラデーショントゥーンと
パワートゥーンがある
Std.とPBRの違いとしては
PBRは法線マップとメタルマップ対応
両方とも8個までの有色ライトで昭光
ピック&セット
ステージ:UnityAsset JAPANESE CITY
[クリックで元サイズ表示]
Shader、DispGroupプレートメニュー選択時
Shaderメニューではマウス位置のマテリアル名を
DispGroupメニューではメッシュ名を表示
編集したい名前がみつかったら
そこでマウスクリックすると設定画面が出て
編集項目に自動スクロールする
DispGroupプレートメニュは
メッシュにグループ番号を付けて
グループ番号の小さい順に描画する仕組み
グループ番号1は不透明描画
グループ番号2以上は半透明描画
色が抜けていない半透明メッシュに対して
2以上のグループ番号を設定すれば良い
グループ内では
カメラから近い順に描画
グループごとに表示のON,OFFも可能
シャドウ
[クリックで元サイズ表示]
シャドウプレートメニューから設定画面
有効無効、向き、長さ、明るさを
調整するための設定
8スロット設定可能
HDRPブルーム
[クリックで元サイズ表示]
1.0よりも大きい3.0までのライト設定
マテリアルごとに5.0まで掛ける倍率
シェーダにStdを選び
ライトを1.0より大きくすると自動でブルーム
LOD(詳細度切り替え)
(Asset: HQ Retro Farmhouse)
[クリックで元サイズ表示]
モデル詳細度のカメラ距離による切り替え
LODによるシーンの最適化で描画速度高速化
メッシュ名の命名規則有り
2段階LODと3段階LODに対応
インスタンシング表示
[クリックで元サイズ表示] 剛体表示
[クリックで元サイズ表示] リグ表示
スライダーで明るさと透明度を設定
モデルの服の色に応じて見易く調整
リファレンスポーズ (1.0.0.7から)
[クリックで元サイズ表示]
リファレンスポーズ機能がDirectX12に対応
メモリ制約があるので
リファレンス数はカレントを含めて合計4つ.
選択フレーム範囲の
最初と最後と真ん中とカレントフレームを表示
透明度はDispAndLimitsメニューの
スライダーで調整可能.
Numキーピッキング (1.0.0.8から)
(Asset: TheHunt)
[クリックで元サイズ表示]
Shader、DispGroupプレートメニュー
マウスをかざすとShaderメニューではマテリアル名
DispGroupメニューではメッシュ名を表示.
2キーを押し続けると
カメラから2番目に近いピック結果を表示.
1から9と0キーに対応.0は10番目の結果.
背景
オブジェクトが重なっている場合
ピックの結果が意図と異なる場合があった.
オブジェクト中心とカメラの距離の
近いものから判定するのが原因.
(頂点の位置ではなくオブジェクト中心)
高速化のために見つかり次第処理を終わらせる.
そのための番号キープッシュ方式.
裏返り処理の閾値設定 (1.0.0.9から)
[クリックで元サイズ表示]
モーションキャプチャデータとは
計算値ではなく測定値です
測定には精度がつきもので
必ずノイズが含まれています
急に角度が大きくなったり小さくなったりして
裏返ることがあります
AdditiveIKには
裏返り対策が施されています
1.0.0.9からは
裏返り対策のトリガーとなる閾値を設定可能
裏返るのは頭あるいは足首がほとんど
上図のEndJoint閾値を調整することで
大抵の場合解決します
例えばCMUのbvh60_8をリターゲットすると
初期設定では頭が裏返りますが
EndJoint値を68度に設定してから
bvh2fbxbatchとretargetbatchを実行すると
リターゲット結果が正常になります
bvh60_7については更に再生時に制限角度を
設定することにより正常になります
ライト極座標GUI (1.0.0.10から)
[クリックで元サイズ表示]
1.0.0.10からは
ライトの向きの設定の仕方が
極座標の角度2つになりました
XZ平面(地面)上の角度と
首を上下に傾けるYの角度の2つです
3次元ベクトルで指定するよりも
直感的に設定が可能
カメラターゲットGUI (1.0.0.10から)
[クリックで元サイズ表示]
1.0.0.10からは
カメラターゲット(注視点)のGUIが
右ペイン上部に常駐
DispTargetにチェックを入れると
カメラターゲット位置に座標軸が
表示されます
その状態でスライダーをいじると
カメラとターゲット間の距離が変わり
ターゲット位置が動きます
MoveEyePosにチェックを入れて
スライダーをいじると
距離に応じてカメラの方が動きます
MoveEyePosのチェックをオンオフして
スライダーを動かすことで
尺取虫の様にカメラを操作可能
Lock2Jointにチェックを入れると
選択中のジョイント位置が
ターゲットになります
シャドウキャスターフラグ (1.0.0.11から)
ステージ:UnityAsset HQ Retro Farmhouse
[クリックで元サイズ表示]
1.0.0.11からは
シャドウキャスターフラグのGUIが
Shaderプレートメニューに付きました.
影を表示するためには
シャドウカメラを通常視点の後ろ上方に置きます.
シャドウカメラと表示オブジェクトとの間に
天井や壁があると天井や壁が大きな影として
表示されてしまうので図2の様になりがちです.
天井や壁のシャドウキャスターフラグをオフにして
天井や壁が影を落とさないようにすることで
図1の様に想定通りの影を表示します.
拡大回転移動別ペースト (1.0.0.12から)
[クリックで元サイズ表示]
操作対象ボーン設定ダイアログに機能追加
ペーストショートカットボタンを右クリック
PasteScale, PasteRotation, PasteTranslationの
3つのチェックボックスを追加
拡大、回転、移動の中の必要なものだけ
チェックしてペースト
3つの組み合わせも可能
ジャンプ補間 (1.0.0.12から)
ステージ:UnityAsset Fantasy Town
モデル:VRoid
[クリックで元サイズ表示]
Hipsジャンプ補間ボタンを追加
補間ボタンの左隣にジャンプ補間ボタンを追加
選択フレーム範囲の最初フレームと最後フレームの
Hipsの移動アニメを放物線で補間する
最後のフレームでぴったり着地するように補間
ボタンを押したときに
ジャンプ補間用の重力設定ダイアログを表示
常用スライダーの常駐 (1.0.0.12から)
[クリックで元サイズ表示]
アプリ上部に常駐スライダーを追加
EditRate、Speed、TopPosスライダーを常駐
いつでも操作可能に
TopPosスライダーの横幅が長くなったので
ブラシのピーク位置の設定精度改善
(長い分、目盛りが細かくなった)
被写界震度(DepthOfField) (1.0.0.12から)
ステージ:UnityAsset Fantasy Town
モデル:VRoid
SkyDOFオン
ステージ:UnityAsset Fantasy Town
モデル:VRoid
SkyDOFオフ
[クリックで元サイズ表示]
DOFプレートメニュー新規
ボカシ始め距離、ボカシ完了距離、
SkyDof(天球にもボカシを入れるかどうか)
8スロット分設定可能
フォグ (1.0.0.12から)
ステージ:UnityAsset Fantasy Town
モデル:VRoid
カメラ距離フォグ
ステージ:UnityAsset Fantasy Town
モデル:VRoid
高さフォグ
[クリックで元サイズ表示]
Fogプレートメニュー新規
カメラ距離フォグと高さフォグに対応
フォグ色も指定可能
8スロット分設定可能
シェーディングアルファ (1.0.0.12から)
ステージ:UnityAsset TheHunt
[クリックで元サイズ表示]
BaseAのスライダーでマテリアルの透明度を設定可能
HiA,LowAも設定可能
光の当たり方に依存させて透明度を
リアルタイムで徐々に変化させる
明るい部分を徐々に不透明にして
暗い部分を徐々に透明にしたり
その逆も
アルファテストスライダー (1.0.0.13から)
ステージ:UnityAsset TheHunt
[クリックで元サイズ表示]
陰影トゥーンテクスチャに
アルファも書き出して
ライティングに応じてリアルタイムで
アルファを変化させるのがシェーディングアルファ
今回は更に
指定透明度以下の透明度の描画をスキップする
つまりアルファテスト設定のための
スライダーを追加
アルファテストスライダーにより
シェーディングアルファ設定済オブジェクトを
徐々に出現させたり消したりすることが可能
ブラシを簡易選択 (1.0.0.13から)
モデル:VRoid
[クリックで元サイズ表示]
3Dウインドウの背景部分を右クリックで
ブラシ選択メニューが出ます
ブラシにピーク位置は
アプリ上部のスライダーで設定
プレートメニューを切替えること無しに
イージーアクセスでブラシ選択可能
詳細な設定が必要な場合には
BrushParamsプレートメニューで設定
ボーン入りメッシュもピック (1.0.0.14から)
モデル:VRoid
[クリックで元サイズ表示]
背景だけにしか使えなかったピック&セットが
ボーン入りメッシュに対応
コンピュートシェーダで座標変換
不具合修正でピック誤動作も減りました
即時実行型コンピュートシェーダは
視錐体カリングにも使用
視野内オブジェクトの選別が適切に.
シャドウ品質改善 (1.0.0.15から)
モデル:VRoid
[クリックで元サイズ表示]
シャドウのギザギザを解消
分散シャドウマップ(VSM)を導入
奥行情報の差分から求めた昭光確率
による影色
Shadowプレートメニューに
VarianceShadowMapsチェックボックスと
BlurShadowチェックボックスを追加
VSMのオンオフとボカシ処理のオンオフ
が可能
物理角度制限 (1.0.0.16から)
YouTube動画:https://youtu.be/sCNE9C_zWNA
アセット:FantasyTown
モデル:VRoid
[クリックで元サイズ表示]
スカート真横は制限せずにスカートとヘアに対して角度制限
スカートが拡がるが中は見えない!!
物理シミュにはbullet physicsを使用
剛体の接続を柔らかくするほどに
角度制限は効かなくなっていく
60fpsを想定したライブラリなので
20fpsで再生すると乱れることも多かった
そこで
bullet physics計算の後処理として
自前の角度制限を追加
右クリックでピーク位置設定 (1.0.0.17から)
モデル:VRoid
[クリックで元サイズ表示]
変更前は
スライダーで%設定してブラシピーク位置を決めていた
変更後は
タイムラインを右クリックでダイレクトに
ピーク位置を設定
操作フレーム範囲はタイムラインのセルを
囲むように左ドラッグで設定
ブラシの他のパラメータは上部常駐GUIに配置
いつでも操作可能
ブラシの選択は3Dウインドウの背景部分を
右クリックで選択
マニピュレータ軸とグラフ軸が一致 (1.0.0.17から)
モデル:VRoid
[クリックで元サイズ表示]
VRoidからのfbx、バインドポーズ付きfbx読込時
マニピュレータ軸とオイラーグラフの軸が一致
DispAndLimitsプレートメニューの
AxisKindの初期値を変えたことによる軸の一致
物理シミュの環境依存緩和 (1.0.0.17から)
モデル:VRoid
[クリックで元サイズ表示]
物理シミュは時間依存定数を使うので
表示速度の速い遅いによって結果が変わる
その違いをある程度吸収するために
DispAndLimitsプレートメニューに
3つのスライダーを追加
個々のオブジェクトの設定を変更しないでも
全オブジェクトに対してスケールすることで
環境依存問題にある程度対応
物理シミュ回転禁止設定復活 (1.0.0.17から)
モデル:VRoid
[クリックで元サイズ表示]
剛体チェーンの中のある剛体に対して
物理シミュの回転禁止を設定可能
RigidParamsプレートメニューの
ForbidRotチェックボックスに
チェックをいれると回転禁止が機能
回転禁止は
子供ジョイント側に設定すると
子供ジョイントが
親ジョイント中心の回転をしなくなる
移動を回転するしない (1.0.0.18から)
https://youtu.be/6wveLqMbsYA
モデル:VRoid
[クリックで元サイズ表示]
HipsについてもIK回転時に
移動成分も回転するかしないかを
チェックボックスで選べるように.
ジャンプ中の回転の場合
RotateTranslationオフ
モーション全体の向きを変える場合
RotateTranslatinoオン
シンプルウォーター川or海 (1.0.0.18から)
アセット:FantasyTown
[クリックで元サイズ表示]
なるべく負荷が少ない表示で
シンプルな水面を
ディストーション表現
SimpleWaterチェックボックスで
PBRかつNoSkinマテリアルを水面に.
(法線マップが設定されている条件
にて機能する)
一方的に流れる川にするか
寄せては返す海にするかを
選択可能
流れの向きはUVスライダーで設定
流れの速さも変更可能
角度でフラグ、速度で制御の物理
(1.0.0.19から)
限界越えたら0.1倍速で動きますhttps://youtu.be/ufPtA-CxVKU
モデル:VRoid
[クリックで元サイズ表示]
物理シミュレーションは
角度制限時に角度でクランプすると
可動域に戻る際にパタパタカクカクする
可動域を越えたらフラグを立てて
物理剛体の速度を0.1倍に減速する方法で
パタパタしない角度制限になった
(スライダーで調整は必要)
それでもパタパタすることがあったので
可動域における速度と
可動域における前フレームからの変化率も
スライダーで調整可能にした
調整の仕方はドキュメント化して同梱
クリック位置に草が生える
(1.0.0.20から)
クリック位置に草が生えるんですhttps://youtu.be/_-YDEyL16G8
アセット:FantasyTown, GrassAndPlants
モデル:VRoid
[クリックで元サイズ表示]
クリック位置に草を生やして
高速表示(インスタンシング表示)
カメラに対して横方向になびく
fbx読込時に
load as grassオプションにチェック
Model's Pos And Dirボタンで
草を配置
プロジェクトファイルに保存
草のfbxは各自用意
今回のスクリーンショットの草も
UnityAssetSotreでゲット
ブレンドシェイプ(モーフ)対応
(1.0.0.22から)
ショートムービー https://youtu.be/vQkHzFg4SjU
アセット:FantasyTown, GrassAndPlants
モデル:VRoid
[クリックで元サイズ表示]
BlendShape(モーフ)アニメに対応
VRoidに設定されているBlendShapeを
スライダーで操作して表情を編集
BlendShapeアニメの保存読込は
fbxファイルにて行う
fbxカメラアニメ編集機能
(1.0.0.23から)
ショートムービー 使い方https://youtu.be/_G4wev5w-4g
モデル:VRoid
[クリックで元サイズ表示]
カメラアニメ編集機能対応
対応機能
回転、パン、ドリー、XYZ各軸の回転とパン
コピーペースト
補間
スムージング
アニメのフレーム長変更
アンドゥリドゥ
fbx入出力
カメラ専用コマンドボタン
(1.0.0.25から)
アセット:FantasyTown, GrassAndPlants
モデル:VRoid
[クリックで元サイズ表示]
一番上にはカメラドラッグボタン
カメラオンオフ、回転、パン、ドリーボタン
その下に2段のコマンドボタン
コマンドボタンの
1段目はカメラ専用のコマンドボタン
2段目はモーションコマンドボタン
2段目はカエルクリックでボタン入れ替え
ソフトキー付エディットボックス
(1.0.0.27から)
アセット:FantasyTown, GrassAndPlants
モデル:VRoid
[クリックで元サイズ表示]
エディットボックスクリックで
入力用ソフトキーを表示
右ペインウインドウを
オルグウインドウパーツOWPで
作り直し中
見易く!
黒い枠が付かないように!
排他選択GUIにオレンジアンダーライン
(1.0.0.28から)
アセット:FantasyTown
モデル:VRoid
モーション:RokokoMotionLibrary
[クリックで元サイズ表示]
GUIをみやすく(その2)として
右ペインの履歴ウインドウOWP化
排他選択や目立たせたい選択項目に
オレンジのアンダーラインを表示
選択項目がぱっとみて分かる
注視点ロック修正
(1.0.0.31から)
[クリックで元サイズ表示]
右ペイン上部のカメラターゲットウインドに
OnceLockボタンとAlwaysLockチェックボックス
選択中のジョイントをカメラの注視点としてロック
OnceLockは押した直後に1回処理を行い
AlwaysLockはチェックが入っている間処理を行う
カメラをグローバル軸で回転可能に
(1.0.0.31から)
アセット:FantasyTown
モデル:VRoid
[クリックで元サイズ表示]
カメラをX軸やZ軸で回転すると地面が傾く
その後からY軸で回転すると
カメラが地面の下に潜ってしまう
DispAndLimitsメニューで
GLOBAL軸を選択してから
Y軸回転することにより
カメラを傾いた地面に平行に
回転させることが可能
リアルタイムで足を曲げて接地
(1.0.0.32から)
モデル:VRoid
[クリックで元サイズ表示]
ただ歩くだけに面白味を!
FootRig(フットリグ)を地面の高さに応じて
自動的にリアルタイムで曲げることにより接地
地面を歩くことに表情が生まれる(と思う)
曲がり具合調整可能な自動FootRig
(1.0.0.33から)
モデル:VRoid
[クリックで元サイズ表示]
腰と地面の高さの差hdiffmax制御により
足の曲がり方を調整可能なFootRig 1.1.0
VRM1.0からのfbxのテクスチャ対応
(1.0.0.34から)
図:Unity3DのFBX Exporterの
Embed Textureオプションに限定対応
[クリックで元サイズ表示]
VRM1.0をUnity3Dでfbxに変換すると
テクスチャがfbxに内包される
内包されたテクスチャ読込に対応
ただしVRM1.0限定対応
Vector様にて公開開始!
画像&サウンド-->グラフィック関係-->3Dグラフィックス
-->AdditiveIK
2023/12/27夕 ver1.0.0.1
2024/01/10夕 ver1.0.0.2
2024/01/17夕 ver1.0.0.3
2024/01/24夕 ver1.0.0.4
2024/01/31夕 ver1.0.0.5
2024/02/07夕 ver1.0.0.6
ver1.0.0.7スキップ
2024/02/21夕 ver1.0.0.8
ver1.0.0.9スキップ
2024/03/06夕 ver1.0.0.10
2024/03/13夕 ver1.0.0.11
2024/03/27夕 ver1.0.0.12
2024/04/03夕 ver1.0.0.13
2024/04/10夕 ver1.0.0.14
2024/04/18夕 ver1.0.0.15
2024/04/24夕 ver1.0.0.16
ver1.0.0.17スキップ
2024/05/08夕 ver1.0.0.18
2024/05/15夕 ver1.0.0.19
ver1.0.0.20スキップ
2024/05/22夕 ver1.0.0.21
2024/05/29夕 ver1.0.0.22
2024/06/19夕 ver1.0.0.23
2024/06/26夕 ver1.0.0.24
2024/07/03夕 ver1.0.0.25
2024/07/10夕 ver1.0.0.26
2024/07/17夕 ver1.0.0.27
2024/07/31夕 ver1.0.0.28
2024/08/07夕 ver1.0.0.29
2024/08/21夕 ver1.0.0.30
2024/08/28夕 ver1.0.0.31
2024/09/18夕 ver1.0.0.32
2024/09/25夕 ver1.0.0.33
2024/10/02夕 ver1.0.0.34公開開始
1.0.0.34インストーラ
githubにてMIT OSS 随時更新
日記 8月18日
歩きの足を自動で曲げて階段上り(1.0.0.32)
https://youtu.be/IV9gZEhIi5E
両足自動接地+物理シミュ(1.0.0.32)
https://youtu.be/s5FfdE8ct-g
OXの風景(1.0.0.31)
https://youtu.be/HZxVflJui40
カメラがくるっと周った後の編集について(1.0.0.30)
https://youtu.be/VrAYFkpyVwc
fbxカメラ基本編集機能の修正と確認(1.0.0.29)
https://youtu.be/rb1UI_p5Acc
屋根の上に飛べますか?(1.0.0.24)
https://youtu.be/YLJxziIqBsQ
空の色は何色ですか?(1.0.0.23)
https://youtu.be/0LkwVw9eubg
モーキャプ編集+fbxカメラ編集(1.0.0.23)
https://youtu.be/_G4wev5w-4g
モーキャプが目パチしてニヤけます(1.0.0.22)
https://youtu.be/cEIdXoRXC-E
クリック位置に草が生えるんです(1.0.0.20)
https://youtu.be/_-YDEyL16G8
限界越えたら0.1倍速で動きます(1.0.0.19)
https://youtu.be/ufPtA-CxVKU
ジャンプ中にくるりと回ります(1.0.0.18)
https://youtu.be/6wveLqMbsYA
使い方動画
https://youtu.be/oKGY62YosSg
2024/09/25 (2024/10/02公開)
AdditiveIK 1.0.0.34 RC1
1.0.0.33からの変更点
VRM1.0限定のfbx内包テクスチャ対応
VRM1.0をfbxにしてもテクスチャは
別ファイルとしては出力されない
VRM1.0をfbxにするときにUnity3Dの出力オプションで
EmbedTextureをオンにしてfbxにvrmファイルを内包する
内包したvrmファイルからテクスチャを読み込む
ドキュメント
0_TroubleShooting/fbxを読み込んだときに真っ赤に表示される場合.docx
FootRig設定の初期値(未設定時の数値)を変更
VRoidに対してFootRigを使用する際に足を曲げ過ぎないような設定に.
2024/09/18 (2024/09/25公開)
AdditiveIK 1.0.0.33
1.0.0.32からの変更点
FootRig(フットリグ)バージョンアップ
FootRigのバージョンを1.0.0から1.1.0にアップ
足の曲げ方を調整可能に.
height difference maxの値を小さくするほど
足をたくさん曲げて接地.
height difference maxの値に互換性が
無くなったので設定し直しが必要
GPU当たり判定オプションを追加
GPU Collisionにチェックを入れてApplyボタンを押すと
当たり判定をコンピュートシェーダで計算
地面として指定したfbxの面の数が多いほど何倍にも高速化
地面のメッシュの面数が少ない場合は
GPUオプションで遅くなることもあります
RigStepの設定が効くように修正
指定したdegree * リグで設定した倍率の角度ずつ回転
一度に曲がる最大角度は約10.0度
Hop Y per step設定項目を追加
坂を上るほどしゃがんでしまうような動きなるのを防ぐために、
ステップごとに(上方向に)ホップ
モデル削除時にFootRigDlgのCModelをキーにするデータも
消すように修正
不要データで重くならないように削除
ドキュメント
0_TroubleShooting/FootRigの設定の仕方.docxを追加
(使い方:インストーラにも同梱)
Documents/FootRig_TechSpec.docxを更新
(仕様:OSSのみ)
FootRigのテストシーン更新
Test/Test_FootRig_7を更新
既知の問題13への対応
マテリアルとしてPhong以外が割り当てられているfbxを
読み込んでも落ちなくなった
しかしPhong以外のマテリアルの場合は読み込み後に
AdditiveIKのShaderメニューでマテリアルの再設定が必要
0_TroubleShooting/00_既知の問題点.docx更新
Pickシェーダ修正
今までは最初にみつかった当たりの面の情報を返していたが
今回からはメッシュの中の一番近い当り面の情報を返す
ただし数字キーを押しながらのNumPick機能については
そのまま(メッシュの中心との距離でソート).
LimitEulオン時の物理シミュに関わる修正
昔の仕様のためのif文が残っていたのを修正
2024/09/10 (2024/09/18公開)
AdditiveIK 1.0.0.32
1.0.0.31からの変更点
FootRig(フットリグ)機能追加
モーションしている足を自動的に曲げて地面に接地
FootRigプレートメニュークリックで右ペインに設定ウインドウを表示
角度制限、物理シミュのと併用可能
FootRigの設定は拡張子(*.fri)のファイルに保存
(モデルを横断するのでプロジェクトフォルダ直下に)
friファイルの入出力はプロジェクト保存時と読み込み時に行う
テストモデル追加
Test/Test_FootRig_7
物理シミュ修正
Kinematic剛体のSetBtMotionを修正
揺れ物以外はモーションそのままの姿勢に.
多少乱れにくくなったのでBullet設定のRigidSpeedの値を
大きく出来るようになった
物理シミュ中のIK操作処理に関わる関数を修正
ただし物理IK機能は休止中
不具合修正
カメラのパン操作修正
パンの際にAlwaysLockがオフにならない症状が出ていたので修正
カメラグラフモードにて 最終フレームまで選択ボタン
を押した際に最後まで選択されないことがある不具合を修正
プレイヤーボタンの ||ボタンを押したときの処理の修正
既知の問題に追記
0_TroubleShooting/00_既知の問題点.docx
テストモデル修正
Test/0_VRoid202406_Cam004 の物理とリグの設定を修正
ヒント
FootRigについて
AdditiveIKによるCustomRigが設定済のモデルでしか機能しない
あらかじめ足を持ち上げるためのRigをCustomRigDlgで設定しておく
FootRig設定ウインドウにおいてRigの選択よりも前にJointの選択をする
RigのコンボボックスにはJointコンボボックスで
選択したジョイントに関連付いているRig名しか表示されない
Rigが設定されているJointは左ペインのツリービューの項目名が
緑色で表示されている
ヒント
FootRig機能を有効にしている場合には
モデル全体の位置を地面より高い位置(1000よりは低く)に
Model'sPosAndDirショートカットボタンで設定しておくこと.
Model'sPosAndDir設定はchaファイルにモデルごとにテキスト出力されている.
地面より低い位置からスタートするとしゃがむ姿勢になったり
地面の下にもぐることがある.
ヒント
FootRigは地面指定したモデルとレイの当たり判定を使用しています
通常のゲームにおいては地面として指定するのは非表示のローポリデータです
表示用の詳細モデルの上を歩かせると
ショートムービー[歩きの足を自動で曲げて階段上り]のように
階段の隙間に落っこちて動きがガクガクすることがあります
ショートムービー
歩きの足を自動で曲げて階段上り
https://youtu.be/IV9gZEhIi5E
FootRigで接地して歩く
https://youtu.be/TJjTwD0gioI
OXの風景
https://youtu.be/HZxVflJui40
2024/08/23 (2024/08/28公開)
AdditiveIK 1.0.0.31
1.0.0.30からの変更点
カメラ回転を更に修正
カレントカメラの正面に対してXYZ軸で回転したい場合と、
グローバル軸で回転したい場合(特にY軸回転)があるので対応.
DispAndLimitsの回転軸コンボボックス指定がGLOBAL指定か
それ以外の指定かをみて回転するように.
GLOBAL軸で回転する場合 :
カメラがX,Z軸で回転して地面が傾いている状態から
Y軸回転するときに傾いた地面に水平に回転可能.
GLOBAL軸以外で回転する場合 :
カメラの正面に対してのXYZ軸で回転可能.
0_Troubleshooting/0_カメラアニメについて.docx更新
カメラツイストのリセットをカメラアニメにも反映
カメラツイストのリセットが グラフモードが
Camera以外の場合にしか効いていなかったのを修正
カメラ回転アイコン右ダブルクリック時にグラフモードが
Cameraになっている場合にはカメラアニメのツイストをリセット
AlwaysLockにチェックを入れている場合
カメラ移動操作とAlwaysLockは連動して働いていたが、
カメラ回転操作とAlwaysLockは互いに独立していた
カメラ回転操作時にもAlwaysLockにチェックしている場合には
AlwaysLockと連動するように修正
ソフトキーパッド修正
アルファベット付ソフトキーにL/S(大文字小文字切り替え)ボタン追加
クリア(CL)とバックスペース(BS)ボタンを押しやすく
レイアウトをみやすく
2024/08/15 (2024/08/21公開)
AdditiveIK 1.0.0.30
1.0.0.29からの変更点
不具合修正
右ペインウインドウソース見直しによりGUI<-->設定値の
やりとりの間違いを4つ程修正
ShaderウインドウのLowAddrとHiAddrの値
LimitEulウインドウのY最大値とX最大値
Q2Eul_Thresholdウインドウのエンドジョイント値と非エンドジョイント値
ShadowウインドウでGUIの値を設定値に反映させるために
呼び出す関数を間違えていたのを修正
スキンメッシュのピック修正
バウンダリーの粗い判定と面の詳細判定の2段階にしていたのだが
粗い判定時のバウンダリー(非InfScope)がモーションを
反映していなかったためにピック出来ないことがあった
モーションに全体移動が含まれているとピックがずれていた
とりあえず面の詳細判定のみをシェーダで行う方式に.
カメラ回転処理を修正
既にカメラアニメが付いている場合に180度回転したフレームにおいて
マウスドラッグと反対側に回転する不具合が出ていた
ボーン回転時の処理と同様にスードローカル(疑似ローカル)のやり方で対応
0_Troubleshooting/0_カメラアニメについて.docxの使用してのメモ
(今回対応した不具合に関する注意の記述)の部分を修正
カメラグラフモードにてAlwaysLockオンの状態でカレントモデルを変更した場合に
Lock情報が残っていてカメラ操作(虫眼鏡アイコンドラッグ)が
効かなくなることがある不具合を修正
モデル変更時にLock情報を初期化(1回前の状態を保存している変数も初期化)
カメラの操作のアンドゥリドゥが効かないことがある不具合を修正
カメラ移動操作の際にAlwaysLockにチェックが入っている場合の処理を修正
ジョイント方向を向くように
カメラドリー履歴にカメラupvec情報を追加
昔の履歴のupvecはY軸として扱う
新しい履歴のupvecは数値としては編集せず(数値として直感的ではないため)に
画面の状態を保存して復元する
つまり、GUIはそのままでカメラのupvecに対応
ドキュメント更新
0_Troubleshooting/00_既知の問題点.docxの問題0012に解決済マーク追記
カメラツイスト操作をカメラアニメに反映するように.
カメラツイストアニメ編集が可能に.
カメラ回転アイコン右ドラッグでカメラツイスト
ドラッグ量xブラシウェイトの分、カメラアニメをツイスト
カメラグラフモードになっていない場合にはインフォウインドウに情報出力
カメラアイコンドラッグ時にカメラグラフモードになっていない場合に
グラフモードを変えるようにインフォウインドウに情報を出力
カメラグラフモードをオンにした場合には
強制的にカメラアニメ(再生)スイッチもオンにするように修正
フォグの計算を修正
フォグの計算式が最小距離と最小高さを考慮できていなかったのを修正
ヒント
カメラのupvec編集はカメラ回転アイコンを右ドラッグ
カメラ回転アイコンを右ダブルクリックでupvecリセット
ヒント
カレントモデル変更時にカメラターゲットウインドウの
カメラ距離スライダーが最大値(20000)より振り切ってしまう場合
虫眼鏡アイコンドラッグが効かないことがあります
その場合には、カメラ距離スライダーを小さい値にすると操作可能になります
ヒント
フォグやDOFなどの最小距離と最大距離の設定があるエフェクトについて
フォグもDOFも実際の効果に影響する値の範囲は0から1つまり値の幅は1
画面上の効果は次式(軽い計算式)で計算
画面上の効果 = 値の幅1 x (頂点とカメラの距離 - 最小距離) / (最大距離 - 最小距離)
つまり画面上には 1 / (最大距離 - 最小距離)ずつしか変化が生じない
よって最大距離 - 最小距離が数百くらいになるように設定すると
効果を確認しやすい
まず最小距離を決めてから最大距離は最小距離に数百を足したものにすると簡単
(最大距離 - 最小距離)が10000もあると 最小距離における効果は0.0001であり
効果が分かり難い
メモ
Impulseメニュー、GrandPlaneメニュー、DampAnimメニュー(の機能)については
現在メンテナンスしていない
ImpulseとGrandPlaneはラグドール機能の試験中に使用し、
ラグドール機能休止と共に未メンテナンスに.
DampAnimメニューは今よりも物理シミュが乱れて使えなかった頃に
乱れを収めるために使用していたが現在未メンテナンスに.
2024/08/02 (2024/08/07公開)
AdditiveIK 1.0.0.29
1.0.0.28からの変更点
カメラアニメを編集可能な条件を変更
当初の仕様ではカメラアニメスイッチがカメラアニメ再生スイッチで
カメラグラフモードがカメラアニメ編集+再生スイッチだった
しかしグラフモードがボーンの場合に カメラ履歴を選択しても
画面が変わらずに なぜか分からなくなるようなことを 作者としても何度も感じた
再生と編集のスイッチを厳密に運用するよりも
直感操作に少し寄せた方が良いと判断して 編集可能条件を以下のように変更
1,カメラ履歴セレクト、カメラコビーペーストボタン、
OnceLockボタン、AlwaysLockチェックに対しては
カメラアニメスイッチオン または カメラグラフモードの場合に
カメラアニメを編集
2,カメラ回転スプライト、カメラパンスプライト、
カメラドリースプライト、XYZスプライトのドラッグに対しては
カメラグラフモードの場合に カメラアニメを編集
3,間違えた操作に対しては、アンドゥボタンで巻き戻し
カメラアニメIK回転処理を修正
カメラをツイスト(upvecを編集)してから
Lock2Jointにチェックを入れた場合にもうまくいくように.
カメラアニメのカメラ距離編集について修正
カメラを回転した後でカメラ距離を編集してもうまくいくように.
カメラドリー履歴の復元についての変更と修正
カメラアニメスイッチがオンの場合にも
グラフモードがカメラモードでない場合でも
カメラ履歴を選択すれば画面に反映されるように修正
カメラアニメスイッチがオンの状態でカメラ履歴を選択した場合には
カメラアニメに選択履歴をペースト
Lock2Joint機能を拡張
OnceLockボタンとAlwaysLockチェックボックスの2種類サポート
両方ともカメラアニメスイッチがオンまたは
カメラグラフモードの場合にカメラアニメに対しても作用
OnceLockボタン
カメラアニメが無い場合
ボタンを押した直後に1回カメラを選択ジョイントに向ける処理を行う
カメラアニメがある場合
(カメラアニメスイッチがオンまたはカメラグラフモードの場合)
選択フレーム範囲のカメラアニメに反映
ウェイトブラシの比率分だけ選択ジョイントの方向にカメラを向ける
OnceLock時のジョイントの位置はapplyframeにおけるジョイントの位置
AlwaysLockチェックボックス
カメラアニメが無い場合
チェックが付いている間
モーションプレビュー時にカメラを選択ジョイントへ向ける
カメラアニメがある場合
(カメラアニメスイッチがオンまたはカメラグラフモードの場合)
選択フレーム全体に渡ってウェイト1.0(100%)で選択ジョイントの向きを向く
ジョイントの位置はジョイントのモーションを反映
モデルを注視し続けるカメラアニメの作成が容易に.
0_Troubleshooting/00_既知の問題点.docxを追加
既知の問題をドキュメント化
0_TroubleShooting/0_カメラアニメについて.docx修正
新機能について追記
一部仕様変更について追記
README更新
カメラアニメ編集機能をテストした際の動画リンクを
README.txtのExplaining Movieの欄に追加
README.txtのスクリーンショット1枚交換
2024/07/27 (2024/07/31公開開始)
AdditiveIK 1.0.0.28
1.0.0.27からの変更点
GUIをみやすく(その2)
全右ペインウインドウをOWP(オルグウインドウパーツ)化
今回新たにOWP化した右ペインウインドウは
コピー履歴、カメラドリー履歴、LaterTransparent
コピー履歴とドリー履歴ウインドウは
ページング方式からスクロール方式に変更
既存のOWPウインドウについても使用しているものは
文字を大きくレイアウトし直し
RigidParams(剛体設定)ウインドウ、
Shader(シェーダ)ウインドウ、Skyウインドウ
字を大きくしてスクロール方式に.
セレクト項目にオレンジアンダーライン
ラジオボタンとリストボックスには選択項目に常にアンダーライン
チェックボックスに対してはオプションでアンダーライン
排他的チェックのためのGUIや選択を目立たせたい場合に使用
ソフトキーを数字だけ入力用とアルファベット入力用の2種類に.
エディットボックスをクリックで2種類の内の適切なソフトキーを表示
リストボックスクラス新規
ドロップダウンで出るメニューの高さの最大値を設定
項目数が多い場合にも見苦しくならないように.
ポップアップウインドウのOWP化についてはこれから着手予定
コピー情報入力ウインドウ(疑似モーダル)は済
2024/07/12 (2024/07/17公開開始)
AdditiveIK 1.0.0.27
1.0.0.26からの変更点
プレートメニューから表示するウインドウをOWPに.
右ペインに表示するウインドウに黒い枠が付かないように
OWPで作り直し
ソフトキー付きエディットボックス新規
エディットボックスクリックでソフトキーを表示
ソフトキーボタンには3セットのコピペボタンも配置
大きな閉じるボタンも配置
カラーボックスクラス新規
コンボボックスクラス新規
スクロール付きの場合はなるべく大きく、
1画面にまとめる時にはそれなりの大きさで.
Applyボタンは大きな色付きボタンに.
LaterTransparentとカメラ履歴と
コピー履歴ウインドウについては
次バージョン以降で対応予定
大きなfbx読み込み時には、
DispGroupプレートメニューを押した直後に
数秒待ち時間があるので砂時計カーソルを表示
起動後プロジェクトを読み込んだ直後には
ショートカット一覧が表示されているように.
修正前はLightsメニューが選択されるようになっていた
Morphグラフモード時にジョイントドラッグした場合
Infoウインドウにグラフモードを変えないとジョイントをドラッグ出来ないメッセージを出力
ドラッグしてマウスを動かしている間メッセージを出力
不具合修正
右ペインにショートカット一覧が表示されている状態で
他のウインドウを表示しようとしても
表示されないことがある不具合を修正
ウインドウの閉じ忘れが原因だった
Retargetプレートメニューで
リターゲットの対応表設定時に
ボーン構造の間にeNullノードが混ざっている場合に
設定が出来ないことがあった不具合を修正
2024/07/02
AdditiveIK 1.0.0.26
1.0.0.25からの変更点
モーフ(BlendShape)アニメ編集もアンドゥリドゥ対象に.
アンドゥリドゥまとめ
今回の修正でアンドゥリドゥの対象は以下のようになった
ボーンモーションIK, フレーム範囲設定, ウェイトブラシ設定,
カメラアニメ編集, モーフアニメ編集,
モデル切り替え, モーション切り替え
OWPスライダー(黒背景に横線と〇つまみのスライダー)については
スライダーを右ダブルクリックで100万回スライダー設定をアンドゥ可能
視野外モデル処理を修正
視野外モデルに対してもグラフを表示.
視野外モデルに対してもIK操作を可能に.
プレビュー時のオイラーグラフ表示を修正
プレビュー時にも全範囲を表示 速度はほぼ変わらず
オイラーグラフの表示を高速化した分で全範囲を表示
BlendShapeウインドウのターゲット名をボタン化
スライダーを動かさないでもボタンを押してグラフを確認可能に.
不具合修正
1段目プレートメニュークリックに対する処理を修正
1クリック目でオンオフ可能に.
1段目のプレートメニューをクリックすると
1段目の選択がすべて外れてもう一度クリックでオンに出来る状態だった
今回の修正の副作用として
BlendShapeプレートメニューから他のメニューに移る場合に、
自動的にはボーングラフに戻らずにモーフグラフのままとなる
IK操作をする場合には手動でタイムラインの赤いカエルをクリックして
Boneグラフに設定する必要がある
BlendShapeプレートメニューを選択-->フレーム範囲指定-->
ブレンド率編集-->モーション切り替え-->ブレンド率編集としたときに
フレーム選択は維持されるが編集結果がカレントフレームにしか
適用されない不具合を修正
モーション切り替え関数内でブラシを作成し直して解決
0_TroubleShooting/0_カメラアニメについて.docx
上記ファイルの絵を修正
赤いカエルによるグラフ切り替えの絵の中のコメントが
間違っていたのを修正
2024/06/28
AdditiveIK 1.0.0.25
1.0.0.24からの変更点
アンドゥリドゥをより便利に.
モデルセレクト、モーションセレクト、カメラセレクト、カメラアニメ編集
についてもアンドゥリドゥ対象に.
モーフのアンドゥについては次回以降に.
カメラアニメ専用のコピペスプライトボタン追加
コマンドショートカットボタンを2段にして
1段目をカメラアニメ専用のボタンに.
カメラパネルで選択中のアニメに対して
コピー、ペースト、補間、初期化、平滑化コマンドボタンが機能
今まではモーションパネルでカメラアニメを選択しての
コピペだったので人物が画面に入らない状態での操作になることが多かった
これからは、モーションパネルでどのアニメを選んでいても
カメラアパネルで選択中のアニメに操作を行うことが出来るので
人物の動きをみながら操作可能
0_TroubleShooting/0_カメラアニメについて.docx
上記ファイルに追記
スプライトボタンを押したときの反転表示時間をfpsをみて決めるように.
ShaderParamsダイアログのEmissiveスライダーの最大値を
1.0から10.0に変更
選択中のモデルが視野外の場合にもオイラーグラフを表示するように.
モーション切り替え時、モデル切り替え時、グラフ切り替え時に
タイムラインの選択を引き継ぐように.
モーション長でクランプしつつ引き継ぐ
README.txtに記述しているUnity3Dのバージョンを更新
不具合修正
リターゲットの際にソースとデスティネーション両方を
視野内に入れて実行しないと結果が正しくない不具合を修正
使用方法的にコンテクストセーフのはずなのだが、念のために
モーションポイント取得時の再入問題に対してはCRITICALSECTIONで対策
as grassにチェックを入れてfbxを読み込み後に、
grass以外のモデルを削除した場合にメモリリークしていた不具合を修正
モデル削除処理中の草配列の修正ミス
草と草でないモデルを読み込み後、
草ではないモデルを削除すると草の表示が消える不具合を修正
モデル削除処理中の草配列の修正ミス
読み込み直後に草モデルが選択されている場合に
Model'sPosAndDirでクリックによる草の配置と削除が出来ない不具合を修正
草が選択されている間はマニピュレータは表示されない
1度も表示されないマニピュレータとの当たり判定で
当りが返ってきていたために草の配置関数が呼ばれなかった
草の選択中にはマニピュレータとの当たり判定として
はずれを返すようにして解決
2024/06/19 (2024/06/26公開)
AdditiveIK 1.0.0.24
1.0.0.23からの変更点
既知の問題0010に対する根本的対応
fbxファイルのEmissionTexture(EmissiveTexture)の読み書き表示に対応
fbxのリビジョン番号アップ
パフォーマンス改善
メッシュの個数が多いfbx読み込み時に
DispAndLimitsメニューのRigid(剛体)表示にチェックを入れていると
極端に表示が遅くなりオフにしたときの半分くらいの
表示速度になっていたのを修正
スプライトボタンを押したときに反転色表示
BlendShape出力時の名前は名前の中の最後の'.'以降の
文字列を出力するように
BlendShape出力時にBlendShapeをコピーすると
文字列が付加されて元の名前が変わってしまう
BlendShapeの名前に'.'を使わないことを前提に'.'以降を
書き出して名前が変わらないように
fbxファイルのリビジョン番号アップ
グラフモードをMorphにしている間は
タイムラインのフレームを移動した際にブレンド率スライダーを更新
毎フレーム更新すると重いのでフレームが変わった場合に更新
不具合修正
AdditiveIKでモデルのワールド座標を設定した後で
Pick&Setすると位置がずれる
非スキンメッシュのマウスとの当たり判定関数が
メッシュのローカル座標系での座標を返していた
当たり判定後にグローバル座標系に直してから返すことに
直る前の具体的な症状としては、
地面を移動させてから地面に草を配置しようとすると草の位置がずれていた
カメラ編集結果がUndo出来ないことがある不具合を修正
カメラ移動編集などがUndo対象になっていなかった
プレイヤーボタンのToTheLastボタン([| |]ボタン)が
カメラアニメに対して効かないことがある不具合を修正
プロジェクト保存後とfbxファイル保存後に、
アプリの各パネルの選択状態がずれないように
直す前は、表示中のモーションと
GUIで選択しているモーションが異なることがあった
0_TroubleShooting/0_カメラアニメについて.docx
上記ファイルに追記
Testフォルダのモデルをアップデート
EmissiveTexture対応版モデルとして0_VRoid202406_Cam004
2024/06/10 (2024/06/19公開予定)
AdditiveIK 1.0.0.23
1.0.0.22からの変更点
カメラアニメ編集機能
Documents/TroubleShooting/0_カメラアニメについて.docx
上記ファイルにカメラ編集機能について記述
対応機能
回転、パン、ドリー、XYZ各軸の回転とパン
コピーペースト
補間
スムージング
アニメのフレーム長変更
アンドゥリドゥ
fbx入出力
fbxに記述されている既存のカメラアニメを編集可能(新規作成機能はまだありません)
fbxファイル書き出し時のリビジョン番号アップ
Testフォルダにカメラアニメ付きモデル
BlendShape(モーフ)ウインドウの項目名の表示文字数制限
メッシュ名12文字まで表示 ターゲット名は最後の . より後ろを表示
名前が長すぎるとラベル表示がスライダーの表示に被るので対策
右ペイン上部のカメラターゲットウインドウのスライダーの幅を長く
不具合修正
プロパティボタンでモーション名を変更する際に対象が1つずれていた
インデックスとモーション番号の違いによる間違い
コピーペーストで選択フレーム範囲の最初のフレームに
ペーストが行われないことがある不具合を修正
2024/05/26 (2024/05/29公開予定)
AdditiveIK 1.0.0.22
1.0.0.21からの変更点
BlendShapeアニメ(モーフアニメ)対応
BlendShapeプレートメニューで右ペインに設定ウインドウ
モーフアニメの保存読み込みはfbxファイルにて行う
BlendShapeメニュー時に
モーフターゲットのスライダーを操作すると
オイラーグラフにブレンド率表示
ブラシによる複数フレーム編集対応
モーフアニメの新規は可能だが、形状の登録などには未対応、
あらかじめBlendShapeのベースとターゲットが
設定されているfbxにだけ対応
(注意)
昔のAdditiveIKで保存したfbxにはBlendShape情報が入っていません。
VRoidをUnityでfbx出力したものにはBlendShape情報が入っています。
VRoidをUnityでfbx出力したものを読み込むとモーフアニメ機能を使用できます。
今回のバージョンから保存時にBlendShape情報も保存します。
すでに編集済のモーションに関しましては
編集済モーションをUnityで出力したfbxに
Retargetプレートメニューによりリターゲットすれば引き続き使用できます。
Testフォルダのモデル更新
1009_5フォルダのモデルをBlendShape設定済のVRoidに
不具合修正
Model'sPosAndDirショートカットボタンで出るダイアログの
Applyボタンが入力位置に対して効かなくなっていたのを修正
セパレータのサイズ計算を修正
スクロールウインドウと組み合わせて使用時に
コントロールのクリックが出来ないことがあった
セパレータ縦分割時の不具合だった
Shaderプレートメニューのウインドウを
スクロールした下の方のボタンを押せないことがあった不具合を修正
草の表示の不具合修正
草のRefPos、草のボーンマーク、草のマニピュレータを
表示しようとして潜在的エラーが生じていたのを修正
草のLODについては応急処置としてLOD0だけを表示
2024/05/16 (2024/05/22公開予定)
AdditiveIK 1.0.0.21
1.0.0.20からの変更点
不具合修正
chaファイル以外から読み込んだfbxが
全て草として扱われてしまう不具合を修正
chaファイル以外から読み込んだスキンメッシュ
(ボーン入りのメッシュ)が表示されなくなっていた
2024/05/15 (公開スキップ)
AdditiveIK 1.0.0.20
1.0.0.19からの変更点
Pick&Setの高速化
詳細判定の前にバウンダリーで粗く判定
こちらでテストした一番遅い条件で比べて3倍速くらいになった
地面などのポリゴン数が多いメッシュとの判定が必要になると
3倍速になってもまだ遅い
しかし、今回の修正でポリゴン数の多いメッシュを
適切な領域の適当なポリゴン数のメッシュに分けておけば
より高速化可能
草(grass)に対応
fbx読み込み時にload fbx as grassにチェックを入れると
インスタンシング表示の草として読み込み
モデルパネルで草を選び、上段カエルボタンの行の
Model'sPosAndDirショートカットボタン の
Pick&Setオプションでクリック位置に草を配置
草読み込みは複数回実行可能で1つの草fbxに対して
インスタンスは256個まで
Remove grass positionチェックボックスで
distanceエディットボックスの数値よりも近い距離にある
選択中の草モデルの位置を削除
草がなびく方向は常にカメラに対して横方向.
(シェーダになびく方向を指定可能なので、
将来的にはイベントでモデル周囲の草を倒したりも可能)
2024/05/07 (2024/05/15公開予定)
AdditiveIK 1.0.0.19
1.0.0.18からの変更点
不具合修正
剛体の衝突判定設定が誤解を招くGUIだったのを修正
RigidParamsプレートメニューのConflict, GConflictダイアログ修正
以前のGUIはビットシフトの足し算結果と
ビットのインデックスとが混在していた
GUIによる設定方法をビットのインデックス(何番目のビットか)に統一
グループ番号のビットインデックス(複数可)が
衝突対象のビットインデックス(複数可)の中に1つでも含まれてる場合に
衝突当たり判定が有効になる
自分自身と当たり判定するチェックボックスは廃止
GUI初期化時にオブジェクトに対して
デフォルト値が設定されてしまうことがあった不具合修正
File-->Saveメニューでプロジェクト以外の個別ファイル保存を選択した場合に、
存在しないファイル名を指定できなかった不具合を修正
File-->Saveメニューでプロジェクト以外の個別ファイル保存を選択した場合に、
パス名がセットされない不具合を修正
パタパタカクカクしない物理角度制限
制限角度を越えた場合にフラグを立てて
制限自体は剛体速度をスケールすることにより行った
DispAndLimitsプレートメニューの中の
BulletPhysics関連のスライダーをBulletPhysicsプレートメニューに移動
Test/1009_5フォルダの設定を更新
通常の設定(default_ref.ref)と
スカートを少し持ち上げておく設定(ForRapidMove.ref)の2種類用意
メインメニューバーの剛体設定選択メニュー(Select Rigid Menu)で切り替える
ドキュメント追加
Documents/TroubleShooting/
0_ver10019以降における物理設定について.docx
ドキュメント修正
Documents/TroubleShooting/
なぜ同じ項目についてのスライダーがDispAndLimitsプレートメニューにも存在するのか.docx
2024/05/01
AdditiveIK 1.0.0.18 release
1.0.0.17からの変更点
不具合修正
OWP_SliderのsetValueにリスナーを呼ばないフラグを
渡してもリスナーが呼ばれていた不具合を修正
ダイアログの初期化時に項目のデフォルト値が
オブジェクトに設定されたことがあった
ジャンプ中の前転にも対応
IK回転操作時にDispAndLimitsプレートメニューの
RotateTranslationにチェックを入れると移動成分も回転
RotateTranslationにチェックを入れない場合は
移動はそのままで回転だけ行う
以前のバージョンにおいては、
Hipsだけ特別扱いをしていてHipsの場合は
強制的にRotateTranslationチェック状態と同じ処理だった
ジャンプ中に前転する場合などHipsにおいても
Hips以外と同様にRotateTranslationによる場合分けが必要だった
よってHipsに対してもRotateTranslationチェックの有無で場合分け
使い方は下記ショートムービーリンク参照
全バネ定数スケールスライダーを移動バネに対しても適用
DispAndLimitsプレートメニューの
SpringScaleスライダー操作時に回転バネだけでなく
移動バネもスケールするように修正
Shaderプレートメニューから呼び出すShaderParamsダイアログを
右ペインにはめ込み
Skyプレートメニューから呼び出すダイアログも右ペインにはめ込み
SimpleWaterシェーダ対応
PBR,NoSkin設定時のみ機能
Shaderプレートメニューに
SimpleWater(PBR,NoSkin)チェックボックスを追加
水面(計算負荷の低い)を想定した機能
法線マップをディストーションマップとしても使用
海か川かを選択可能
流れの向き(UV)、流れの速度、ディストーションスケール、
ディストーションマップの2成分選択も可能
プロジェクト保存時にシェーダタイプファイル(*.stf)に保存、
プロジェクト読み込み時に読み込み
ショートムービー
ジャンプ中にくるりと回ります
https://youtu.be/6wveLqMbsYA
2024/04/25
AdditiveIK 1.0.0.17
1.0.0.16からの変更点
不具合修正
右クリックによるブラシ選択時にジョイント選択が
初期化されてしまっていたのを修正
右クリックによるブラシ選択時にジョイント選択を復元
左ペインのジョイント階層ツリーからジョイントを選択した場合にも対応
VRoid読込時マニピュレータとグラフの軸が一致
プロジェクトファイル(*.cha)ファイルに
DispAndLimitsレートメニューのBoneAxisを保存
chaファイルにBoneAxisタグが存在しない場合(古いchaファイルの場合)、
1つでもVRoidモデルがあればボーン軸種類としてBONEAXIS_BINDPOSEを設定
モデル読み込み後は、DispAndLimitsプレートメニューの
AxisKindコンボボックスにてボーン軸の種類を設定可能
軸の種類BONEAXIS_BINDPOSEについて
VRoidやバインドポーズとしてボーンの向きが設定されているfbxファイル用
オイラーグラフの軸とIK回転の軸(マニピュレータ軸)とボーンの軸が一致する
Rigの軸指定の種類のNODE*とも一致するようになる
軸の種類BONEAXIS_CURRENTについて
RokDeBone2出力のfbxやバインドポーズとして
グローバル軸が設定されているfbxファイル用
IK操作をボーン軸で行うことが可能
しかしオイラーグラフの軸とマニピュレータ軸は一致しない
オイラーグラフの軸の種類は常にBONEAXIS_BINDPOSE(今まで通り)
(今まではVRoid読み込み時にもBONEAXIS_CURRENTを指定していたので、
オイラーグラフの軸とマニピュレータの軸が表示上異なっていた)
注
軸の種類の違いにより、マニピュレータ軸とグラフの軸が
一致しないことがありますが、それは表現方法の違いであり
同一の姿勢を示しています。
軸の種類の違いとは、どこから角度を測るかという違いであり、
保持している元データとしては同一です。
ブラシピーク位置設定方法変更
今まではTopPosスライダーでブラシの山のピークの位置を決めていた
これからは、オイラーグラフ上部のタイムラインを
右クリックすることによりピーク位置を設定
ピーク位置は選択フレーム範囲内にクランプ
上部常駐スライダ変更
TopPosスライダーの代わりに、ブラシミラーUチェックボックス、
ブラシミラーVチェックボックス、ブラシリピートスライダを配置
ブラシ選択は3Dウインドウ右クリック、
その他のブラシ設定項目は上部常駐GUIに配置したので、
BrushParamsプレートメニューは取り除いた
4段階LODに対応
視野内判定高速化
シェーダ修正
物理回転バネ定数全体をスケールするスライダーを
DispAndLimitsプレートメニューに追加
EditScaleスライダーはアプリ上部の常駐スライダーと冗長なので取り除いて、
新たにAngleSpringScaleスライダーを追加
RigidParamsプレートメニューのForbidRot(回転禁止)設定も
自前の制限で復活
剛体は親ジョイントと子供ジョイントをつなぐ線分をベースに
作成されますが、ForbidRot回転禁止は子供ジョイントに設定します.
回転禁止にチェックが入っている剛体は、前のフレームの姿勢へと制限
自前の角度制限が動いたのでBulletPhysics側の角度制限はfree状態に設定
DispAndLimitsプレートメニューのAngleSpringScaleスライダーの値も
プロジェクトファイル(*.cha)に保存
各ブラシの引数チェック部分変更
ブラシのリピート回数の上限を100に.
ドキュメント追加
0_TroubleShooting/なぜ同じ項目についてのスライダーが
DispAndLimitsプレートメニューにも存在するのか.docx
(WhyTheDispAndLimitsPlateMenuAlsoHasASliderForTheSameItem)
2024/04/18
AdditiveIK 1.0.0.16
1.0.0.15からの変更点
不具合修正
CameraDist常駐スライダーをホイールで動かした際に
描画が更新されていなかったのを修正
Rigの修正
1009_5モデルにおいて
applyframeが167となるように複数フレームを選択して
足の青いリグを回転すると回転軸が設定と異なる不具合があった
通常のマニピュレータ回転時には子供ジョイントの軸で親ジョイントを回転させる
それに対してRig回転時には子供ジョイント軸で子供ジョイントを回転させる
Rig回転のときの回転軸計算に
通常マニピュレータ回転軸計算結果を使っていたというミス
修正により複数フレーム選択時のリグ回転も正常になった
ちなみに、
Testフォルダのモデルに設定してあるリグは
動作確認オンリーの目的で設定したものであり、
実用的設定ではないので各自使いやすいように設定してください
私はリグをあまり使わずにマニピュレータ(ジョイントを選択して回転)
でやる派なので、今のところ
物理角度制限復活
剛体接続を柔らかくしたので制限角度が効かなくなっていた
自前で制限処理をすることにより物理角度制限復活
LimitEulerプレートメニューのダイアログにLimitRateスライダーを追加
設定した制限角度を100%守って制限すると、
動きが激しい部分の動きがカクカクパタパタしてしまう
LimitRateスライダーを適当に設定して制限を緩めることにより
制限しつつ滑らかな動きへと近づく
そのような設定をするためには、
制限角度をオーバーして回転することを考慮して
制限角度を小さめに設定しておく必要がある
LimitRateはボーンごとに設定可能で、
ApplyDeeperボタンで下層ツリーへ一括設定、
ApplyAllボタンで全ボーンへ一括設定可能
DispAndLimitsプレートメニューにPhysicalLimitScaleスライダーを追加
LimitEulerプレートメニューで
各ボーンに対してlimitrateを設定しておいて
動作環境の速い遅いへの対応策として
DispAndLimitsプレートメニューのPhysicalLimitScaleで
全ボーンのlimitrateに倍率を掛けて調整する
重力スケールの最大値を100から200へと変更
回転バネ定数の設定範囲を0から500の範囲へと変更(以前は2から3000)
バネを柔らかくして重さを軽くして重力で調整してみる試み
EditRate, MotionSpeed, PhysicalLimitScale, cameraDistを
プロジェクトファイル(*.cha)保存時に保存
Testフォルダのモデル更新
1009_5
剛体の重さを一番小さく設定
ヘアのバネ定数を大きく スカートのバネ定数を小さく
LimitRate設定
スカートの真横ボーンには制限角度を設定しないことにより、
ジャンプでスカートは拡がるが中は見えないように.
ヘアの制限角度を+-15degree、スカートの制限角度を+-5degree
スカートだけではなくヘアに対する角度制限にも使えるようになった
fpsが小さい場合にもLimitRateスライダーで対応できるようだ.
75fps-->LimitRate85, 20fps-->LimitRate98
BoySporty_2
以前と大きくは変わらないようにLimitRateを設定
2024/04/12
AdditiveIK 1.0.0.15 release
1.0.0.14からの変更点
不具合修正
モデルが全体移動している場合に
シャドウが表示されていなかった不具合を修正
ChkInViewにおけるシャドウカメラ変換行列が
モデル全体移動に対応していなかった
DOF表示の高速化
被写界深度(DOF)をオンにした時の表示速度が
DOFをオフにしたときの表示速度と同じくらいにまで高速化
シャドウ品質の改善
シャドウの品質改善とはシャドウのギザギザ表示を解消すること
Shadowプレートメニューに
VarianceShadowMapsチェックボックスと
BlurShadowチェックボックスを追加
VarianceShadowMaps(分散シャドウマップ)とは
シャドウの深度情報の差分から影かどうかの分散(確率用語)を
計算して影の色を決める方法
BlurShadowは
ガウシアンによるボカシを掛ける機能で
オフにしている場合にも縮小拡大効果によりボカシを適用して品質向上
2024/04/07
AdditiveIK 1.0.0.14
1.0.0.13からの変更点
コンピュートシェーダー対応
CPU処理とGPU処理を同期して使うことが出来るように
コンピュートシェーダを即時実行するためのクラスを新規
ピック&セット機能がスキンメッシュ(ボーン入りのメッシュ)
に対しても機能するように.
ボーン変形計算とピック計算をコンピュータシェーダで実行
ビデオメモリ不足がシビアにならない程度に
(こちらで以前読めていたアセットを読み込むことが出来る程度に)
コンピュートシェーダ化
視野内判定(ChkInView)の改善
視錐体による判定(改善前は境界球判定だった)
コンピュートシェーダによる高速計算
Pick最大距離設定スライダー
ProjAndLODプレートメニューにPickDistスライダーを追加
PickDistRate x ProjectionFarの距離より遠いメッシュに対しては
Pick処理をスキップ
PickDist 0.0でPick全スキップ、
PickDist 1.0で視野内全メッシュに対してPick
マニピュレータの色の濃さを調整
色が濃すぎてメッシュが隠れてしまっていたのを
見易くなるように修正
半透明ブレンドに関わるメッシュソートの改良
管理クラスをはっきりさせて、まとめる部分はまとめてからソート
シェーダー内の割り算を出来るだけ掛け算表現で計算するように修正
多少高速化
2024/03/29
AdditiveIK 1.0.0.13
1.0.0.12からの変更点
不具合修正
DepthOfField(DOF)の修正
ボケるべき位置にボケない三角形が多数表示される不具合を修正
SkyDOFの実装方法をSkyデプス方式からクリア方式へ変更
大きいモデル(ポリゴン)表示時やカメラが遠くに離れた場合に
不具合が生じていた
RefPosをオンにした場合にも生じていた
RefPosの修正
半透明がブレンドされていなかった不具合修正
DOFと一緒に使うとボケない三角形が多数表示されていた不具合修正
スキンメッシュの内部配列のインデックスが
一部RefPosに対応できていなかった不具合修正
OWPスライダーの修正
セパレータ内のスライダーの左ダブルクリックが効かなくなっていたのを修正
左ダブルクリックでクリック位置へつまみを移動
セパレータ内の右ダブルクリックが効かなくなっていたのを修正
右ダブルクリックでスライダーのアンドゥを実行
スライダードラッグ時につまみの位置が微妙にずれるのを修正
クリック位置とつまみ位置のずれを保ったままドラッグによりスライドする
修正により、つまみ中央をドラッグした場合にも
つまみ位置とマウスと位置がぴったり合うことを確認
剛体マーク、リグマーク表示の修正
マルチスレッドのスロット番号合わせとフレーム番号合わせ
メッシュの姿勢とマークの位置が表示1回分ずれていたのを修正
プレビュー時、ホイールによるタイムラインフレーム移動時にも
表示がずれなくなった
アルファテストスライダー追加
ShaderプレートメニューにAlphaTestスライダーを追加
透明度がスライダー値より小さい場合に
ピクセル単位で描画をスキップする(アルファテスト)
アルファテスト修正
アルファテスト時にシェーディングアルファ設定にも簡略計算にて対応
シェーディングアルファで透明度を設定しておいてから
アルファテストスライダーを操作することにより
メッシュを明るい部分から徐々に出現させたり、
暗い部分から徐々に消したりすることが可能
アルファテストで完全に消えた場合の跡地がDOFでボケるようになった
ブラシのスピーディー選択
3Dウインドウの何も無いところ(背景)を右クリックすると
ブラシ選択コンテクストメニューが出る
詳細な設定はBrusheParamsプレートメニューで行うが、
ブラシの種類をパッと変えたいときに便利
選択中ブラシ名を表示
オイラーグラフのオイラー数値表示の並びに、
選択中のブラシ名も表示
TestフォルダにBoySporty_2モデルを追加
新しいVRoidでモデルを出力し直して復活
顔のシェーディングが直った
2024/03/20
AdditiveIK 1.0.0.12
1.0.0.11からの変更点
不具合修正
マルチスレッド処理修正
マルチスレッドのスロット合わせし直し
以前はループの最後と最初の部分で
部分的に形状が伸びることがあったがその症状は解消した
レンダリング中に姿勢計算をしても表示が乱れなくなった
シェーダーコンパイルエラー時にabortするように.
ユーザーがシェーダーをいじることも想定
エラーの時にはアプリを終了
シェーダーにミスがあった場合
(例えば全角スペース1個入っていた場合)に
アプリとWindowsOSが固まる不具合を解消
拡大、回転、移動の必要なものだけペースト
操作対象ボーン設定ダイアログに機能追加
ペーストショートカットボタンを右クリックで設定
PasteScale, PasteRotation, PasteTranslationの
3つのチェックボックスを追加
スケール(拡大縮小)、ローテーション(回転)、トランスレーション(移動)
の中の必要なものだけチェックしてペースト
SRT3つの組み合わせも可能
ジャンプ補間ボタン
Hipsジャンプ補間ボタンを追加
上段カエルボタンを押したときに、
補間ボタンの左隣にジャンプ補間ボタンを追加
選択フレーム範囲の最初フレームと最後フレームの
Hipsの移動アニメを放物線で補間する
最後のフレームでぴったり着地するように補間
ボタンを押したときに、
ジャンプ補間用の重力設定ダイアログ(再計算ボタン付き)を表示
いつでも使うスライダーを常駐
アプリ上部に常駐スライダーを追加
EditRate、Speed、TopPosスライダーを常駐
いつでも操作可能に
TopPosスライダーの横幅が長くなったので
ブラシのピーク位置の設定精度が上がった
(長い分、目盛りが細かくなった)
被写界深度(Depth of Field)対応
DOFプレートメニュー新規
ボカシ始め距離、ボカシ完了距離、
SkyDof(天球にもボカシを入れるかどうか)の設定
8スロット分設定可能
フォグ対応
Fogプレートメニュー新規
カメラ距離フォグと高さフォグに対応
フォグ色も指定可能
8スロット分設定可能
Skyプレートメニュー新規
8スロット分設定可能
アルファテスト
ピクセルシェーダ内でテクスチャのアルファが
0x08より小さい場合に書き込みをスキップ
書き込みスキップ時はZバッファにも描画されないので
テクスチャ抜きが綺麗に.
シェーディングアルファ
BaseAのスライダーでマテリアルの透明度を設定可能
HiA,LowAも設定可能
マテリアルごとに
光の当たり方によってアルファ(透明度)を徐々に
変化させることが可能
DispAndLimitsプレートメニューにAlphaBlendingチェックボックス
アルファテストだけのアルファ抜き表示の時はオフ、
ブレンドしたい場合にオン
オンにした場合にはZバッファのクリア1回分処理が増える
ドキュメント追記
TroubleShooting/0_シャドウの設定の仕方について.docx
2024/03/08
AdditiveIK 1.0.0.11
1.0.0.10からの変更点
不具合修正
インスタンシング描画修正
プリミティブ数指定を修正
直す前は、デバッグビルド実行時に警告が出ることがあったようだ
Shaderプレートメニュー修正
見出しボタンを押した後にShaderTypeを変更した場合に
最後のマテリアルの3文字タイプ表記が変わらない不具合を修正
(設定はされていた)
fbxに四角形が含まれていた場合に警告ダイアログを出すように.
エラーにはならないが4点目の法線を読み込んでいないので警告ダイアログを出した.
ワーニングは1ノードに付き1回まで.
起動時のウインドウ大小選択ダイアログでキャンセルしてアプリを終了した場合に
メモリリークしていたのを修正
法線マップとメタルマップのサンプラー修正
複数アセットで確認したが、albedoとnormalとmetalは
セットで切り替えるようだった
normalとmetalのサンプラーにもalbedoのサンプラーを使用することにした
TheHuntStreet1の地面の凸凹が改善した
マテリアルごとに影を落とさない設定を可能に
ShaderプレートメニューにShadowCasterチェックボックス追加
天井や壁や仕切りカーテンなどに対して
ShadowCasterのチェックをオフにすることで狭い場所にも
きれいに影が落ちやすくなった
2番目のトークンで類似チェックオンオフを可能に
DispGroupプレートメニューのSimilarチェックをアップデート
メッシュ名を右クリックで出るコンテクストメニューに2nd ON, 2nd OFFを追加
_で区切られたメッシュ名の2つ目の_の後のトークンを元に処理
例えば、Model_tree_1というメッシュに対して2nd ONを実行すると
Model_tree_2, Model_tree_3などがチェックオンになります
ShaderプレートメニューにLightingチェックボックス追加
チェックオフ時にはライトの向きを考慮しない白い拡散色とマテリアルテクスチャで表示
DispAndLimitsプレートメニューのEnableLightチェックをオフにした場合は
シーン全体に対してライトの向きを考慮しない白い拡散色とマテリアルテクスチャで表示
天球表示をオプションに
DispAndLimitsプレートメニューにSkyDispチェックボックスを追加
天球マテリアル設定機能追加
アプリ上部のメインメニューバーの
表示(disp)-->天球設定(SkyParams)メニュー選択でダイアログ表示
設定はアプリ終了時自動保存、アプリ起動時自動読込
UVの繰り返し回数設定
ShaderプレートメニューにTilingU, TilingVのスライダーを追加
スライダー設定をリアルタイムでテクスチャの繰り返し回数として適用
Albedoテクスチャ, Normalテクスチャ, Metalテクスチャすべてに影響
fbxファイルのUVScalingに保存して読み込み
UVScalingはMayaとUnityでは現在は無視されているようにみえる
fbxの正式なtiling回数の保存読み込みに関しては不明
CameraDistスライダーの最大値を1000から5000に変更
2024/02/27
AdditiveIK 1.0.0.10
1.0.0.9からの変更点
不具合修正
シャドウカメラの計算を修正
思った通りになっていなかったのを修正
ピック&セットの不具合修正
DispGroupプレートメニューにおいて、
クリックしてもGUI上で選択メッシュが自動選択されないケースがある不具合修正
選択メッシュをみつけた場合のbreak抜けにより自動選択されないケースがあった
OWP_Sliderの修正
スライダー上のクリック位置からの移動量でスライドする機能の修正
スライダーがセパレータの右側にある場合に計算が間違っていたのを修正
Testフォルダのモデル更新
新しいVRoidのモデルはStdシェーダで表示しても顔の中央に白いラインが出ないので、
今後は新しいVRoidのモデルを使用する
2/22のモーキャプ@夕暮れキッチン(https://youtu.be/pMRaTOw5B38)のモデルを新規
スカートに剛体設定してスカートのシミュをオンに設定
ジャンプした際にスカートががめくれないようにするには
こちらではDispAndLimitsメニューのSpeedを0.5に.
Rigの軸がドラッグ開始姿勢に依存していた問題解決
ジョイントドラッグのIKはうまくいっていたがRigで問題が出ていた
Rigの軸としてNodeX, NodeY, NodeZのどれかを選ぶことで動作が安定
ただしfbxのジョイントに適切な初期姿勢が設定されていることが前提
初期姿勢が設定されていない場合にNodeX, NodeY, NodeZを指定すると
ボーン軸ではなくグローバルXYZの回転になってしまう
新しいVRoidのモデルではうまくいっているようだ
DispGroupメニューのメッシュ名右クリックからのSimilarON,OFFの修正
処理関数を書き直し
先頭に'_'があってもうまくいくようになった
DispGroupメニューの項目の選択処理が重すぎたのを修正
プログラムからの項目選択時にも項目選択リスナーを呼び出していたのを
呼び出さないように修正
カメラドリーダイアログの修正
カメラドリーダイアログを出したときにカメラの位置が変わってしまわないように修正
(保存したいカメラ画面にしてからダイアログを出す場合に画面が変わると困るから)
カメラターゲットに関わるGUIを右ペインの上のウインドウに常駐
Lock2Jointチェックボックス : 選択中のジョイントをカメラの注視点にする
DispTargetチェックボックス : カメラターゲットの位置にマニピュレータと位置座標表示
CamDistスライダー : カメラの視点と注視点の距離を設定する
MoveEyePosチェックボックス : オフの時スライダー操作時に注視点を移動、
オンの時スライダー操作時にカメラ位置を移動.
CamDistスライダーで注視点を前後させて、カメラの回転の中心を設定することが可能
MoveEyPosチェックとスライダーの組み合わせで、
尺取虫の様にカメラを操作することも可能
注視点はカメラを回転する場合の回転中心になる
ファイルオープンダイアログを通常のエクスプローラタイプに変更
エクスプローラタイプに変更するとファイルを選択しやすい
しかし
現状のゲームパッド対応コードでは目的のGUIコントロールを取得することが出来なかった
(ゲームパッドでオープンダイアログのボタンを押すことが出来ない)
ゲームパッド対応はモーション遷移テストやキャラクターの移動などに
限定して使用していく予定
ゲームパッド対応時にもマウスは必要という方針に変更
どうしてもゲームパッドでファイルを開く必要が生じた場合には、
ゲームパッドでピック可能なオープンダイアログを作ることになる
ver1.0.0.10時点では一時的にゲームパッド対応コードをコメントアウトしている
LightsプレートメニューのGUI改良
ライトの方向を設定するためのGUIを極座標表現に変更
角度2つで設定可能なのでベクトル指定よりも直感的に設定することが可能
内部データと読み書き用ファイルは向きベクトルのまま
極座標のXZの角度は本来はX軸方向だが、
アプリ起動時のカメラの向きに合わせてZ軸方向を0度にした
GUIでの角度の数値の小数第2位以降は誤差ですが、
表示桁数を減らすと余計に誤差が大きくなるので小数4桁表示しています
マニピュレータ表示修正
回転モードのときにはリングも表示
移動モード、拡縮モードの時には軸だけ表示
DispGroupメニューにClearボタンを追加
メッシュ名のチェックマークをクリアするボタン
ドキュメント追加
0_TroubleShooting/0_スカート物理の設定の仕方.docx
0_TroubleShooting/0_シャドウの設定の仕方について.docx
0_TroubleShooting/0_Win32ダイアログの黒い枠.docx
2024/02/22
AdditiveIK 1.0.0.9
1.0.0.8からの変更点
不具合修正
ノーマルマップを小さく表示するとモアレが出る不具合修正
ノーマルマップだけMipMapを0に固定していたのが原因
AdditiveIKの方向性としてトゥーンベースに
全てのシェーダ(PBR, Std. Toon)において
拡散色のシェーディング時にHSV_Toonを参照するように.
黒くなるシェーディングではなく
色相を保ちながらまたは色相を変化させながら
HSVのVが小さくなるシェーディングが可能.
ベースとなるToon設定としてグラデーションとパワートゥーンを追加.
顔の陰が綺麗に出るようにNormalY0チェックボックスを追加.
SpecularCoefスライダでスペキュラーの倍率をマテリアルごとに設定可能に.
Q2Eul_Thresholdプレートメニューを追加
Retargetメニューの並びに配置.
リターゲット時、fbx入出力時と
姿勢をオイラー角に変換する計算時に使用する閾値の調整が可能.
Rigidプレートメニューの各項目の右にToDeeperボタンを追加
選択剛体の全ての子供の剛体に対してカレント値をコピペ.
例えば手の甲に物理パラメータ設定をして
ToDeeperボタンを押すと子供の指剛体全部にコピペされる.
ウインドウ小モードにおける各種ダイアログの大きさ調整.
見切れすれすれのものが多数あったので対応.
法線マップとメタルマップのサンプラーのフィルターをMIP_POINTに変更.
ぼけ過ぎないように.
UV0とUV1の切り替えテストのためのUVSet決め打ちコードが
残っていたのを修正.
fbxの元のものを読まないと正しく直らないことも有り.
ScreenShotフォルダの中身を新しいSSに更新.
TestフォルダのモデルのShader設定を更新.
体はStd. 顔だけToonLit2でY0フラグオン.
顔のセンターの法線の具合がStd.で光るので対策.
ドキュメント追加
0_TroubleShooting/0_シェーダの設定の仕方.docx
0_TroubleShooting/0_裏返り修正の閾値設定について.docx
2024/02/17
AdditiveIK 1.0.0.8 release
1.0.0.7からの変更点
能動的デストラクトとメモリリーク解消
Direct3Dオブジェクトをメンバに持つ自動変数、static変数、global変数の
解放を能動的に行った
アプリ終了時に自動開放を待たずに能動的にデストラクトすることにより
リークしていたメモリを把握出来て修正することが出来た
ダンプにおいてDebugDevice以外のRefcountが0になった
(IntRefには何か書いてあるが問題ないらしい)
メモリリークは解決したようだ
TOONシェーダ対応(HSV_Toon)
NOLIGHTシェーダをTOONシェーダに変更
Shaderプレートメニューでマテリアル名のボタンを押してToonを選択すると機能
TOON用のライトとしてはLightプレートメニューのライトの向きを使用
マテリアルの拡散色から自動的にTOONテクスチャを作成し
diffuseMapとしてシェーダで使用
設定画面
Shaderプレートメニューで設定
面の向きとToon用ライトの向きが同じ向きを向いているほど
HiAddr,LowAddrのスライダーは右側にします
HiAddrよりも向きが同じ方向の場合にはハイライト色、
LowAddrよりも向きが違う場合には陰色、
どちらでもない場合にはベース色を表示
トゥーンの色の設定はHSVで行います
HSVのHは色相で0から360の数値をとります.
Sは彩度で0から1、Vは輝度で0から1.
Base色はHSVの数値そのものを指定.
AddH, AddS, AddVはベース色のHSVに加える分
(引くときはマイナスの数値を指定)の数値を指定.
各設定項目にはGUIスライダー有り
プロジェクト保存時に*.stfファイルにテキスト保存、プロジェクト読時に自動読込
PBR, StdのdiffuseMap参照の際にもHSV_Toonのテクスチャを参照
PBRの法線修正
法線マップが無い場合には頂点法線を使用するように.
法線マップが無いメッシュにPBRシェーダを選んでもそれなりに表示されるように.
NumKeyピッキング
ShaderプレートメニューとDispGroupプレートメニュー時のピック処理修正
オブジェクトの中心がカメラから一番近いオブジェクトをピックしていました.
オブジェクトの形状によっては意図したオブジェクトがピック出来ないことがありました.
1-9の番号を押しながらピックすることで
カメラから番号番目に近いオブジェクトをピックするようにしました.
処理の高速化のために距離の順番はカメラとオブジェクト中心との距離、
見つかった時点ですぐに結果を返す仕様.
現在は非スキンメッシュだけがピック対象(これも高速化のため).
1オブジェクトだけのテスト表示機能
DispGroupプレートメニューのTestボタンが機能していなかったのを修正
Rigスプライトの画像ファイル更新
見やすく
ZPreCullingをデフォルトでオフ
ZPreによる効果よりも不具合の方が多くなってきたため.
RefPosの選択ジョイント軌跡表示修正
カレントフレームの選択ジョイント位置も軌跡に含めるように.
TestフォルダのモデルのShader設定を修正
######################
### HSV_Toon設定時の注意 ####
######################
HSV_ToonにはRGBとHSVの変換計算が関係しています
Windowsに付いているペイントというソフトで色作成ボタンを押して
色の種類をRGBからHSVに変えてから色の位置をいろいろクリックすると分かるのですが。
HSVのSが0の場合にはHをどんなに変えても色は白です.
fbxの拡散色として真っ白が設定されている場合、Sが0になっています.
その状態から色を変えたい場合には、まずSとVを変えてからHを変えてください.
2024/02/11
AdditiveIK 1.0.0.7
1.0.0.6からの変更点
不具合修正
LimitEulウインドウでCurrentBoneに対するFromCurrentMotionボタンを実行すると
他のボーンの制限角度が0リセットされて動かなくなる不具合修正
カレントボーンだけを初期化してからカレントボーンだけに値をセットするように.
AllBoneボタンの処理はそのまま.
Brushesプレートメニューでアンドゥリドゥ時にウインドウが更新されない不具合を修正
BrushMethodのコンボボックスを変更してもアンドゥ用の保存がされていなかったのを修正
右ペインウインドウを開いたままリターゲットバッチを実行すると
他のウインドウを表示した時に裏に残ったままになる不具合を修正
リターゲットバッチ実行前に右ペインウインドウを閉じるように.
IKモードスプライト表示状態の初期値修正
回転モードスプライトを初期状態でONに.
(初期状態で回転モードになっていたが表示色がオフ色になっていた.)
アプリの終了処理を修正
クリック(ピック)&セット
DispGroupプレートメニュー選択時
マウス位置のメッシュ名をToolTip表示し
クリックしたモデルとメッシュを選択してGUIに反映
ただし背景だけ(スキンメッシュは未対応)
Shaderプレートメニュー選択時
マウス位置のマテリアル名をToolTip表示し
クリックしたモデルとマテリアルを選択してGUIに反映
ただし背景だけ(スキンメッシュは未対応)
RefPos機能をDirectX12に対応させて復活
CameraAndIKプレートメニューのRefPosオンオフに対応.
スキンメッシュ(ボーンが入っているメッシュ)のみ対応.
複数残像を表示する機能ですがメッシュメモリは使いまわし
必要なメモリを残像4個分アロケートします.
選択フレーム範囲を2分割して3個の残像フレームと1個のカレントフレームを表示します.
選択中のジョイントの軌跡を赤いソリッドコーンでインスタンシング表示.
動きが大きいほどコーンの大きさは大きい.
プレビューにも対応.
DispAndLimitsプレートメニューのRefPosAlphaで残像の透明度調整
DispAndLimitsプレートメニューのZCmpAlwaysチェックボックスで
カレントフレームのZバッファ方式を切り替え
2024/02/01
AdditiveIK 1.0.0.6
1.0.0.5からの変更点
不具合修正
カメラアニメ選択後にカメラの無いモデルを選択してプレビューすると
カメラアニメが再生されない不具合修正
最後に選択したカメラアニメが有効.
カメラの無いモデルのモーション編集中にもカメラアニメが動くように.
ShaderプレートメニューのEmissionチェックボックスの隣にEmissiveScaleスライダーを追加
Emissionに対して0%から100%まで倍率を指定
fbxに既に設定してあるマテリアルのemissiveに対して作用.
DispAndLimitsプレートメニューのEditRateの値の範囲を0倍から50倍までに.
(変更前は0から1)
CameraAndIKプレートメニューの移動モード時にもEditRateを考慮
(回転モードは以前から対応しているが9.9度以上のステップにはならないリミッター有)
広いステージをスプライトドラッグで移動する場合にも速やかに移動可能に.
Shiftキーを押しながらスケールドラッグでXYZ全軸に対してスケール処理
ToolButtonのモーションの補間機能がスケールに対応していなかったのを修正
スケール対応
対応前は例えば全体を5倍したモデルのフレーム範囲を補間した場合に
補間区間のモデル倍率が1倍になってしまっていた.
対応後は5倍されたまま姿勢が補間される.
カメラアニメ計算時の時間を丸めないdoubleに.
カメラに合わせてモデルのモーションを付ける際に
モデルだけ補間されてカメラが補間されない場合に、
モデルが画面上を行ったり戻ったりするようにみえる不具合解消のため.
2024/01/27
AdditiveIK 1.0.0.5
1.0.0.4からの変更点
不具合修正
既知の問題005の解決
1メッシュに複数マテリアルが設定してあるfbxの書き出しに関する不具合修正.
修正前の症状としては
マテリアル番号オブジェクトが2つ出来て1つ目が未設定になり
Unityでは読めるがMayaでは表示が指定通りでは無かった.
修正後は
UnityでもMaya2024でも指定通りの表示になった.
マテリアル番号オブジェクトが2つあるfbxを読み込んだ場合には
書き出し時に2つ目を書き出すようにした.
古いAdditiveIKで保存したfbxはver1.0.0.5で読み込んで保存し直すことで
Maya2024でも正常に読み込めます.
既知の問題006の解決
症状としては
AdditiveIKで出力したfbxをMaya2024.2で読み込むとバインドポーズに関する警告が出て
モーションが大きく変質する不具合.
Maya2023.3では無警告で正常に読み込み正常に再生できる.
解決方法としては
古いAdditiveIKで保存したfbxはver1.0.0.5で読み込んで保存し直すことで
Maya2024でも正常に読み込めます.
Testフォルダのモデルを1.0.0.5で読み込んで保存し直し
Hand_Closeリグで手を握った状態から開こうとするとうまくいかない不具合修正
設定ファイル*.rigを更新
親指の回転軸をNodeYに変更(変更前はCurrentY)
2024/01/21
AdditiveIK 1.0.0.4
1.0.0.3からの変更点
不具合修正
BrushParamsプレートメニューでTopPosスライダー操作直後のIK中に、
3dwndのポーズの表示が変化しないことがある不具合を修正
DispGroupの挙動を修正
グループごとに不透明はカメラから近い順、半透明はカメラから遠い順に
ソートしてから描画
Treeのグループ番号を大きい値に設定するだけで
ステージのTreeの影付き透過表示がうまくいくようになった
メッシュ名右クリックのSimilarチェック時に
メッシュ名先頭にPrefabがあった場合には2番目の'_'までをパターンとする
Shadowプレートメニューのbias値の最大値を0.03に変更(変更前は0.01)
対称コピーに関する修正
実際に有効な使用方法としてはRootBone:SymDirAndSymPosAndSymScaleだけ
とも言えるので他のメニューはグレーアウト
部分的にペーストしたい場合には
上段カエルショートカットボタンの中のペーストボタンを"右"クリックして
対象を絞って対称ペーストする
IK操作中は30fps以上のマウス移動に対する処理をしないように修正
IKの後処理が重くなり過ぎないようにするため。
表示のfpsは今回の修正によっては制限を受けない
Rigクリックだけで右ペインにクリックしたRigの設定画面を出すように.
設定中のRigと操作中のRigを一致させることにより、誤保存を回避、操作も効率的に。
Test/3_Winter2_1モデルのRig設定を修正
このモデルはTestフォルダの中の他のVRoidよりも新しいVRoidで出力したモデル
新しいVRoidにはローカル軸が保存されるようになったようだ
それを踏まえて、新しいVRoidのリグの設定時には
軸の種類としてNodeX,NodeY,NodeZを選ぶと良い
特に足の部分のリグにはNodeX,NodeY,NodeZを選ばないとうまくいかないことが多い
備考
ノーマルマップテクスチャの表示について
テクスチャにはMipMapの処理を入れてある
MipMapが本当に機能しているかどうかについてはまだ調べ切っていない
PBR表示の際のノーマルマップテクスチャについては遠くのテクスチャに
モアレが出ることがある
PBRをオフにすると通常のテクスチャに対してはモアレは出ない
ノーマルマップを施しているメッシュについてはLOD(詳細度切替機能)を使って
遠くのオブジェクトに対してはノーマルマップ無しのモデルに置き換える
というのが良いと思っている
2024/01/13
AdditiveIK 1.0.0.3
1.0.0.2からの変更点
不具合修正
1メッシュに複数マテリアルがある場合に面のマテリアル番号設定に問題があったのを修正
LaterTransparent設定ウインドウに
Albedoテクスチャ名がエントリーされていなかった不具合修正
AlbedoでもNormalでもMetalでもないテクスチャ名だけが
エントリーされていた不具合だった
(修正前はVRoidではうまくいっていた)
BrushParamsプレートメニューのTopPosのテキスト表示更新に関わる不具合を修正
フレーム選択変更時にTopPosのGUI表示が更新されていなかった
右ペインのウインドウのスクロールバードラッグのキャプチャとリリースに関して修正
スクロールバードラッグ中に画面外でマウスを離した場合に
挙動がおかしくなる不具合が直った
モデルを追加読み込みするとモーションスピードが
スライダーの値と異なってしまう不具合を修正
DispAndLimitsプレートメニューのSpeedスライダーの設定どおりになった
2つまでのマルチUVに対応
Albedo, Normal, Metal丸ごと一緒にUVSet0とUVSet1を切り替えるように.
DispAndLimitsプレートメニューに UVSetコンボボックスを追加
インスタンシング表示
リグと剛体をインスタンシング表示(1モデルに対する1回の描画で複数個表示)
フォントとボーンマークは1.0.0.1からインスタンシング表示
ボーンマークの明るさ、リグ(Rig)の透明度、剛体(Rigid)の透明度を設定可能に.
DispAndLimitsプレートメニューのスライダーで設定
Rigの設定(ジョイント右クリック->Rig名->Settingメニューで出る)の回転軸の追加
CurrentX, CurrentY, CurrentZ,
ParentX, ParentY, ParentZ,
GlobalX, GlobalY, GLobalZ,
NodeX, NodeY, NodeZ
上記9種類に増やした
足の付け根UpperLegの前後回転軸はParentYとした
Testフォルダのrigファイルを更新
古い設定はCurrent*として扱う
マニピュレータの計算の修正
Hipsの特別扱いを止めて Hips自身の回転を考慮するようにした
Rigの足の付け根(UpperLeg)の回転が 体全体の回転後も設定どおりに曲がるようになった
テクスチャアドレッシングモードの読み込みと表示への適用と保存
サンプラーステートにも適用
テクスチャ命名規則を少し修正(_Baseが加わった)
Albedoまたはalbedoまたは_Baseが名前にテクスチャをAlbedoMapとする
Normalまたはnormalが名前につくテクスチャをNormalMapとする
Metalまたはmetalが名前につくテクスチャをMetalMapとする
VRoidに対する剛体作成の修正
VRoidの足の横に平行して作成されるCoatSkirt用のボーンに対しては
自動で剛体を作成 "しない" ように修正
ジョイントマークを修正
選択時は赤、非選択時は黄色に. 明るさ調整はスライダーで.
モーションスピードの初期値を1.0に変更
変更前は3.0
外部ライブラリのバージョンアップ(差し替え)
DirectXTK12をJun2023からDec2023に差し替え
DirectXTexをDec2023に差し替え
モデル更新
Test/3_Winter2_1のモーションを修正
全フレームのHipsのスケールを初期化
スケール値に不具合を引き起こす値が入っていたようで
Mayaで服のテクスチャが表示されなかったり IK時に軸がブレたりした
スケール初期化で直った
2024/01/04
AdditiveIK 1.0.0.2
1.0.0.1からの変更点
不具合修正
ボタンを押してもShader設定ダイアログが出ないことがある不具合修正
Rigの設定が意図せず重複して片方を選べなくなる不具合修正
シャドウの向きを修正
マニピュレータの軸(計算と表示共に)がparent側に1階層分ずれていたのを修正
体全体を90度回転した場合に足の付け根のRigの軸が
設定と異なる現象を追いかけていたら発覚
IK操作、Rig操作とRigの設定に影響
軸の種類はDispAndLimitプレートメニューのAxisKindコンボボックスで
Current, Parent, Global, Nodematから選択可能.
昔の振る舞い再現はAxisKindでParentを選択すれば可能(Rigの設定が昔のままの場合).
IK操作の軸が操作中にブレないことを再確認
LOD機能追加 ProjAndLODプレートメニュー追加
MipMap対応
テクスチャ読み込み時に全レベルMipMapを作成して転送
サンプリングステートでMipを有効に
VRoid特有のジョイント名がある場合には
シェーダー設定がAUTOのときにNOLIGHTを適用してトゥーン風に表示
ブラシ設定のRepeatsのスライダーの最大値を100に.(変える前は10)
起動時の初期値を変更
HighRpmを最初から有効に.
4Kモード時には ZprepassCullingを最初から有効に.
ツールショートカットボタンのModelWorldMat設定ウインドウにカメラ位置、カメラ注視点にモデルを置くボタンを追加
シャドウのbiasスライダーの最小値を0に.(変更前は0.001)
Testフォルダにモデル追加
Test/3_Winter2_1
トラブルシューティング追加
0_TroubleShooting/LODの設定について.docx
0_TroubleShooting/シェーダーの設定について.docx
0_TroubleShooting/シャドウの設定について.docx
0_TroubleShooting/画面に暗いノイズが表示される場合.docx
0_TroubleShooting/ギザギザ画質を改善したい場合.docx
0_TroubleShooting/リターゲット後の姿勢が部分的に180度異なる場合.docx
入力用のfbxの準備の仕方
UnityAssetをUnityでfbxエクスポートする場合
全てのマテリアルのシェーダーをStandardにするとfbxにテクスチャ名が出力される
それ用のEditorスクリプトをみつけてきて使っています
メニュー
2段構成プレートメニュー
1段目は常時固定メニュー. 2段目はカエルボタンクリックで変化.
メニューに対するGUIは右ペインウインドウに表示.
IK編集
編集したいフレーム(時間横軸)範囲をロングタイムラインの四角マークをマウスで囲むようにドラッグして選択
Brushプレートメニューで編集ウェイト曲線のパラメータを設定
Brush設定によるウェイトカーブはタイムライン上に白い線で表示
ジョイントマークをマウスドラッグしてIK
元の動きを潰さずにドラッグした分だけの姿勢をウェイトを掛けて足す.
IK階層数を大きくしてもIKStop設定ジョイントでドラッグ効果は止まる.
IKStopはジョイント右クリックでオンオフ.
アンドゥリドゥ
モーション編集とブラシ設定とフレーム選択に関して処理の巻き戻しと再実行が可能
アンドゥ及びリドゥボタンはCameraAndIKプレートメニューで表示
画面左上にR(数字)、W(数字)の表示がある 読込バッファ番号と書き込みバッファ番号を示す
R位置番号はアンドゥするたびに1つ減る
W位置番号は常にバッファの最後の番号
R番号W番号は アンドゥリドゥによって どの状態に戻ったのかを確認するためのもの
高回転モードと計算スレッド数
姿勢計算はマルチスレッド化されていて描画と同時進行で計算
DispAndLimitsプレートメニューのHighRpmチェックは姿勢計算のスレッド回転を速くする
HighRpmはプレビュー時(プレイヤーボタンのプレイを押したとき)に機能する
HighRpmオン時にはプレビュー時にCPU稼働率が高くなり描画が速くなる
DispAndLimitsプレートメニューのUpdateThreadsスライダーで計算スレッド数を設定
UpdateThreadsは1モデルに対してのスレッド数
読み込みモデル数とコンピュータのCPUコア数によって速く描画できるスレッド数は異なる
角度制限
読み込み済のモーションの動く範囲を可動範囲としてワンボタン設定可能
LimitEulerプレートメニューの
FromCurrentMotionボタンとFromAllRetargetedMotionでワンボタン設定
角度制限はCameraAndIKプレートメニューのLimitEulボタンでオンオフする
IK時に設定した制限角度で止まる
CameraAndIKプレートメニューのScrapingボタンオンの時には
1つでも可動軸があるとその軸に関して動く
指などの制限が厳しい設定下で動かしたい場合にScrapingを使用
位置コンストレイント
ジョイント右クリックでコンストレイントジョインを指定
位置コンストレイントはIK時またはConstExecuteボタン押下時に働く
CameraAndIKプレートメニューのConstRefreshを押したときの位置にジョイントをコンスト
LimitEulをオンにして使うことを想定(無理な方向へ曲がらないように)
カスタムRig
操作用メッシュを表示したいジョイントを右クリックしてCreateNewRigで作成設定
マウスのX方向Y方向それぞれのドラッグに対してXYZの度の軸を回転するかを指定
回転には符号付きの倍率を設定
RigによるIKは5階層まで伝達可能だがRigからRigも呼ぶことが出来るので5階層以上も可能
Rig操作のオンオフはCameraAndIKプレートメニューのRigボタンで行う
コピーペースト
ソフトを終了しても残るコピー履歴機能により手間を削減
コピーの際にメモを記述可能で履歴画面に表示される
コピー履歴表示のソートカットボタンは上段カエルボタンを押して表示
最新を選択のチェックを外すと過去の履歴を選ぶことが出来るようになる
SymCopy
対称コピー
選択フレーム範囲のモーションに対して対称コピーを行う ペーストボタンで貼り付け
ショートカットボタンは上段カエルボタンで表示
ボタンを押して出てくるメニューでSymDirAndSymPosAndSymScale選択推奨
補間
補間(Interpolation)ショートカットボタンは上段カエルボタンで表示
補間計算は選択フレーム範囲の最初と最後のフレームに対して行う
補間計算時にはBrushプレートメニューで選択したウェイト曲線を使用
通常の補間をしたい場合にはZBrushにUpCos選択 TopPosを100にして補間ボタン押下
Smooth平滑化
平滑化ボタンはCameraAndIKプレートメニューにある
ボタンを右クリックで設定してから実行、左クリックは前回の設定で実行
ノイズの除去に効果がある
補間とは違って姿勢を考慮せずにオイラー角を直接計算するのでHipsに使うと体が傾くことがある
物理シミュレーション
bulletPhysicsによる物理シミュレーション
RigidParamsプレートメニューで設定
Validにチェックを入れてToAllボタンで全身に剛体が入る
髪の毛ジョイントはneckジョイント選択後ToolWindowのjointマークスキップresetを押すと表示
シミュレーションしたいボーン(剛体)に対してRigidBodySimulationチェックボックスにチェック
プレイヤーボタンのグレーの再生ボタンで物理シミュ開始
BulletPhysicsプレートメニューのCalcCountスライダーで1フレーム当たりの物理計算回数を設定
CalcCountは通常1.
大きいCalcCount値で安定することもあるが環境依存で大きくすることにより暴れることもある
カメラ履歴
アセットの編集場所へすばやくカメラを移動可能
上段カエルボタンでカメラ履歴ボタンを表示
CameraAndIKプレートメニューのカメラボタンドラッグでカメラ設定後
履歴ウインドウのGetボタンで値として取得 Saveでメモ付き保存
ラジオボタン選択で履歴の場所にカメラ移動
表示
DispAndLimitプレートメニューのShaderTypeでAuto, PBR, STD, NOLIGHTを切り替え可能に.
法線マップを設定していないモデルに対してPBRを選択すると 法線が0となり黒い表示になることに注意
ShaderTypeでAUTOを選んだ場合のシェーダー設定は以下
スキンメッシュについては [Albedo無しまたはNormal有またはMetal有]->PBR,
[Albedoだけ有またはテクスチャ1つも無し]->NOLIGHT
非スキンメッシュについては [Albedo無しまたはNormal有またはMetal有]->PBR,
[Albedoだけ有またはテクスチャ1つも無し]->STD
スキンメッシュと非スキンメッシュそれぞれのShaderTypeに対して 不透明、半透明、半透明常時上書きの設定があり自動設定
DispGroupプレートメニューでメッシュごとにグループ指定
設定画面としてはモデルパネルで選択したモデル単位
複数モデルを横断してグループ番号の小さい順に描画
グループ番号1以外は強制的に半透明として描画
メッシュ右クリックから類似する名前のメッシュの一括処理が可能
LaterTransparentプレートメニューでメッシュ内の透過テクスチャ描画順を指定
Shaderプレートメニュー
マテリアル名ボタン押下で設定、見出しボタン押下で選択モデルの全マテリアルに対して設定
シェーダータイプとしてAuto, PBR, Std., NoLightの4種類から選択
PBRは法線テクスチャまたはメタルスムーステクスチャのどちらかが設定されている場合を想定
Autoを選ぶと設定具合をみて自動的にマテリアルごとにPBR, Std.,NoLightを振り分け
Shadowプレートメニュー
デプスシャドウです セルフシャドウも表示されます
影の向きはLightプレートメニューで設定したライトの番号で指定(1から8までのボタン)
シャドウ用のカメラの位置から上記ライトの向きに影は落ちます
シャドウライト位置と対象物間に遮るオブジェクトがある場合plus up設定でライトを持ち上げる
影の明るさは0.0で真っ黒、1.0でdiffuse色
シャドウカメラの位置設定にはカメラのターゲット位置が関係する
ジョイントを選択後にDispAndLimitsメニューのLockCameraToSelectedJointチェックで選択したジョイントの位置をカメラターゲット位置にすることが可能
カメラのターゲット位置によっても影の落ち方は変わる
HDRP
Lightプレートメニューで設定可能なライトの強さは1.0よりも大きい3.0.
Shaderプレートメニューで設定可能なマテリアルごとのライト倍率最大値は5.0.
SahderでStd.を選んで ライトを1.0より大きくすると 自動的にBloomが掛かる.
bvh2Fbxバッチ
bvhファイルをfbxファイルに変換.
扱うことが出来るbvhのタイプは限定的(回転順序には対応.軸の違いには未対応).
CMU(カーネギーメロン大学)のMotionBuilderFriendlyタイプのサンプルでテスト.
retargetバッチ
指定フォルダ内のfbxを選択中のモデルにリターゲット
モーションのボーン名とモデルのボーン名の対応表*.rtg(テキストファイル)が必要
Test/RetargetSettingFileExampleフォルダに*.rtgの例を同梱
Testフォルダの*.rtgのファイル名は Model名_モーション種類.rtg
指定フォルダにretarget.rtgという名前で*.rtgファイルを置く必要有
問題001から003はver1.0.0.2にて解決
#######
# 問題004 未解決だが対応策有
#######
ジョイントの方向(いわゆる初期姿勢)として X180, Y90, Z0が設定されているfbxの書き出しが変質する不具合がある。
書き出し時だけ問題が出る。読込とリターゲットはうまくいく。
X180, Y90, Z0の初期姿勢が設定されているモーションに対しては
読み込み後に普通の軸のモデルにリターゲットしてから保存してください。
#######
# 問題005 ver1.0.0.5にて解決済
#######
1メッシュに複数マテリアルが設定してあるモデルの場合
AdditiveIKで読み込んでから保存すると
Unityではきちんと1メッシュに対して複数マテリアルが読み込まれるが
Mayaではメッシュに1つのマテリアルしかアタッチされていないことがある
という問題が起きています(Mayaでもマテリアル自体は読み込まれています)
解決に時間が掛かりそうなのと他の不具合修正分を早く出したいので
問題005は未解決ですが 1.0.0.4を出します
ver1.0.0.5に向けた修正で解決.
古いAddtiveIKで保存したfbxはver1.0.0.5で読込保存し直すことで
Maya2024で正常に読み込めます.
#######
# 問題006 ver1.0.0.5にて解決済
#######
AdditiveIKで出力したfbxをMaya2024.2で読み込むと
バインドポーズに関する警告が出てモーションが大きく変質する不具合.
Maya2023.3では無警告で正常に読み込み正常に再生できる.
ver1.0.0.5に向けた修正で解決.
古いAddtiveIKで保存したfbxはver1.0.0.5で読込保存し直すことで
Maya2024で正常に読み込めます.
########
# 備考001
########
大きいサイズのfbxを読み込んだ際に
DescriptorHeapの作成に失敗とダイアログが出てアプリが落ちる場合は
プログラムのミスではなく、ビデオメモリが足りないからです.
その場合はAdditiveIKに読み込む前にfbxの内容を減らすなどしてください.
作者もビデオメモリ不足には悩まされており
次にビデオカードを購入するときには
8GBではなく16GBのものにしたいと思っています(遠い目).
#########
## 備考002
#########
右ペインのWin32ダイアログに黒い枠表示が付いてしまう件
ウインドウの背景色は本来はプログラムごとにいじるものではないらしい
WindowsのユーザがWindowsの設定画面を使ってテーマと
背景色を設定するのが本来のやり方とのこと
設定の仕方としてはWindows11においては以下のようだった
設定-->アクセシビリティ-->コントラストテーマ-->夜空-->適用する
上記設定をするとWindows11全体としてウインドウの背景色が黒になる
ショートカットでテーマのオンオフも可能
左Alt + 左Shift + PrintScreenでテーマをオンオフ
図:コントラストテーマとして夜空を設定して起動したAdditiveIK
#######
# 問題007 未解決だが対応策有
#######
ボーン数が多すぎるアセットを読み込むと
オブジェクトがカメラの近くにあっても表示が消えることがある問題
シェーダ定数の上限数を含むスペック表を入手できていない状態
ボーン数の上限は決めていて1つのfbxに対して1000個にしているのだが
それ以下で使用してもビデオカード(あるいはシェーダバージョン)の
スペックを越えると?表示されなくなるようだ
対応策:
大きいアセットを読み込んで表示が消える場合には
fbxのボーン入りのモデルを減らすなどしてからAdditiveIKに読み込む
#######
# 問題008 未解決だが対応策有
#######
症状
保存読み込みを繰り返すとモーション長が段々短くなることがある
原因
fbx入出力時に30fpsを想定している
時間に対して30で割って整数にして30を掛ける
を繰り返すことによる丸め誤差
対策
長いモーションについてはモーション長を30の倍数にする
#######
# 問題009 ver1.0.0.23にて解決済
#######
BlendShapeプレートメニュー選択時に描画速度が極端に遅くなる不具合
解決済
########
# 問題0010 ver1.0.0.24にて解決済(github)
########
症状
AdditiveIKにVRoid(fbx)を読み込み保存してUnity3Dに持っていくと
モデルが真っ白に表示される
原因
AdditiveIKがEmissionTextureに未対応なので
黒いはずのEmissionが白いEmissionとして表示されてしまう
対策
UnityでマテリアルのEmissionTextureとして
VRoidのShader_NoneBlack.pngなどを設定し直す
またはEmissionのチェックをオフにする
状況
EmissionTexture(EmissiveTexture)の読み書き表示に対応
ver1.0.0.24へ向けた更新にて解決済
########
# 問題0011 ver1.0.0.27へ向けた開発(github)にて解決済
########
症状
右ペインにショートカット一覧ウインドウが表示されている状態で
右ペインにWin32ダイアログ(Rig設定、カメラ履歴など)を
表示しようとしても表示出来ない
原因
ショートカット一覧ウインドウの閉じ忘れ
対策
右ペインウインドウのxボタンでショートカット一覧などを閉じてから
Win32ダイアログを表示するためのボタンを押す
対応状況
ver1.0.0.27へ向けた開発(github)にて解決済
########
# 問題0012 ver1.0.0.30へ向けた開発(github)で解決済
########
症状
カメラドリー履歴を選択して復元した際にカメラのツイスト回転が
異なる場合がある
原因
カメラドリー履歴としてカメラのupvecを保存していない
対策
必要に応じて履歴復元後に手動で調整
対応状況
ver1.0.0.30へ向けた開発(github)で解決済
########
# 問題0013
########
症状
fbxファイル読み込み時にアプリが落ちることがある
原因
Phong以外のマテリアルタイプが設定してあるfbxの読み込みに
対応できていない
対策
MayaなどでPhongマテリアルを設定する
対応予定
対応予定有。ただし、まずは落ちないようにするだけの対応。
########
# 問題0014
########
症状
fbxファイルで設定したのと異なる色で表示されることがある
原因
Phongマテリアル設定時にHSVで色の設定をしている
対策
Mayaなどでマテリアル設定時にHSVで設定した場合にも
fbx出力前にRGBにしておく
対応予定
FBX SDKでHSVかRGBかを識別するインターフェースが分かれば対応予定。