teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

10

書式の改善

2022/08/12 14:01

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,22 +1,4 @@
1
1
  directxに
2
2
  D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
3
3
  そのまま掛け算で計算しているのですが、openglにはなさそう?なので、ご指摘のとおり4*4の行列で計算するのが、正しいようです。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
4
- ひとまず保留することにしました
4
+ ひとまず保留することにしました
5
- 。胴体の合成行列をTransD*worldなので、
6
- 右上腕フレームの合成行列TransC*TransD*worldなので、
7
-
8
- ```opengl
9
-
10
- SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
11
-
12
- ```skinweights (親かどうかは考慮していません。)
13
- SkinWeights {
14
- "Bip01_L_Clavicle";//フレーム名
15
- 2;//ウェイト数
16
- 150,//頂点番号
17
- 3512;
18
- 0.303157,//ウェイト
19
- 0.303157;
20
- 1.253361,-0.000002,0.254069,0.000000,-0.218659,-0.223923,1.078679,0.000000,0.058231,-1.440720,-0.287275,0.000000,-8.131670,62.204407,-2.611076,1.000000;; //オフセット行列
21
- }
22
- ```

9

書式の改善

2022/07/26 12:12

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -7,27 +7,6 @@
7
7
 
8
8
  ```opengl
9
9
 
10
- float px; float py; float pz;
11
-
12
- px=Mesh_tiny[3*a[0]+0];
13
- py=Mesh_tiny[3*a[0]+1];
14
- pz=Mesh_tiny[3*a[0]+2];
15
-
16
-
17
- float qx,qy,qz;
18
-
19
-
20
- qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
21
- qy=0*px+1*py+0*pz;
22
- qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
23
-
24
- float Bip01_L_Clavicle[]={
25
- -0.185356,0.308957,0.932839,
26
- -0.499811,-0.846968,0.181203,
27
- 0.846069,-0.432656,0.311411,
28
- // -12.374969,4.006883,8.346215
29
- };
30
-
31
10
  SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
32
11
 
33
12
  ```skinweights (親かどうかは考慮していません。)

8

書式の改善

2022/06/13 08:07

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
32
32
 
33
- ```skinweights
33
+ ```skinweights (親かどうかは考慮していません。)
34
34
  SkinWeights {
35
35
  "Bip01_L_Clavicle";//フレーム名
36
36
  2;//ウェイト数

7

書式の改善

2022/06/13 01:43

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,76 +1,43 @@
1
- directxに
2
- D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
3
- そのまま掛け算で計算しているのですが、openglにはなさそう?なので、今度から3*3で計算することにました。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
4
- ひとまず保留することにしました
5
- 。胴体の合成行列をTransD*worldなので、
6
- 右上腕フレームの合成行列TransC*TransD*worldなので、
7
-
8
- ```opengl
9
-
10
- float px; float py; float pz;
11
-
12
- px=Mesh_tiny[3*a[0]+0];
13
- py=Mesh_tiny[3*a[0]+1];
14
- pz=Mesh_tiny[3*a[0]+2];
15
-
16
-
17
- float qx,qy,qz;
18
-
19
-
20
- qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
21
- qy=0*px+1*py+0*pz;
22
- qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
23
-
24
-
25
-
26
-
27
- float Bip01_L_Clavicle[]={
28
- -0.185356,0.308957,0.932839,
29
- -0.499811,-0.846968,0.181203,
30
- 0.846069,-0.432656,0.311411,
31
- // -12.374969,4.006883,8.346215
32
- };
33
-
34
-
35
-
36
- //syukushou
37
- qx=0.003*qx;
38
- qy=0.003*qy;
39
- qz=0.003*qz;
40
- //計算後の合成行列...数値がまちがってても知らない。
41
- //doutai frame
42
- qx=1.278853*qx;
43
- qy=1.123165*qy;
44
- qz=-1.470235*qz;
45
- //Bip01_L_Clavicle
46
- qx=-1.261525934928*qx;
47
- //qy=-2.628411560409*qy;
48
- qz=0.138206451025*qz;
49
-
50
-
51
- //idow
52
- qx=qx+0.135977-0.142114;
53
- qy=qy+2.027985+0.000023;
54
- qz=qz+133.967667-49.556850;
55
-
56
- glVertex3f(qx,qy,qz);
57
- ```
58
-
59
-
60
-
61
- //計算後の合成行列 //qy=-2.628411560409*qy;のコメントをはずすと、
62
-
63
-
64
- で合成行列をいれるのは駄目だとおもうのですが、//スキニング行列の計算SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
65
-
66
- ```skinweights
67
- SkinWeights {
68
- "Bip01_L_Clavicle";//フレーム名
69
- 2;//ウェイト数
70
- 150,//頂点番号
71
- 3512;
72
- 0.303157,//ウェイト
73
- 0.303157;
74
- 1.253361,-0.000002,0.254069,0.000000,-0.218659,-0.223923,1.078679,0.000000,0.058231,-1.440720,-0.287275,0.000000,-8.131670,62.204407,-2.611076,1.000000;; //オフセット行列
75
- }
76
- ```
1
+ directxに
2
+ D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
3
+ そのまま掛け算で計算しているのですが、openglにはなさそう?なので、ご指摘のとおり4*4の行列で計算するのが、正いようです。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
4
+ ひとまず保留することにしました
5
+ 。胴体の合成行列をTransD*worldなので、
6
+ 右上腕フレームの合成行列TransC*TransD*worldなので、
7
+
8
+ ```opengl
9
+
10
+ float px; float py; float pz;
11
+
12
+ px=Mesh_tiny[3*a[0]+0];
13
+ py=Mesh_tiny[3*a[0]+1];
14
+ pz=Mesh_tiny[3*a[0]+2];
15
+
16
+
17
+ float qx,qy,qz;
18
+
19
+
20
+ qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
21
+ qy=0*px+1*py+0*pz;
22
+ qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
23
+
24
+ float Bip01_L_Clavicle[]={
25
+ -0.185356,0.308957,0.932839,
26
+ -0.499811,-0.846968,0.181203,
27
+ 0.846069,-0.432656,0.311411,
28
+ // -12.374969,4.006883,8.346215
29
+ };
30
+
31
+ SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
32
+
33
+ ```skinweights
34
+ SkinWeights {
35
+ "Bip01_L_Clavicle";//フレーム名
36
+ 2;//ウェイト数
37
+ 150,//頂点番号
38
+ 3512;
39
+ 0.303157,//ウェイト
40
+ 0.303157;
41
+ 1.253361,-0.000002,0.254069,0.000000,-0.218659,-0.223923,1.078679,0.000000,0.058231,-1.440720,-0.287275,0.000000,-8.131670,62.204407,-2.611076,1.000000;; //オフセット行列
42
+ }
43
+ ```

6

文の変更

2021/01/20 05:51

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  directxに
2
2
  D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
3
3
  そのまま掛け算で計算しているのですが、openglにはなさそう?なので、今度から3*3で計算することにしました。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
4
- ひとまず保留することにしました。(world座標は移動後、回転後、縮小を表す行列だそうです)
4
+ ひとまず保留することにしました
5
5
  。胴体の合成行列をTransD*worldなので、
6
6
  右上腕フレームの合成行列TransC*TransD*worldなので、
7
7
 

5

文の変更

2021/01/20 05:51

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -55,16 +55,12 @@
55
55
 
56
56
  glVertex3f(qx,qy,qz);
57
57
  ```
58
- 以下のような画像になります。
59
- ![イメージ説明](616e691e4124ed24bbea16ba23113378.png)
60
58
 
61
59
 
60
+
62
61
  //計算後の合成行列 //qy=-2.628411560409*qy;のコメントをはずすと、
63
- ![イメージ説明](a4a92ac93622c1bb059f6b9bc0797814.png)
64
- 逆さになってしまいます。画像が透けてておかしいのはどこか
65
- がおかしんでしょう
66
- 気にしないことにします。
67
62
 
63
+
68
64
  で合成行列をいれるのは駄目だとおもうのですが、//スキニング行列の計算SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
69
65
 
70
66
  ```skinweights

4

文の改善

2021/01/19 12:26

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -30,13 +30,9 @@
30
30
  0.846069,-0.432656,0.311411,
31
31
  // -12.374969,4.006883,8.346215
32
32
  };
33
- float Bip01_L_UpperArm[]= {
34
- 0.640423,0.117307,-0.759011,
35
- 0.064965,0.976451,0.205728,
36
- 0.765270,-0.181062,0.617720,
37
- // 31.000208,-0.000032,-0.000004,
38
- };
39
33
 
34
+
35
+
40
36
  //syukushou
41
37
  qx=0.003*qx;
42
38
  qy=0.003*qy;

3

文の改善

2020/11/16 16:25

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -65,7 +65,8 @@
65
65
 
66
66
  //計算後の合成行列 //qy=-2.628411560409*qy;のコメントをはずすと、
67
67
  ![イメージ説明](a4a92ac93622c1bb059f6b9bc0797814.png)
68
- 逆さになってしまいます。画像が透けてておかしいのは法線なんかがおかしんでしょう
68
+ 逆さになってしまいます。画像が透けてておかしいのはどこ
69
+ がおかしんでしょう
69
70
  気にしないことにします。
70
71
 
71
72
  で合成行列をいれるのは駄目だとおもうのですが、//スキニング行列の計算SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)

2

文の改善

2020/11/16 16:17

投稿

txty
txty

スコア304

title CHANGED
File without changes
body CHANGED
@@ -21,12 +21,7 @@
21
21
  qy=0*px+1*py+0*pz;
22
22
  qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
23
23
 
24
- float qx,qy,qz;
25
24
 
26
-
27
- qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
28
- qy=0*px+1*py+0*pz;
29
- qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
30
25
 
31
26
 
32
27
  float Bip01_L_Clavicle[]={

1

文の改善

2020/11/16 16:15

投稿

txty
txty

スコア304

title CHANGED
@@ -1,1 +1,1 @@
1
- animesionmoderuをだしたい
1
+ フレームモデルをだしたい
body CHANGED
File without changes