本文へスキップ
LABMenu

AdditiveIK : モーキャプ物理編集リターゲット(DirectX12, bvh, fbx, Unity, Maya, VRoid対応)


このツールの概要


AdditiveIK(アディティブアイケー)
VRoidとモーキャプをプロのアセットに盛り付けろ!

モーションキャプチャをブラシで盛るように編集 fbxにしてUnityへ

(bvh, fbx, Unity, Maya, VRoid対応)




  Vector様で ダウンロード
1.0.0.34 インストーラ
 オープンソース GitHub
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公開開始




Vector様で ダウンロード 
1.0.0.34インストーラ



オープンソース GitHub
githubにてMIT OSS 随時更新



日記 8月18日




リアルタイムFootRig 1.2.0 at AdditiveIK
https://youtu.be/VH21YgC-jvA

階段に足が潜らないFootRig⚡(1.0.0.35)
https://youtu.be/yc2aLPMbkaw

歩きの足を自動で曲げて階段上り(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








ver1.0.0.34 アップデートログ

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を使用する際に足を曲げ過ぎないような設定に.





ver1.0.0.33 アップデートログ

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文が残っていたのを修正





ver1.0.0.32 アップデートログ

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




ver1.0.0.31 アップデートログ

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)ボタンを押しやすく
    レイアウトをみやすく





ver1.0.0.30 アップデートログ

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メニューは今よりも物理シミュが乱れて使えなかった頃に
   乱れを収めるために使用していたが現在未メンテナンスに.





ver1.0.0.29 アップデートログ

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枚交換





ver1.0.0.28 アップデートログ

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化についてはこれから着手予定
     コピー情報入力ウインドウ(疑似モーダル)は済




ver1.0.0.27 アップデートログ

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ノードが混ざっている場合に
    設定が出来ないことがあった不具合を修正




ver1.0.0.26 アップデートログ

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
     上記ファイルの絵を修正
     赤いカエルによるグラフ切り替えの絵の中のコメントが
     間違っていたのを修正





ver1.0.0.25 アップデートログ

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度も表示されないマニピュレータとの当たり判定で
     当りが返ってきていたために草の配置関数が呼ばれなかった
     草の選択中にはマニピュレータとの当たり判定として
     はずれを返すようにして解決





ver1.0.0.24 アップデートログ

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
 




ver1.0.0.23 アップデートログ

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つずれていた
     インデックスとモーション番号の違いによる間違い
    コピーペーストで選択フレーム範囲の最初のフレームに
    ペーストが行われないことがある不具合を修正





ver1.0.0.22 アップデートログ

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だけを表示




ver1.0.0.21 アップデートログ

2024/05/16 (2024/05/22公開予定)
 AdditiveIK 1.0.0.21
  1.0.0.20からの変更点
   不具合修正
    chaファイル以外から読み込んだfbxが
    全て草として扱われてしまう不具合を修正
    chaファイル以外から読み込んだスキンメッシュ
    (ボーン入りのメッシュ)が表示されなくなっていた



ver1.0.0.20 アップデートログ

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エディットボックスの数値よりも近い距離にある
    選択中の草モデルの位置を削除
    草がなびく方向は常にカメラに対して横方向.
    (シェーダになびく方向を指定可能なので、
    将来的にはイベントでモデル周囲の草を倒したりも可能)






ver1.0.0.19 アップデートログ

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






ver1.0.0.18 アップデートログ

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




ver1.0.0.17 アップデートログ

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)




ver1.0.0.16 アップデートログ

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を設定



ver1.0.0.15 アップデートログ

2024/04/12
 AdditiveIK 1.0.0.15 release
  1.0.0.14からの変更点
   不具合修正
    モデルが全体移動している場合に
    シャドウが表示されていなかった不具合を修正
    ChkInViewにおけるシャドウカメラ変換行列が
    モデル全体移動に対応していなかった
   
   DOF表示の高速化
    被写界深度(DOF)をオンにした時の表示速度が
    DOFをオフにしたときの表示速度と同じくらいにまで高速化

   シャドウ品質の改善
    シャドウの品質改善とはシャドウのギザギザ表示を解消すること
    Shadowプレートメニューに
    VarianceShadowMapsチェックボックスと
    BlurShadowチェックボックスを追加
    VarianceShadowMaps(分散シャドウマップ)とは
     シャドウの深度情報の差分から影かどうかの分散(確率用語)を
     計算して影の色を決める方法
    BlurShadowは
     ガウシアンによるボカシを掛ける機能で
     オフにしている場合にも縮小拡大効果によりボカシを適用して品質向上




ver1.0.0.14 アップデートログ

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
    
   マニピュレータの色の濃さを調整
    色が濃すぎてメッシュが隠れてしまっていたのを
    見易くなるように修正

   半透明ブレンドに関わるメッシュソートの改良
    管理クラスをはっきりさせて、まとめる部分はまとめてからソート

   シェーダー内の割り算を出来るだけ掛け算表現で計算するように修正
    多少高速化



ver1.0.0.13 アップデートログ

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でモデルを出力し直して復活
    顔のシェーディングが直った





ver1.0.0.12 アップデートログ

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



ver1.0.0.11 アップデートログ

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に変更




ver1.0.0.10 アップデートログ

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

ver1.0.0.9 アップデートログ

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


ver1.0.0.8 アップデートログ

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を変えてください.
   

ver1.0.0.7 アップデートログ

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バッファ方式を切り替え



ver1.0.0.6 アップデートログ

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に.
   カメラに合わせてモデルのモーションを付ける際に
   モデルだけ補間されてカメラが補間されない場合に、
   モデルが画面上を行ったり戻ったりするようにみえる不具合解消のため.


ver1.0.0.5 アップデートログ

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)

ver1.0.0.4 アップデートログ

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(詳細度切替機能)を使って
   遠くのオブジェクトに対してはノーマルマップ無しのモデルに置き換える
   というのが良いと思っている

ver1.0.0.3 アップデートログ

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時に軸がブレたりした
     スケール初期化で直った

ver1.0.0.2 アップデートログ



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かを識別するインターフェースが分かれば対応予定。









ナビゲーション