質問編集履歴

10

書式の改善

2022/08/12 14:01

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -1,23 +1,5 @@
1
1
  directxに
2
2
  D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
3
3
  そのまま掛け算で計算しているのですが、openglにはなさそう?なので、ご指摘のとおり4*4の行列で計算するのが、正しいようです。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
4
- ひとまず保留することにしました
4
+ ひとまず保留することにしました
5
- 。胴体の合成行列をTransD*worldなので、
6
- 右上腕フレームの合成行列TransC*TransD*worldなので、
7
5
 
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
- ```
23
-

9

書式の改善

2022/07/26 12:12

投稿

txty
txty

スコア303

test CHANGED
File without changes
test 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

スコア303

test CHANGED
File without changes
test 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

スコア303

test CHANGED
File without changes
test CHANGED
@@ -1,151 +1,44 @@
1
1
  directxに
2
-
3
2
  D3DXMATRIXA16というものがあり TransformMatrix, OffsetMatrix,CombindMatrixなどと名前をつけて
4
-
5
- そのまま掛け算で計算しているのですが、openglにはなさそう?なので、今度から3*3で計算することにました。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
3
+ そのまま掛け算で計算しているのですが、openglにはなさそう?なので、ご指摘のとおり4*4の行列で計算するのが、正いようです。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
6
-
7
4
  ひとまず保留することにしました
8
-
9
5
  。胴体の合成行列をTransD*worldなので、
10
-
11
6
  右上腕フレームの合成行列TransC*TransD*worldなので、
12
7
 
13
-
14
-
15
8
  ```opengl
16
-
17
9
 
18
-
19
10
  float px; float py; float pz;
20
11
 
21
-
22
-
23
12
  px=Mesh_tiny[3*a[0]+0];
24
-
25
13
  py=Mesh_tiny[3*a[0]+1];
26
-
27
14
  pz=Mesh_tiny[3*a[0]+2];
28
-
29
-
30
-
31
15
 
32
16
 
33
17
  float qx,qy,qz;
34
18
 
35
-
36
-
37
19
 
38
-
39
20
  qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
40
-
41
21
  qy=0*px+1*py+0*pz;
42
-
43
22
  qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
44
23
 
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
24
  float Bip01_L_Clavicle[]={
54
-
55
25
  -0.185356,0.308957,0.932839,
56
-
57
26
  -0.499811,-0.846968,0.181203,
58
-
59
27
  0.846069,-0.432656,0.311411,
60
-
61
28
  // -12.374969,4.006883,8.346215
62
-
63
29
  };
64
30
 
31
+ SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
65
32
 
66
-
67
-
68
-
69
-
70
-
71
- //syukushou
72
-
73
- qx=0.003*qx;
74
-
75
- qy=0.003*qy;
76
-
77
- qz=0.003*qz;
78
-
79
- //計算後の合成行列...数値がまちがってても知らない。
80
-
81
- //doutai frame
82
-
83
- qx=1.278853*qx;
33
+ ```skinweights
84
-
85
- qy=1.123165*qy;
34
+ SkinWeights {
86
-
87
- qz=-1.470235*qz;
88
-
89
- //Bip01_L_Clavicle
35
+ "Bip01_L_Clavicle";//フレーム名
90
-
91
- qx=-1.261525934928*qx;
92
-
93
- //qy=-2.628411560409*qy;
94
-
95
- qz=0.138206451025*qz;
96
-
97
-
98
-
99
-
100
-
101
- //idow
36
+ 2;//ウェイト数
102
-
103
- qx=qx+0.135977-0.142114;
104
-
105
- qy=qy+2.027985+0.000023;
106
-
107
- qz=qz+133.967667-49.556850;
108
-
109
-
110
-
111
- glVertex3f(qx,qy,qz);
37
+ 150,//頂点番号
112
-
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
+ }
113
43
  ```
114
44
 
115
-
116
-
117
-
118
-
119
-
120
-
121
- //計算後の合成行列 //qy=-2.628411560409*qy;のコメントをはずすと、
122
-
123
-
124
-
125
-
126
-
127
- で合成行列をいれるのは駄目だとおもうのですが、//スキニング行列の計算SkininMatrix=OffsetMatrix*combineMatrixでcombineMatrixが合成行列でOffsetMatrixがウエイトの最後の16個の数値だからです。その後はどうしたらいいかよくわかりません。フレームモデルの構成ができるかた教えてください。(引用3D格闘ゲームプログラミング)
128
-
129
-
130
-
131
- ```skinweights
132
-
133
- SkinWeights {
134
-
135
- "Bip01_L_Clavicle";//フレーム名
136
-
137
- 2;//ウェイト数
138
-
139
- 150,//頂点番号
140
-
141
- 3512;
142
-
143
- 0.303157,//ウェイト
144
-
145
- 0.303157;
146
-
147
- 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;; //オフセット行列
148
-
149
- }
150
-
151
- ```

6

文の変更

2021/01/20 05:51

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  そのまま掛け算で計算しているのですが、openglにはなさそう?なので、今度から3*3で計算することにしました。なお行列の一番下は移動にあたると思うのですが、行列の計算が出てくるたびにちまちまいじるのが嫌なので
6
6
 
7
- ひとまず保留することにしました。(world座標は移動後、回転後、縮小を表す行列だそうです)
7
+ ひとまず保留することにしました
8
8
 
9
9
  。胴体の合成行列をTransD*worldなので、
10
10
 

5

文の変更

2021/01/20 05:51

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -112,9 +112,7 @@
112
112
 
113
113
  ```
114
114
 
115
- 以下のような画像になります。
116
115
 
117
- ![イメージ説明](616e691e4124ed24bbea16ba23113378.png)
118
116
 
119
117
 
120
118
 
@@ -122,13 +120,7 @@
122
120
 
123
121
  //計算後の合成行列 //qy=-2.628411560409*qy;のコメントをはずすと、
124
122
 
125
- ![イメージ説明](a4a92ac93622c1bb059f6b9bc0797814.png)
126
123
 
127
- 逆さになってしまいます。画像が透けてておかしいのはどこか
128
-
129
- がおかしんでしょう
130
-
131
- 気にしないことにします。
132
124
 
133
125
 
134
126
 

4

文の改善

2021/01/19 12:26

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -62,17 +62,9 @@
62
62
 
63
63
  };
64
64
 
65
- float Bip01_L_UpperArm[]= {
66
65
 
67
- 0.640423,0.117307,-0.759011,
68
66
 
69
- 0.064965,0.976451,0.205728,
70
67
 
71
- 0.765270,-0.181062,0.617720,
72
-
73
- // 31.000208,-0.000032,-0.000004,
74
-
75
- };
76
68
 
77
69
 
78
70
 

3

文の改善

2020/11/16 16:25

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -132,7 +132,9 @@
132
132
 
133
133
  ![イメージ説明](a4a92ac93622c1bb059f6b9bc0797814.png)
134
134
 
135
- 逆さになってしまいます。画像が透けてておかしいのは法線なんかがおかしんでしょう
135
+ 逆さになってしまいます。画像が透けてておかしいのはどこ
136
+
137
+ がおかしんでしょう
136
138
 
137
139
  気にしないことにします。
138
140
 

2

文の改善

2020/11/16 16:17

投稿

txty
txty

スコア303

test CHANGED
File without changes
test CHANGED
@@ -44,17 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- float qx,qy,qz;
48
47
 
49
-
50
-
51
-
52
-
53
- qx=cos(angle*M_PI/180)*px+0*py+sin(angle*M_PI/180)*pz;
54
-
55
- qy=0*px+1*py+0*pz;
56
-
57
- qz=-sin(angle*M_PI/180)*px+0*py+cos(angle*M_PI/180)*pz;
58
48
 
59
49
 
60
50
 

1

文の改善

2020/11/16 16:15

投稿

txty
txty

スコア303

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