自己研鑽 じこけんさん
忙しいさなか、自己けんさんも必要ですね、
忙しさにかまけて、自己研さんを放置するのは、よくないですね
寝る時間を削ると、体が、緊張感が持続するので、いらいらがでてくるときが
あります、いわしをたべるとよいのでしょうか
リラックスする時間を削るのは、体にはよいですね、緊張感が持続するので、
それで、ついに最後にアドレナリンがでてきます、目ぱちくり
DirectX11について、けんさんしてみましょう
相当高速化されているみたいですね、
①XMとは、なんの略か
②トランスフォームとは
③移動を英語で
④回転を英語で
⑤拡大・縮小を英語で
少し、考えるなり、調べるなりしてください
⑥プログラミングとは、コンパイルエラーがでたとき
なぜなのか、これを推測どおり、とけたときは
うれしいですね、
デバッグ時、バグがでたとき、なぜなのか
推理しながら、こうか、違うか、こうか、違う、あーまた
エラー、ここでどつぼにはまって、気分は落ち込む
少し、気分転換、コーヒータイム、リラックスタイム
または、翌日の明け方、通勤時間、など
しばらく封印して、またチャレンジすると、宇宙から
ヒントが、あーひょっとしてこれか、あー溶けた
このときが、プログラミングの冥利みようりですね
気分絶好調になります、
それでは、
①DirectXMath
Mathtとは、Mathematicsでしょうね
②トランスフォーム
3次元空間を
拡大して、回転して移動する
③移動
Move
Translation
③回転
Rotation
④拡大・縮小
Scaling
ついでに、WorldMatrixのつくりかた
ScalingMatrix * RotationMatrix * TranslationMatrix
拡大してから、回転して、移動する
左手系ですね
なおRotaition Matrix
X軸周りの回転 (航空工学上、機首をあげるピッチ)
RotationX
Y軸周りの回転 (航空工学上 機体を回転ヨー 機体を滑走路に向けて、回転)
RotationY
Z軸まわりの回転(航空工学上 機体を回転ロー 回転して降下)
RotationZ
RotationMatri=RotationX * RotationY * RotationZ
ふつう
YawPitchRow ヨーピッチロー
機首を回転させて(ヨー)、滑走路に出て、管制塔からの指示で
それから、加速すると、エルロンのおかげで、機首があがる(ピッチ)
そのまま、離陸して、上空に向かう
つぎに機体を上空で、大阪湾上空(笑)
回転させ(ロー)、エルロンを左右で逆に作動させ、ラダーでアメリカ
ラスベガスに向かう、サンフランシスコかな
サンフランシスコのお寿司屋さんのトロは、なんと
昔の話、築地からマグロを仕入れているとのこと
ということで、
ヨーロッパですと、フランスはパリのドゴール空港か
パリは降りて、バスに乗ると
景色はRPGの世界、お城が、すごい
y軸周りの回転 ヨー
x軸周りの回転 ピッチ
z軸周りの回転 ロー
あー夜があけました、周りは静かです
図書館か、(笑)
物体の距離は2Ⅾですと
物体の中心間距離でいけますね
float distx=abs(player.pos.x - enemy.pos.x);
float disty=abs(player.pos.y - enemy.pos.y);
dist=distx * distx + disty * disty
または
dist=sqrt(dist);
ヒット判定
dist < playerの半径 + enemyの半径
3Ⅾになりますと、剛体(rigid body)を扱うので
質点が集まっている
空間にいろんな方向に厚みがあります
BOXをかぶせて、ヒット判定すると、かなり正確に当たりますね
OBBといいますが、
ただし、シューティングのように、爆発するようなけーすでは、いらないよ
という場合でも
実装しておけば(実装がむずいですが、ポリゴンの頂点情報をよんで
maxpos,minposを求める)
物体の幅、高さ、奥行がもとまって、いいと思います
info(情報)としては、価値があると思います。
これにローカルの方向軸を加えれば、ヒット判定ができます
幅w=fabs(maxpos.x - minpos.x);
高h=fabs(maxpos.y - minpos.y);
奥z=fabs(maxpos.z - minpos.z);
なお、fabsとは小数点 絶対値のこと
float absolute
練習)
vertexデータをよみながら、maxposをもとめよ
if(maxpos.x <vertex.x) maxpos.x=vertex.x;
yについて
zについて同様
minposのif()文をかんがえてみよう
あー完全に世の中明るい、相変わらずしずか
耳がとうくなったせいか(笑)