Advanced Search
Search Results
129 total results found
AABB、OBBとは
AABB、OBBとはこんにちは、チョコミントです。今回はAABBとOBBについて聞きなれてない人も多いと思うので簡単に説明します。AABBとは軸平行境界ボックスといって箱の各面の法線が座標軸と平行なものです。箱の横と縦と奥へのベクトルそれぞれがXYZと平行ということですね。OBBとは有向境界ボックスといって箱の各面の法線が座標軸と平行ではないも のです。なんとなく理解できたでしょうか。AABBとOBBでは当たり判定をする際に処理速度が変わる!?AABBとOBBでは当たり判定をする際の処理速度がかなり変わってきます。...
箱(AABB)と球の当たり判定
箱(AABB)と球の当たり判定 by チョコミントこんにちは、チョコミントです。今回は箱(AABB)と球の当たり判定についてです。AABB,OBBとはAABBとOBBについて聞きなれてない人も多いと思うので簡単に説明します。AABBとは軸平行境界ボックスといって箱の各面の法線が座標軸と平行なものです。箱の横と縦と奥へのベクトルそれぞれがXYZと平行ということですね。OBBとは有向境界ボックスといって箱の各面の法線が座標軸と平行ではないも のです。なんとなく理解できたでしょうか。AABBとOBBでは当たり判定をする際...
2点間の距離
2点間の距離のはなし ゲームを作っているとよく2次元でも3次元でも2点間の距離を出したくなるよね。 それで登場するのが次の公式 $p_1(x_1,y_1,z_1)$ と $p_2(x_2,y_2,z_2)$ があるときに、その2点の距離は $$ dist = \sqrt{(x_2-x_1)^2+(y_2-y_1)^2+(z_2-z_1)^2} $$ で計算できる。というもの。 これはこれでよく使うし、計算は合ってます。(結構座標書くときに間違って混乱するよね) DirectXのプログラム作ってるみなさんでは、ソース...
Visual Studioでimport stdする
概要 c++23から、import std; することで、c++及びcの標準ライブラリが使えるようになる。 これを使うと、コンパイル時間が短縮されたり、コーディング作業がほんのちょっと楽になったりする。 しかしながら、そのまま書いてもすぐ使えるわけではない。 本ページでは、これをどのようにして使えるようにするのかを解説していく。 環境 Windows11 Visual Studio 2022 version 17.13.7 やっていこう Visual Studioを開いて、適当なc++プロジェクトを作成します。...
C++ 言語標準
C++博士になりたい方へ C++23の仕様書(PDF) Standard for Programming Language C++ あの機能ってどう使うんだっけ? C++日本語リファレンス 様々な情報がまとまっている C++の歩き方
singletonのサンプル?
シングルトンパターン比較シングルトンパターンじゃなく作ったPlayerクラスをマウスクリックするたびにnewする動画staticなメンバ変数playerCountがクリックするたびに増えて、自分の番号=playercountになるよ。つまり、クリックするたびに、theMain.cppで宣言されているvector<Hero*> heroesに新しく生成されたPlayerのオブジェクトが追加されている。適当なソースコード//Main.cpp //省略 namespace { const int BGCOLOR...
新しいDx11base設計方針(今進んでいるところまで)
✅ 主要クラスの役割一覧クラス名役割主な責務他クラスとの関係Dx11BaseDirectX初期化&基盤デバイス・コンテキスト・スワップチェイン・バックバッファなどの管理ビューポートやラスタライザ設定もここで一元化全クラスが依存。最下層の基盤クラスShaderBucketシェーダーの一括管理.hlsl を読み込んで、VS/PS/IL を生成・キャッシュキーでシェーダー切り替えを容易にするModelRenderer や Sprite など描画系から利用されるCameraカメラ情報の管理ビュー行列・プロジェクション行列を...
おま環とは
「おま環」とは、ネットスラングで「お前の環境が原因」の略です。主に以下のような状況で使われます:🧩 意味「他の人では再現しない問題が、特定のユーザーの環境だけで起きている」ということを指す言葉です。🧠 具体例Aさん:「Visual Studioのツールチップが文字化けするんだけど」Bさん:「再現しないな、それおま環じゃ?」という具合です。つまり「PC設定や環境(OS・フォント・IME・拡張機能など)の問題かもよ?」という含みを持っています。
New Page
aiueo aiueo aioue huid aiueo aejo a aoiuehpihps ' s
Doxygenで生成
ソースコードから自動的にドキュメントを生成するツール。 C++、C言語、Java、C#など ⚠️下記のzennのサイトを参考にすべし。 DoxygenGUI frontendでグラフィカルに設定できるよ 就活には自動生成ドキュメントが効くらしい 設定ファイルを生成 doxygen -g カレントディレクトリに、Doxyfileという名前で出力される。 設定ファイルを編集 Doxygen + Graphviz を使って呼び出し依存関係図を生成する - Posts - Seaside Laborator...
Doxygenでクラス図の表示
【Windows】Doxygenをインストールして使う | The modern stone age. 上記を参考に。 ↓これを出力先とかいい感じに変えて使って Doxyfileの設定 項目名 意味 設定例 PROJECT_NAME プロジェクト名 "Knuckle Fighter Maniax" OUTPUT_DIRECTORY ドキュメントの出力先 "C:\My Program\doxygen" OUTPUT_LANGUAGE 出力言語 Japanese FULL_PATH_NAMES...
へびゲーム
体験入学会プログラミング体験教材はじめに本日は体験入学会にお越しいただきありがとうございます。プログラミング初心者向けの体験授業として、C++を使った「スネークゲーム」を完成させます。コード中の TODO マークに沿って穴埋めし、動くゲームを作りましょう。HEBIGAMEを動かしてみようまずはいったん遊んでみようスペースキーでスタートキーボードのアローキー(⬆️⬇️⬅️➡️)で方向転換エサを食べると成長するよ!自分の体を食べちゃったり、壁に当たるとゲームオーバースペースキーでリスタートStep 1: 背景色を設定し...
文字コード概要
C言語の場合 #include <stdlib.h> #include <string.h> #include <stdio.h> int main() { /* 2つの文字列を結合する:C言語*/ const char* strA = "Hello, "; const char* strB = "world."; /* 領域確保 */ char* strC = (char*)malloc(strlen(strA) + strlen(strB) + 1); st...
ComptrとDirectXの話
マイクロソフト界隈のプログラミング環境で、度々見かける正体不明の言葉たち。DirectX関連のコードを書いているとちょいちょい見かけて、知らんうちに使ってるけど正体がよくわかっていない怖いやつ「COMオブジェクト」についてCOMオブジェクトって何ぞ?(ていがくねんむけせつめい)💡まず「COM」ってなに?COM(コム)は「Component Object Model(コンポーネント オブジェクト モデル)」の略です。でもそんなカタい言葉、いったん忘れてください。🍱 COMオブジェクトは「お弁当のおかず」たとえば「ゲー...
メモ
🎮 前提条件(仕様)プレイヤーは高さ 2ブロック分の大きさ(頭+胴体)ジャンプは1ブロック分のみ可能ブロック世界は world[x][y][z] のようなグリッドで表現「今立っている場所」と「前進方向」にあるブロックを調べて移動可能性を判定🔍 判定に使うブロック範囲(図)プレイヤーの足元 py として、進行方向の dx, dz を使って座標 (px+dx, py, pz+dz) などを調べます。上から見た進行方向(Z奥に進む場合) ↑ 進行方向 z | | [x][...
Windowsプログラミングについて
Windowクラス 種類 WNDCLASSEXA WNDCLASSEXW WNDCLASSA WNDCLASSW 構造体メンバ .struct-members th, .struct-members td { border: 1px solid #111; width: 6rem; } .struct-members th { background-color: #ddf; } 列-A列-B 行-1A-1B-1 行-2A-2B-2 行-3A...
Windowsプログラミングの初めの一歩手前の穴
メッセージループとコールバックとWinProc🎮 たとえるなら…ゲームセンターの受付とスタッフの関係!🌀「メッセージループ」は、ゲームセンターの受付のお兄さん毎日ずっと、お客さん(メッセージ)が来るのを待ってる。お客さんが来たら、「どのゲームに用事があるのかな?」と考えて、そのゲームの担当スタッフに「お客さん来たよ!」と伝える。// ゲームセンター受付のお兄さん(これがメッセージループ) while (お客さんが来たら) { お客さんの内容を読む(TranslateMessage) 担当スタッ...
キャラクターの真下にShaderを使って丸い影を描く(投影丸影)
🎯 この影の作り方のイメージプレイヤーの下に「黒い丸いライト」を当てて、地面をちょっとだけ暗く見せるという工夫です。ライトなので、授業でやった点光源がわかっていれば全く同じように実装できます。しかも、現在のシェーダーにコンスタントバッファと、影付け部分を足すだけでできます。こんな感じの影です👇👦 ← プレイヤー(ジャンプ中でもOK) ↓ 黒い光を下に照らす ↓  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ● ← 黒い影(地面に丸く表示される)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄🧠 なぜこんな影を作るの?本物の影は、...
C++とWindowsと非同期処理
Windows向けのゲーム開発において、非同期処理や排他制御(mutex、semaphore、critical sectionなど)を行う場合、以下のように目的や状況に応じて C++標準ライブラリとWindows API を使い分けるのが実践的です。✅ 結論(簡潔版)用途推奨移植性が欲しい(Windows以外も視野)std::mutex など C++標準ライブラリパフォーマンス最優先・細かい制御が必要CRITICAL_SECTION や WaitForSingleObject など WinAPI軽量なロックを大量に...
自分でランダムな地形?を作って表示する。テクスチャもつける
🌱 ステップ①:データの設計(どんな情報を使うか?)地形を作るには「たくさんの点(てん)」が必要です。この点は「頂点(ちょうてん)」と呼ばれていて、1つ1つの頂点には次のような情報があります:名前何の情報?positionその点がどこにあるか(x, y, z)normal光の当たり方(かたむき)uv絵(テクスチャ)の貼り方これをたくさん集めて、「地面の形」を作っていきます。地面の形は三角形をたくさん並べてできていて、三角形のつなぎ方を indices という番号のデータで管理します。🧺 ステップ②:データの準備(ど...