2022-01-01から1ヶ月間の記事一覧

モデリングは混沌(カオス)の世界

モデリングは、一見CGの世界のことのように思われますが、 プログラムもからんでいます。 ステージに表示できるもの(オブジェクト)は、やはり メモリーの関係上、制限があります。 ハイポリをスペキュラー光をあてて、みると、魅とれてしまいます。 でも、…

バレットを発射してみよう

星型バレットを発射してみましょう。 発射までの動作を解析 弾をみつける 弾を装填(弾をこめる) レボルバーを回転 ハンマーを起こす トリガーを引く 爆発し、バレット発射 プログラムの動作の解析 弾を見つける m_isLiveがfalseの弾 まだ、装填されていな…

バレットとおじゃまキャラの当たり判定

星とおじゃまキャラ 星バレット(アイテムバレット)をおじゃまキャラにあててみましょう モデルの幅は、CModelで、ローダーを呼び出しているところで、 大きなOBBを求めています。 このOBBは、モデルの幅、高さ、奥行を求めています。 変数名でいうと、 big…

なめらかな走行 自然界は、なめらかな世界

自然な動きを再現してみましょう そのためには、ベクトルが有効です 始点は原点、終点が端点です、向きを持っています 長さもありますね、 ベクトルは、自然界同様、加算(足し算)ができます (自ずと、引き算もできます) 平行四辺形の対角線をイメージす…

当たり判定

2次元の当たり判定をBOX vs BOXで考えてみます BOX vs BOX 当たり判定 2つのBOXの横の半分の長さをra,rbとします 中心と中心の距離distは dist=xb - xaとなります さかさまに書いてもよいように float dist=fabs(xb - xa); となります。 当たりは dist < ra…

アイテムにヒットしたとき

ジャンプランプ台のヒット関数 HitJump()関数があります。 //jump台との当たりもチェック for (int tate = 0; tate < TATE; tate++) { for (int yoko = 0; yoko < YOKO; yoko++) { if (jrscene.jrMap[tate][yoko] == 1) { //下降シーン if ((jumpflag == 1…

アイテムにチャレンジ 失敗を恐れない

みなさん、今年は、イベントの年です。 近いところで、1月のスクール間コンテスト、 リクルート活動の一環で、2月の作品のグレードアップ 3月には、校内イベントが一週間あります。 そこで、作品発表があります。 心構えですが、こうしたらどうなるかという …

アクセサリーを表示その2

できあっがた、プログラムをどこから表示したらよいのか 大きなシーン管理は、game.cpp ゲームのシーン管理はgamescene.cppですね どこに表示したらよいのでしょうか 単独で表示しようとすると、場所と当たり判定で少し頭を使います。 今回、JumpRamp台のプ…

アイテムを表示しよう

みなさん、明けましておめでとうございます 遅くなりましたが、新しいバージョンで、アイテムを表示してみましょう まず、プログラムを作成します アクセサリー いつも通り、3DSceneフィルターに CItem.cpp,CItem.hを追加します クラスの名前は、頭にCをつけ…