-
Notifications
You must be signed in to change notification settings - Fork 1
/
UpdateLog.txt
5379 lines (3546 loc) · 240 KB
/
UpdateLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2023/11/11
ドキュメント追加(仕様分)
Documents/MameBake3DSpec_MultiThreading_DoubleBuffer_20231111.txt
2023/11/09
EditMot 1.2.0.30 release
マウスホイールでタイムラインのフレームを移動する場合に 前フレーム以前のゴーストがみえるのを軽減
裏返り対策処理における 末端ジョイントの閾値を再調整
bvh144_1について
大体は出来ていたのだが最後の部分でどうしてもつま先が裏返っていた
よって調整
裏返り閾値を微調整して緩和 しかしそれ以上の改善は 使う側で制限角度を設定しないと無理だった
プログラムとしての閾値微調整はここまで.
bvh144_1読み込み後 FromCurrentMotionで全ボーンの制限角度をキャプチャした後に LimitEulオンして
つま先のXのmin:-30, max:30(実際にはそんなに動かないが)で かなり緩和.
ドキュメント追加
Documants/TroubleShooting/ACaseAboutToeBaseAreInsideOut.docx
今後の予定
1.2.0.30リリース後は DirectX12対応のため 次回リリースまでの期間が長くなる予定
DirectX12対応版は MameBake3D別レポジトリになる可能性が高い
別レポジトリにする場合においても github.com/Ochakkoアカウント内のレポジトリの予定
1.2.0.30の致命的な不具合が分かった場合には 対応予定
おちゃっこLAB
https://ochakkolab.jp/
YouTubeチャンネル
https://www.youtube.com/@ochakkolab
動画 モーキャプでポーズtoポーズ ver.1.2.0.25
https://youtu.be/e6XSIv3hiJI
動画 モーキャプを滑らかにコピペ編集 ver.1.2.0.25
https://youtu.be/A8E1K5UXOaM
動画 モーキャプ編集ツール 1.2.0.24 (2023/09)
https://youtu.be/LEbueHtc57Q
動画 0.07倍速でパンチしたら物理はどうなるんだろう?
https://youtu.be/gKuLzPDt-cc
動画 【小人】小人制御の物理【ドリブン】
https://youtu.be/SRoi8Ds9NYI
動画 いろいろ直った物理でボクシングの動画
https://youtu.be/Zr7fT1gsCl4
動画 作り直した位置コンストレイント
https://youtu.be/8p13H6MGQZ8
動画 変な風には曲がらない位置コンストレイント
https://youtu.be/9Xt8cxjByeA
動画 制限角度をキャプチャーする
https://youtu.be/mkkpo5cmLBs
動画 モーキャプの動きを盛れ!
https://youtu.be/DV9gYsgDzz0
2023/11/06
EditMot 1.2.0.29 release
オイラーグラフ全般の改善
fbx読み書きにも関わる修正
bvh2fbxにも影響
オイラーグラフに360degree単位の段が出来る不具合修正
IK終了後に LimitEulをオンオフするとグラフの形が変わる不具合修正
bvh144_1の足が180degree反転する不具合が直った
今後の予定
1.2.0.29リリース後は DirectX12対応のため 次回リリースまでの期間が長くなる予定
DirectX12対応版は MameBake3D別レポジトリになる可能性が高い
別レポジトリにする場合においても github.com/Ochakkoアカウント内のレポジトリの予定
1.2.0.29の致命的な不具合が分かった場合には 対応予定
2023/11/05
EditMot 1.2.0.28 release
姿勢ダブルバッファによる多モデル高速化
姿勢計算と レンダー処理を 同時進行
姿勢計算も全モデル分動かして全モデル分待つので同時に動くスレッド数が増えた
物理計算については モデル単位のマルチスレッド並列化計算と ダブルバッファ
こちらの古めの8コアCPUの環境では
Unity_JapaneseCityAssetにVRoid6体物理の場合
UpdateThreadNumスライダーを1(1モデル当たりの個数)にしてHighRpmオンにしたときが一番速かった
参考までに 上記条件で物理無し再生123fps, 物理再生110fps位だった
物理計算回数BtCalcCntスライダーの初期値を2かあ1へ変更
BoySportyモデルの物理パラメータ修正 BtCalcCnt = 1に合わせて髪の毛のバネを柔らかく
モデル横断表示グループ順描画
モデルの描画順序を変えないでも 表示グループだけで 透過テクスチャ問題を制御可能
短いフレーム長をコピーして 長いフレーム長へペーストしても滑らか
4フレーム長をコピーして 100フレーム長へペーストしても滑らか
RetargetBatch(リターゲットバッチ)実行時の質問ダイアログの規定ボタンをNoに
リターゲット前にSmoothした場合の方が 滑らかになる一方 足首が裏返り易かったので 規定ボタンをNoにしました
1.2.0.27での裏返り対策閾値修正はそのまま採用
不具合修正
fbxの読み書き時にX軸が180度裏返る不具合を修正
X軸(オイラー角逆算時の最後の軸)については 180度処理は GUIのx180チェックをオンにした時のみに
GetRoundThresholdの引数を再調整
反転閾値と混同していた部分を修正
bvh2fbxの修正
fbxの読み書き修正により bvhをfbxに変換する機能も修正
モデル単位のWorldPosを設定しているモデルに対して物理シミュRec.すると モデルが原点に移動する不具合修正
UpdateThreadNumスライダーを動かすと スレッド待機が終わらなくなることがある不具合修正
IK操作後にアンドゥした時に オイラーグラフが連続しないことがある不具合を修正
ボーンを持たないモデルを削除しようとすると 削除処理が終わらない不具合を修正
ボーンを持たないモデルの物理計算をスキップ
ボーンを持たないモデルのモーション計算スレッド作成スキップ
ボタンを押すアニメーションを再生中に ボタンを削除しないように 再生が終わるまでデストラクタで待機ループ
コピペ後にオイラーグラフがギザギザしないように
ペースト後にオイラー角再計算呼び出し追加
今後の予定
1.2.0.28リリース後は DirectX12対応のため 次回リリースまでの期間が長くなる予定
DirectX12対応版は MameBake3D別レポジトリになる可能性が高い
別レポジトリにする場合においても github.com/Ochakkoアカウント内のレポジトリの予定
1.2.0.28の致命的な不具合が分かった場合には 対応予定
2023/10/31
EditMot 1.2.0.28 へ向けて
2023/10/31
処理ごとの処理中フラグをグローバルからCModelのメンバへ変更
スレッドのHighRpm条件もCModelのメンバを参照
予定
UpdateMatrix, Renderを全モデルに対して一括して行うクラスを新規(予定)
表示グループによる描画をモデルを越えて行う(予定)
全モデル分処理を回した後に全モデル分のスレッドを待機という方式を試してみる(予定)
プレビュー中だけ姿勢データをダブルバッファ化してUpdateMatrixとRenderを同時に動かす方法も試してみる(予定)
2023/11/01_1
ChaSceneクラス新規
表示グループによる描画をモデルを越えて行った
model1のgroup1不透明-->model2のgroup1不透明--> ... --->model1のgroup2半透明-->model2のgroup2半透明-->...
モデルの描画順を変更しないでも 表示グループ設定だけで透過テクスチャ描画順を制御可能に
2023/11/01_2
ChaSceneクラスの続き
姿勢計算結果のダブルバッファ化
UpdateMatrixModels()関数はスレッド終了を待たない
RenderModels()関数は 計算が終わっている方の姿勢バッファを参照し 描画命令の後で同期のために計算スレッド終了をまとめて待つ
まだ少ししかテストをしていないが
複数モデル読み込み時に速くなった
複数モデル読み込み時に 同時に働くスレッド数が増えた
2023/11/01_3
UpdateThreadsNumをスライダーで変える場合に StopBt()で物理とプレビューを停止してから変更するように
2023/11/02
ペースト処理修正
短いフレーム長をコピーし 長いフレーム長へペーストする場合にも 滑らかにペースト
ペーストする際に フレーム番号の端数の分を補間計算
4フレーム長コピーし 100フレーム長へペーストするテストでも 結果は滑らかだった
(長いコピー短いペーストもテストOK)
2023/10/28
EditMot 1.2.0.27 release
180度以上のIK操作が出来るように
マウスドラッグ時とドラッグ後の処理に分けてからうまくいっていなかったのを修正
オイラー角のカーブが綺麗になるように!
360度越えのオイラーグラフに対して 適切に角度制限
並列化による処理の高速化
IK操作, FK操作, Rig操作, リターゲット処理高速化
マルチスレッドで高速化
(リターゲットについては 不具合修正で1/3倍速 --> マルチスレッドで3倍速でチャラ --> 不具合修正&最適化で1.2.0.26の4倍速)
180度裏返り対策を追加
リターゲット時
IK時
オイラーグラフにカレント数値表示
軸に目線を飛ばして目分割しなくても数値が分かる
DoubleWidthスクロールバー
スクロールバーを操作しやすく
姿勢初期化メニューにDeeperEndJoint追加
子供の中のエンドジョイントだけを初期化
つま先などが変になった場合に使う
不具合修正
スクロールに関するパネルの表示の不具合修正
ウインドウ小で起動時にパネルが移動できなかったのを修正
LimitEulオン時の制限角度キャプチャ修正
RC2 :
物理計算をモデル単位のマルチスレッド並列化
こちらの 古めの8コアCPUの環境では
Unity_JapaneseCityAssetにVRoid6体物理の場合
UpdateThreadNumスライダーを1にしてHighRpmオンにしたときが一番速かった
参考までに 上記条件で物理無し再生123fps, 物理再生110fps位だった
モデル単位のWorldPosを設定しているモデルに対して物理シミュRec.すると モデルが原点に移動する不具合修正
UpdateThreadNumスライダーを動かすと スレッド待機が終わらなくなることがある不具合修正
IK操作後にアンドゥした時に オイラーグラフが連続しないことがある不具合を修正
ボーンを持たないモデルを削除しようとすると 削除処理が終わらない不具合を修正
ボーンを持たないモデルの物理計算をスキップ
ボーンを持たないモデルのモーション計算スレッド作成スキップ
ボタンを押すアニメーションを再生中に ボタンを削除しないように 再生が終わるまでデストラクタで待機ループ
RC3 :
ChaScene破棄時の物理シミュ用スレッド破棄し忘れを修正
RefPos表示が効かなくなっていたのを修正
RC4 :
物理開始時に乱れないように 通常時からBtCnt==0の場合に settobothflag指定でSetBtMatしておく
デバッグビルドの30fps以下でテストしたところ BtCalcCntスライダーは2よりも1の方が乱れなくなった 100fps越えでも1の方が良かった-->初期値を1に変更
RC5 :
BoySportyモデルの物理パラメータ修正 BtCalcCnt = 1に合わせて髪の毛のバネを柔らかく
FbxAnim読み込みスレッドの作成と破棄の場所をリファクタリング
RC6 :
RetargetBatch(リターゲットバッチ)実行時の質問ダイアログの規定ボタンをNoに
リターゲット前にSmoothした場合の方が 滑らかになる一方 足首が裏返り易かったので 規定ボタンをNoにしました
1.2.0.27での裏返り対策閾値修正はそのまま採用
RC7 :
fbxの読み書き時にX軸が180度裏返る不具合を修正
X軸(オイラー角逆算時の最後の軸)については 180度処理は GUIのx180チェックをオンにした時のみに
bvh2fbxの修正
fbxの読み書き修正により bvhをfbxに変換する機能も修正
RC8 :
bvh読み書き読み書き読みテストの不具合をみて修正
GetRoundThresholdの引数を再調整
反転閾値と混同していた部分を修正
AutumnモデルとTheHuntモデルに対するリターゲット結果の読み書き読み書き読みのテストもOK
bvh2fbxの修正
RC9 :
コピペ後にオイラーグラフがギザギザしないように
ペースト後にCalcBoneEul()呼び出し追加
release :
2023/11/05 pm1頃 リリース
2023/10/15
EditMot 1.2.0.27 に向けて
2023/10/12
リターゲット結果が180度裏返っていた問題修正
180度裏返り対策をしているのにも関わらず 裏返るbvhデータがある問題に対策を開始
対策処理の閾値としては 通常ボーン90.0度 endjoint180度で大体うまくいくのでこれをデフォルト値とする
(一番問題が出やすいbvh121とbvh144でテストして閾値を決めた)
bvh2fbxもやり直して(fbxファイルを出力し直して)テスト
リターゲットバッチ(RetargetBatch)実行時に Smoothオプション(ダイアログで選択)を追加
ノイズによって裏返り処理の閾値を越えないように
IK中に180度裏返る不具合修正
IK時は GetBefEulでアプライフレームの角度を取得するように
(Autumnモデルと 一番問題が出やすいbvh121とbvh144でテスト)
2023/10/13
オイラーグラフにカレントオイラー角の数値をテキスト表示
横軸に目線を飛ばして目分割すること無しに 数値確認が出来る!
2023/10/14
180degree(PI)以上のIK操作が再び出来るように
何回転もする場合には フレーム範囲を長くとって 1フレームごとの変化分を気を付けながら
GetBefEul()周りをリファクタリング
2023/10/15
モデルパネル、モーションパネル、カメラアニメパネルのスクロールの不具合修正
ラジオボタンとセパレータの表示判定修正
スクロールウインドウを引数で指定
2023/10/15_2
ウインドウ小で起動時
モデルパネル、モーションパネルのウインドウ位置移動が出来なくなっていた不具合修正
1.2.0.26からの不具合だった
タイトルドラッグ時にはSetCaptureしないようにして解決
Retargetウインドウにて コンテクストメニューを出した後のスクロールバードラッグの不具合修正
コンテクストメニューを呼び出した後で明示的にマウスアップメッセージを送信して解決
2023/10/16_1
オイラー角修正
GetRoundThreshold()追加
PostIK処理並列化に向けて準備
PostIK処理をフレーム単位のマルチスレッド化する予定
Q2EulXYZusingQ()内にて IK中はcurrentframeのbefeulを使用 後処理としてbefframeのbefeulを使用
2023/10/16_2
PostIK処理並列化に向けて準備 その2
閾値調整
後処理を修正
明日以降の ###予定###
PostIK()関数はフレーム番号単位でマルチスレッド化 後処理のCalcBoneEulはボーン単位でマルチスレッド化 (予定)
速度的に効果が無かった場合には 元に戻す
2023/10/17_1
PostIK()の処理を マルチスレッドで並列化
マニピュレータの軸操作と マニピュレータの中央操作に対応 (Rigは まだ)
IK操作が かなり速くなった
2023/10/17_2
GetBefNextMP()の不具合修正
IKしていなくても マウスアップ時にIK後処理が走っていたのを修正
オイラーグラフで1フレームだけ選択している場合の 選択範囲垂直線を修正
UpdateMatrix用のスレッドクラスのCBone*メンバを 配列からvectorへ変更
2023/10/17_3
IK操作の並列化による高速化の続き
CalcBoneEul( IK終了後に呼ばれる ) もマルチスレッド化
マルチスレッドとHighRpm
PostIKスレッドはIK時には常にHighRpm
UpdateMatrixとCalcBoneEulは GUIのHighRpmチェックボックスに依存
速くなる余地
FbxSdkの関数は排他的に呼び出している
eNullとeCameraの処理についてFbxSdkを呼び出している
自前のデータとして読み込んでおいて処理をすればその部分についても並列化可能
2023/10/18_1
マルチスレッドIKの不具合修正
位置コンストレイントが効かなくなっていたのを修正
2023/10/18_2
LimitEulをオンにしてマルチスレッドIKをしたときの不具合修正
姿勢とオイラー角が乱れることがある不具合修正
2023/10/19_1
制限角度キャプチャを修正
LimitEulをオンにした状態で
LimitEulメニュー実行し
FromCurrentMotionボタンで制限角度をキャプチャーすると 制限角度が正しくない不具合を修正
CalcBoneEulのマルチスレッドは かかる秒数的に それほどの効果ではないので シングルスレッドに戻した
2023/10/19_2
2023/10/19_1の対処の仕方を見直し
LimitEulをオンにしてFromCurrentMotionした場合の不具合修正を納得いく形で
CalcBoneEulのマルチスレッド化再び
処理中だけHighRpmになるようにして復活
2023/10/19_3
CalcBoneEulとPostIKの計算スレッド数をCoef.hの定数にした
4だったのを8にしたが CPUのコア数に応じて調整するべき
2023/10/20_1
移動処理についてもマルチスレッド化
今回のマルチスレッド化に関する カレントまとめ
マルチスレッドのコンテクストを 揃っている情報と要求される計算順序によって決めた
親のボーンの姿勢を使う階層順の計算では フレーム番号単位のマルチスレッド
全ボーンの姿勢が揃った後で 前のフレームの姿勢を元にオイラー角を計算する際には ボーンごとのマルチスレッド
スレッド数は多くしても CPU稼働率が上がらなかった コアが8つあっても (1モデル当たり)4つくらいのときが 稼働率が高かった
CPU稼働率については 起動し続けて使っているうちに上がってくることもあった 謎
CPU稼働率について 処理待ちでSleep(0)の高速ループをしていると 稼働率がしばらく落ちることもあったように思う
(セキュリティ???)
2023/10/20_2
RigControlのマルチスレッド化
2023/10/20_2
CopyWorldToLimitedWorldのマルチスレッド化
多くの場所で使っているので 方々で高速化
LimitEulボタンのオンオフも高速化
2023/10/22_1
ChaVecCalcのグローバル関数をChaCalcFuncに
モーション初期化機能にDeeperEndJointメニュー追加
選択ジョイントの子供ジョイントの中のエンドジョイントの姿勢だけを初期化
つま先などが変になった場合に使う
ThreadingCopyW2LWの修正
RC2 : Retarget高速化(LimitEul自動オフと復元をやめ)
RC3 : TestフォルダのBoySportyとAutumnモデルの制限角度ファイル(*.lmt)更新
RC4 : ApplyNewLimitsToWMの再帰処理を最適化して高速化 影響度の計算し直しが関わる部分で大きく高速化
RC5 : RC4のリファクタリング
LimitEulボタンオンオフ時にはモーション部分のアンドゥーをしないように
RC6 : 不具合修正
オイラーグラフが4フレーム単位(作業スレッド数4)でギザギザする不具合修正
CopyWorldToLimitedWorldスレッドを待機できていなかった不具合修正
360度越えの角度制限が正常に
(注意) 制限にかかった部分に対して更にIKする場合には 多くの場合Scrapingボタンをオンにしないと動かない
RC7 : リターゲット高速化
InitMP部分にマルチスレッド版を使用することにより リターゲット処理時間が 従来の1/3から1/2で済むように
ジョイント名検索の最適化
fbx読み込み時に _Joint文字列の有無を調べておいて 存在しない場合には 即時0リターンするように
RC8 : マルチスレッドにおける計算データ配分が連続性を持つように修正
モーションポイント取得時のキャッシュを再び有効に
キャッシュアクセス部分は排他的に
制限角度キャプチャ修正
FromCurrentMotionボタンでキャプチャした制限角度に2度余裕を持たせるつもりだったのが2度足りなかった不具合を修正
TestフォルダのSpring1とAutumn1の制限角度ファイル修正
RC9 : キャッシュ処理不具合修正
引数ミス
リターゲットで落ちる不具合修正
キャッシュが不正なことが原因だった
AddMotion内からのInitMPはシングルスレッド版を使用
AddMotion実行時点においては モーションポイントインデックス未作成
GetMotionPoint (GetBefNextMP)は インデックス未作成時にはモーションポイントキャッシュを使用
インデックス未作成時に マルチスレッドでGetMotionPointすると キャッシュヒットが難しく 速くならない
上記修正にて リターゲット処理速度が 1.2.0.26の約2倍速に
RC10 : モーション無しのfbx読み込み時に デフォルトモーションにモーションポイントが作成されない不具合修正
2023/10/23からの不具合
モーション無しのfbx読み込み時にリターゲット出来ない不具合も解消
RC11 : モーションポイント取得関数GetBefNextMp()の最適化
処理全般に影響
リターゲット速度は1.2.0.26と比べて4倍速に
プレビュー速度もやや速く
RC12 : モデルパネル操作で モデル削除と表示非表示切り替えを高速でした場合に 稀に落ちる不具合対策
削除したモデルの表示非表示を切り替えようとして落ちたようだ
モデル削除と表示非表示切り替えのフラグが同時に立たないように修正
Listener内ではフラグを立てるだけにして イベント処理ループ内で表示非表示切り替えをすることに
更に安全策として 最適化の際に リターゲットバッチ中はキャンセルしていたパネル処理を復活(リターゲット時間が1秒程長く)
RC14 : ジョイント右クリックメニューのPosConstraintONが効かなくなっていたのを修正
メニュー番号が被っていたのを修正
Autumn_1モデルのRigの設定ファイルを修正
モーションペースト時にカーソルがWAITカーソルになるように
release : 2023/10/28リリース
2023/10/10
EditMot 1.2.0.26 release
100万回アンドゥー機能付きスライダー
個々のOWP_Sliderに対して右ダブルクリックでアンドゥ
表示とドラッグも改善
マウスホイール対応
操作法を右ペインに表示
スライダーの履歴はアプリ終了時に消えます
テクスチャ指定の描画順設定をGUI化
透過テクスチャの描画順を遅らせる順を設定
LaterTransparentの設定ダイアログを プレートメニューから呼び出し
LaterTransparentリファクタリング
ドキュメントに追記
Documants/TroubleShooting/DisplayOfPantsAreMissing.docx
操作対象ボーン設定ファイル読み込み修正
無効エントリは読み込まないように
RootNode(0)というエントリを読み込まない
ファイルオープン時に 重複する内容の履歴と 存在しないファイルの履歴を 自動削除
履歴が多すぎるとオープン処理が重くなるため
削除処理が走る際にいつもより重くなるが 1度削除が走った後は軽くなる
モデル設定ファイル修正
2_Autumn_1 : 操作対象ボーン設定の NoHipsスロットにRootNodeが2つ入っていたのを削除
服を秋色に修正(テクスチャそのままでVRoidでdiffuseを設定)
腰を曲げたときにすそが服の上に出ないように(すそを少し広く)
物理シミュ時に髪の毛が肩にめり込まないように(剛体を大きく)
制限角度をキャプチャして設定
1_Test20221218_CB0 : 物理設定refファイルの 剛体の回転バネ定数をregularからweakに変更
スクロールバーの幅を倍に
スクロールしにくいストレスを解消!
スクロールバー上でのマウスホイールにも対応
1クリック目でスクロールバー位置がずれる不具合修正
スライダーを子に持たないスクロールウインドウは どこでもマウスホイールでスクロール
不具合修正
2023/09/28_2
EditMot 1.2.0.26へ向けて
2023/09/28_2
モデル設定ファイル修正
2_Autumn_1 : 操作対象ボーン設定の NoHipsスロットにRootNodeが2つ入っていたのを削除
1_Test20221218_CB0 : 物理設定refファイルの 剛体の回転バネ定数をregularからweakに変更
OrgWindow : OnLRButtonDownのSetCaptureを if でreturnするよりも前に移動
スクロールバーのSetCaptureがうまくいかないことがあったため
2023/10/01
操作対象ボーンファイル読み込み修正
ダイアログにRootNodeとして現れるエントリは読み込まないように
2023/10/02
DirectXデバイスオブジェクトに関するメモリリークを真面目にチェック
遅延解放かと思っていたのだが
X(ツイッター)をみていたら RefCountに0以外が書いてあったら 間違いなくメモリリークという記事があったので 改めて調査した
メモリリークは解決したように思う
ただし メモリリークを確かめるためのd3dDebugインターフェイスは d3dDeviceの参照も増やすようなので デバッグビルドの際には D3DDeviceのRefCountは2と出力される
この件についての説明は DXUT.cppのDXUTCleanUp3DEnvironment()内のコメントとして書いた
2023/10/03_1
OrgWindowのGUIスライダーの修正 _ 1
スライダーのボタン描画を大きく丸く
スライダーのボタンをクリックした瞬間にボタンが意図せず動かないように
スライダーのボタンの中央からずれた位置をクリックしても その位置を起点にスライド
2023/10/03_2
OrgWindowのGUIスライダーの修正 _ 2
マウスをスライダーの上に乗せてホイールを回すと 1ピクセル分のvalueだけ スライダーを増減
スライダーのセンターラインを表示し センターラインのどこでも マウスドラッグ可能 (クリック位置起点ドラッグ)
2023/10/04_1
OrgWindowのダブルクリック対応
OrgWindowのGUIスライダーの修正 _ 3
スライダーのセンターライン上で ダブルクリックした位置に バリューボタンを移動
2023/10/04_2
OrgWindowのGUIスライダーの修正 _ 4
スライダー値のアンドゥ機能
マウスアップ時と左ダブルクリック時に バリューを保存
スライダー右ダブルクリックで バリューをアンドゥ
マウスホイールで設定した値を保存したい場合には 設定直後にスライダーのどこかをクリック(マウスアップを呼ぶ)
アンドゥ用バッファは100万回分値を保存しますが 100万回を越えるとクリアーして空にします(シンプルさのため)
アンドゥ用バッファは アプリ終了時には 保存されません
2023/10/04_3
動画 モーキャプでポーズtoポーズ ver.1.2.0.25
https://youtu.be/e6XSIv3hiJI
2023/10/04_4
アプリの右ペインのショートカット一覧に OWP_Sliderの操作説明追加
ファイルオープン時に 重複する内容の履歴と 存在しないファイルの履歴を 自動削除
履歴が多すぎるとオープン処理が重くなるため
削除処理が走る際にいつもより重くなるが 1度削除が走った後は軽くなる
2023/10/05_1
DispGroupウインドウにSimilarCheck機能
オブジェクトリストの要素のチェックのオンオフに 類似チェック機能を追加
オブジェクトリストの表示要素を右クリックで SimilarCheckのオンオフメニューが出る
ON(pattern include num) : オブジェクト名の最初の '_'までの文字列が名前に含まれるものすべてにチェックオン
OFF(pattern include num) : オブジェクト名の最初の '_'までの文字列が名前に含まれるものすべてにチェックオフ
ON(pattern exclude num) : オブジェクト名の最初の '_'までの文字列の最後の数字を除いた文字列が名前に含まれるものすべてにチェックオン
ON(pattern exclude num) : オブジェクト名の最初の '_'までの文字列の最後の数字を除いた文字列が名前に含まれるものすべてにチェックオフ
例:
Flower_Aというオブジェクトを右クリックして ON(pattern include num)を選ぶと
Flower_A, Flower_B, Flower_C, ... などのFlowerが名前に含まれるオブジェクトのチェックが全てオンになる
2023/10/05_2
LaterTransparentについてリファクタリング
laternameを元にlatermaterialを準備して リアルタイムの文字列比較を無くし 描画を高速化
不具合修正
モーション有のモデル読み込み後フレーム範囲を選択して-->モデル全削除-->モーションの無いモデル読み込み-->再生ボタンを押すと エラーダイアログの後落ちる不具合修正
s_model->GetCurMotInfo()のNULLチェック
右ペインのショートカット一覧に DispGroupWindowのSimilarCheckについて記述追加
2023/10/06_1
LaterTransparentプレートメニュー追加
まだプレート表示だけ
カエルボタンを押したときの Lights, DispGroupの並びに追加
2023/10/06_2
LaterTransparent用のpng fileのgit add
2023/10/06_3
LaterTransparentのGUIが機能するように
LaterTransparentDlgProc()実装
2023/09/28_1
動画:モーキャプを滑らかにコピペ編集 (destHipsStartingPaste)
https://youtu.be/A8E1K5UXOaM
2023/09/27
EditMot 1.2.0.25 release
シャツのすそを外に出しているVRoidモデルの表示対応
シャツのすそで足の表示が欠けないように
プロジェクトファイル(*.cha)の<Chara>タグと</Chara>タグの間に
<LaterTransparent>_15.png</LaterTransparent>
<LaterTransparent>_13.png</LaterTransparent>
というようにテキストで記述すると
そのキャラクターの描画の最後に _15.png, _13.pngのテクスチャを貼っているオブジェクトを_15.png, _13.pngの順番で描画
透過テクスチャの奥に透けて見えるオブジェクトを先に描画し 上に重なるオブジェクトを後に描画するように指定します
ドキュメント追加
Documants/TroubleShooting/DisplayOfPantsAreMissing.docx
Fbx書き出し修正
fbxInfoのリビジョン番号アップ
FbxSurfacePhongのSetTransparencyFactorのセット値を修正
シャツのすそを外に出しているVRoidの読書読書読テストOK
dest Hips起点ペースト
操作対象ボーンにHipsを含めずにHipsの子供を指定した場合のペースト処理修正
ペーストされる側のペースト開始フレームのHips位置を起点にして Hipsのモーションもペースト
(原則としては 操作対象ボーンに含まれないボーンのモーションはペーストされない Hipsは例外として処理)
dest Hips起点ペーストについて ドキュメント追加
Documants/TroubleShooting/About_PasteStartingFromDestHips.docx
DispGroupプレートメニューが使えるように
GUIによるグループ番号のSet, Get, ON, OFF
描画の際にはグループ番号の小さいものから描画される
デフォルト状態では全てのメッシュのグループ番号は1
半透明オブジェクトのグループ番号を大きく設定することにより 透過表示が綺麗になる
Group単位での表示のオンオフによりモーション編集シーンの表示高速化
設定時にTestボタンにより 指定メッシュオブジェクトを排他的に表示テスト
DispGroupについてのドキュメントを追加
Documants/TroubleShooting/AboutDispGroup.docx
ショートカット
左右の手の選択ショートカットキー : Hを押しながら左右矢印キー (HandのH)
左右の足の選択ショートカットキー : Fを押しながら左右矢印キー (FootのF)
Sキー+マウス右ドラッグ : マニピュレータ表示倍率変更
右ペインウインドウの初期表示に ショートカットキー一覧を表示
ショートカットについてのドキュメント追加
Documants/TroubleShooting/0_ShortCutKey.docx
Testフォルダのモデル追加及び修正
前髪にForbid Rot設定をして 前髪はほとんど揺れないように
Test/0_VRoid_Spring_1
Test/1_BoySporty_4
Test/2_Autumn_1 (新規)
Spring_1については 髪の毛の剛体グループが同グループ同士で当たらない設定に修正してrefファイル保存
設定ファイルの使いまわしをしやすく
fbxファイルとの同期チェックを外し ボーン情報は番号ではなく名前で入出力
コピペしてファイル名を適切に変えるだけで使いまわし可能に
tboファイルについて 必要分だけを読み書き ジョイント情報を番号ペースから名前ベースへ変更
2023/09/04
EditMot 1.2.0.25へ向けて
2023/09/04
部分コピペの修正
hipsを除外してhipsの子供のツリーをコピペする場合 hipsの最初のフレームはペースト前の位置を保ち hipsの移動モーションもペースト
hips除外を特別扱いし別処理をしている
テストを繰り返して hipsを除外する場合の 望む結果に合わせたつもりの修正
部分コピペ設定ファイル(*.tbo)のLLegとRLegの設定修正
2023/09/05_1
時間端数処理についてリファクタリング
ChaVecCalcに処理関数 IsEqualJustTime, IsEqualRoundingTime, RoundingTime, IntTime
時間に関する+ 0.0001の直書き部分がほとんど無くなるように
2023/09/05_2
左右の手の選択ショートカットキー : Hを押しながら左右矢印キー (HandのH)
左右の足の選択ショートカットキー : Fを押しながら左右矢印キー (FootのF)
ショートカット一覧
Documants/TroubleShooting/0_ShortCutKey.docx
2023/09/07_1
Sキー+マウス右ドラッグ : マニピュレータ表示倍率変更
右ペインウインドウの初期表示に ショートカットキー一覧
2023/09/08
Testフォルダのモデルの物理設定修正
前髪にForbid Rot設定をして 前髪はほとんど揺れないように
Test/0_VRoid_Spring_1
Test/1_BoySporty_4
2023/09/09_1
制限角度ファイル(*.lmt)ファイルのfbx日時との同期チェックを外して 使いまわししやすいように
2023/09/11_1
操作対象ボーンダイアログの設定ファイルの修正
ボーン情報をボーン番号からボーン名に変更して 使いまわししやすく
2023/09/15_1
操作対象ボーンファイル*.tboの読み込みに関するリファクタリング
2023/09/17_1
dest Hips起点ペーストについて ドキュメント追加
Documants/TroubleShooting/About_PasteStartingFromDestHips.docx
2023/09/18_1
Disp Groupプレートメニュー
まずはGUIだけ右ペインに表示
2023/09/19_1
DispGroupプレートメニュー工事中
Testボタンで排他的表示テスト
親がスクロールウインドウのセパレータの表示高速化
2023/09/19_2
DispGroupプレートメニュー工事中
meshobjectの最大数を撤廃してvectorで管理
DispGroupプレートメニュー選択時に モデルを切り替えた場合に対応
説明し忘れていましたが
DispGroupのtestボタンは 指定メッシュオブジェクトを排他的に表示テストするためのボタン
明日以降 Group番号のGetとSetを実装予定
予定としては
Group単位での表示のオンオフによりモーション編集シーンの表示の高速化
Group番号の若い順に表示することにより半透明描画を綺麗に
もしかすると Group番号ごとのバウンダリーのカメラからの距離により描画順を制御することも必要??
2023/09/20
DispGroupプレートメニュー工事中
DispGroupファイル(*.dig)をプロジェクト読み書き時に読み書き
DispGroupのGroup番号が小さい順に描画
明日以降 GUIによるGroup番号のGetとSetとオンオフを実装予定
2023/09/21_1
DispGroupプレートメニューが使えるように
GUIによるグループ番号のSet, Get, ON, OFF
描画の際にはグループ番号の小さいものから描画される
デフォルト状態では全てのメッシュのグループ番号は1
半透明オブジェクトのグループ番号を大きく設定することにより 透過表示が綺麗になる
例 UnityAsset JapaneseCityにおいて Sakuraのグループ番号を大きく設定することにより 花のエッジが黒くならない
課題
モデル単位の描画順序設定もするべき
例 UnityAsset JapaneseCityにおいて Sakuraを含むfbxの描画順序を後にすると綺麗に表示される
2023/09/21_2
DispGroup導入で ボーン操作用オブジェクトが表示されなくなっていたのを修正
DispGroupについてのドキュメントを追加
Documants/TroubleShooting/AboutDispGroup.docx
2023/08/30
EditMot 1.2.0.24 release
メッシュ単位の視野内判定導入
広いシーンで表示の高速化
みえているかを判定するには 何段階かの処理を組み合わせると思う その1段階目の判定
hipsジョイントがモーションで大きく動いた場合にも対応
対称コピー機能の修正
長らくテスト項目から外れていたので テスト&修正で機能するように
コピー履歴機能の修正
履歴ウインドウを出しながらコピーをして履歴ウインドウをクリックしないでペーストした場合など うまくいっていなかったので修正
複数モデル読み込み時に 操作中のモデルの履歴だけを検索した結果を表示 (他モデルの履歴も手動で検索可能)
選択済み履歴をモデルごとに管理
コピー履歴ウインドウを開いた状態でコピーを行った場合で 最新履歴のチェックが外れている場合は 履歴の選択状態を維持
操作対象ボーンダイアログ修正
操作対象ボーンダイアログをモデルごとに作成して保持
モデルを切り替えたときの操作対象ボーンが間違っていたのを修正
操作対象ボーン設定はモデル単位なので 保存と読み込みは プロジェクトの保存と読み込み実行の際に行う
全削除ボタンを押したときに カレントスロット以外のスロットの内容も初期化される不具合を修正
ダイアログ表示時に前回のスロット選択を復元
操作対象ボーンダイアログのスロット数を 2倍の 20個に
操作対象ボーン設定の仕方の見直し
指定したボーンツリーの内の一番親のジョイントは動かない仕様なのでそれに合わせて設定
動かしたいジョイントの1つ親のジョイントから動かすように設定 その際動かしたくないジョイントは ペーストしないボーンツリーに指定
Test/0_VRoid_Spring_1と Test/1_BoySporty_4の *.tbo設定ファイル更新
カメラドリーの履歴対応
ToolWindowのカメラドリーボタンで右ペインにドリー履歴ダイアログを表示
Getボタンで 現在のカメラ位置をダイアログに取り込み
Setボタンで ダイアログの数値をカメラに反映
Saveボタンで ダイアログの数値を履歴ファイルに保存
履歴のラジオボタン選択で 履歴をダイアログ数値に取り込みカメラ位置も反映
ページ対応
リターゲットの際に モーション側(bvh側と呼んでいる側)の全モーションに対して処理を行うように修正
ボーン無しのfbxを読み込んで保存する際にエラーになることがある不具合を修正
ハイレスポンスなToolTipの表示
スプライトボタン、ジョイント(ボーン)、リグの上にマウスがある場合にツールチップを表示
ツールチップ文字に縁取り
Lightsプレートメニュー追加
Lightsプレートメニューを選択すると 右ペインにLights for Edit Dialogが出ます
有効無効、色、向き、強さスライダーとカメラと共に回転するかどうかの設定が可能
8個 x 8スロット
編集用のライトの設定です シーン構築用ライトではありません
アプリ終了時に自動保存、アプリ起動時に自動読込
メニュー切り替えショートカットキー
スペースキー : プレートメニューの種類変更
C押しながらスペースキー : プレートメニューのプレート変更
V押しながらスペースキー : ツールショートカットボタンのフェーズ切り替え
エディットボックスに入力中は キーボードショートカット機能が実行されないように
スキンメッシュのボーン影響度の最小値を0.05-->0.001に変更
GUIを使ってリターゲットする際の不具合修正
ボーン番号とボーンの総数の混同が原因
リターゲットウインドウのジョイントの最後の1つ2つの設定が効かない症状だった
LimitEulオンの時の自動平滑化をオフ
少ないフレーム数をIKしたときに動きが元に戻る症状が無くなった
平滑化が必要な時に 手動でSmoothボタンを押す
スプライトボタン右クリック
Smoothスプライトボタン : 左クリックで前回設定で即時実行 右クリックでメニューとダイアログを出してから実行
ペーストスプライトボタン : 左クリックで即時ペースト 右クリックで操作対象ボーン設定後ペースト
ジョイント右クリック
ジョイントを右クリックしたときのメニューに CopyMotionとPasteDeeperメニューを追加
PasteDeeperは右クリックしたジョイントより子供のジョイントに対してモーションをペースト
CopyMotionはどのジョイントをクリックしても全ボーンのモーションをコピー
カメラスプライトボタン
カメラ回転スプライト右ドラッグでカメラツイスト
カメラ回転スプライト右ダブルクリックでカメラツイスト初期化
CameraAndIKプレートメニューグループに 3フェーズのツールショートカットボタンを追加
青いカエルボタンもしくはV+Spaceキーでフェーズ切り替え
メモリリークが直った
あるスプライトをdeleteする前に0セットしていた不具合修正
カメラノードのデストラクタが呼ばれていなかった不具合修正
ボタンの文字を見易く
ボタンの白い文字を緑色で縁取り
マウスドラッグが途中で中断されたりドラッグ終了処理が行われなかったりした不具合修正
カメラドリーウインドウやコピー履歴ウインドウが 剛体設定ウインドウと重なって表示されることがある不具合修正
マテリアル倍率設定ウインドウ表示中に モデルを切り替えた場合に対応
スレッド作成時にaffinity設定して負荷を分散
リグファイル内のジョイント名に _Joint が付いていても付いていなくても読み込めるように
*.rig 設定ファイルの使いまわしがしやすいように修正
ドキュメント更新
Documants/TroubleShooting/ACaseCantReadFbxFileSavedByEditMot.docx
Documants/TroubleShooting/AboutDifferentSmoothSpriteBtnFromSmoothToolBtn.docx
Documants/TroubleShooting/HowToSymCopyAndPasteToDifferentModel.docx
Testフォルダ
Test/0_VRoid_Spring_1, Test/1_BoySporty_4のモデルを動かした場合に太ももとパンツの前後関係が乱れる不具合修正
影響度の読み書き部分の修正後に 元データから保存し直して 問題データのモーションだけリターゲットして復元
Test/RetargetSettingFileExample/VRoid_VRoid.rtg 設定ファイルを追加
VRoidからVRoidへモーションをリターゲットする際の設定ファイル
RC1 : 1つのfbx中に 複数のhipsが存在する場合のChkInViewを修正
右ドラッグでのツイストカメラのキャプチャーが意図せず途切れることが無いように
右ドラッグ中の左ボタン、左ドラッグ中の右ボタンで誤動作しないように
RC2 : RefPos表示の修正 選択ジョイントの三角鎖マークの軌跡がモデルのworldmatを考慮していなかったのを修正
RC3 : スプライトボタン右クリックまたはジョイント以外の場所右クリックの場合には ジョイント右クリック用のメニューを出さないように
RC4 : エディットボックス入力時には 矢印キーのショートカット(ジョイント階層移動)も機能させないように
RC5 : VRM1.0をfbxにして読み書きテスト VRM1.0のテクスチャ(.texture2Dファイル)をUnityのスクリプトでpngにしてfbxと同じフォルダに置くと表示できるようにしときました
メッシュが無いfbx(例えばbvh2fbxで変換したfbx)がChkInViewで非表示に設定されてリターゲットもうまくいかない不具合修正
RC6 : VRMのテクスチャが異なるモデルを複数入れたプロジェクトを 読->書->読->書してMayaで開くと 違うモデルのテクスチャが表示されることがある不具合修正
リターゲット時のトラブルシューティング追加 Documants/TroubleShooting/RetargetFailThoughZeroFrameisMatch.docx
RC7 : メモリアライメントが合っていないことが原因で 複数ライトの向きがずれていた不具合を修正
release : RC7でライト向き(XとY)の表記が反対向きになってしまっていたので修正
VisualStudioセキュリティー更新後 フルビルドして インストーラmsiをリリース
2023/08/05
EditMot 1.2.0.24へ向けて
2023/08/05
リグファイル内のジョイント名に _Joint が付いていても付いていなくても読み込めるように
*.rig 設定ファイルの使いまわしがしやすいように修正
2023/08/07_1
ジョイント名に_Jointという文字列が付いている場合と付いていない場合の処理についてリファクタリング
2つの名前を検索する場所を1か所に
ドキュメント更新
Documants/TroubleShooting/ACaseCantReadFbxFileSavedByEditMot.docx
2023/08/07_2
プレートメニューに LightsプレートとDispGroupプレートを追加
カエルボタンを押すと出ます
まずはメニューだけ. 機能の実装はこれから.
2023/08/07_1で コミット直前にテキストエディタでUTF-8で保存したファイルがVisualStudioでビルドできなかったので修正
UTF-8(signature付)で保存し直し
2023/08/08
Lightsプレートメニューの機能の実装
Lightsプレートメニューを選択すると 右ペインにLights for Edit Dialogが出ます
有効無効、向き、色、向きをカメラと共に回転するかどうかの設定が可能
とりあえず4つまでに制限して様子見
シーンのライト設定ではなく 編集用のライトの設定です
Lightsパラメータの保存読み込みについては後ほど
EditMotはモーキャプ編集ソフトであってレンダーソフトではないので 軽い表示で編集しやすくを目標に
2023/08/09_1
スキンメッシュのボーン影響度の最小値を0.05-->0.001に変更
Test/0_VRoid_Spring_1のモデルを動かした場合に太ももとパンツの前後関係が乱れる不具合修正
影響度の読み書き部分の修正後に 元データから保存し直して 問題データのモーションだけリターゲットして復元
Test/RetargetSettingFileExample/VRoid_VRoid.rtg 設定ファイルを追加
VRoidからVRoidへモーションをリターゲットする際の設定ファイル
2023/08/09_2