Skip to content

Latest commit

 

History

History
286 lines (189 loc) · 13.4 KB

README.md

File metadata and controls

286 lines (189 loc) · 13.4 KB

TestCode

テストコードorコードの断片です。ほとんどがDxLibを使用しています。 なお、 動作させるには環境変数にDXLIB_DIRを作って、そこにDxLibの本体を入れておかないと動作しないので注意してください。 また、作った時の年代でVS2019だったりVS2022だったりするので適度にコンバートしてください。

2DFire

2Dにおける比の表現。ピクセルシェーダと、DxLibの暈し表現を併用している。 チョットこの後は背景を歪ませるのもやりたいと思う。

image

動画↓ https://twitter.com/CTsuchinoko/status/1657570050596020224

2DShadow

なかにRaycastShadowとSpriteShadowというソリューションがあり、それぞれ

RaycastShadow

これは、光と障害物の当たり判定を想定して、どこまで光が届くのかをシミュレートしています。ステルスゲーとかに使えるかなと思います。

image https://x.com/CTsuchinoko/status/1450440169706852356

Sprite2DShadow

こいつは2Dで陰影をつけるテストコードです。なお、2D画像から法線マップを作るツールとしてはLaigterというのを使っています。 https://azagaya.itch.io/laigter

image

実行するとマウスで点光源を動かすことができます。

3DOutline

ノイズのテストだの色々と混ざってますが、選択中のオブジェクトにだけ輪郭を付与するテストコードです なお、輪郭は「背面法」により生成したものです

image

AnimationFrame

特定の枠線をくるくると光らせるものです。選択中の選択肢などに使用するといいと思います DxLibにおけるDrawMaskのテストです

image

atan2test

授業用のatan2のテストコードです。現在マウスがいる位置を、デカいカーソルが指し示します

image

BeatGameTemplate

音ゲーを作るテンプレート ※未完成※

image

blurbloom

DxLibにおいてシェーダを用いないで、ブルーム(グレア…光ってる)を表現するサンプルです。

image

BoxingIK

グローブの位置と向き(手首の向き)で肘の位置を調整するサンプルです。自分の研究用なのでソースコードが見づらいかも。 EキーとRキーでグローブの向きが変わります image

CaptureMesh

画面のスクショをメッシュ化して割るっていうやつですが、なんか先祖返りしてるのでそのうち修正します。 image

CSTest

ComputeShaderのテストコードです(@koguchit氏のComputeShaderサンプル(https://github.com/kgussan/simpleGpgpu )をDirectX12仕様にしようとしています) 今のところ、スレッドIDを書き込むだけのサンプルです。 ComputeShaderに興味がない人はここは読まなくて大丈夫です(非DxLib)

Dissolve

オブジェクトがモヤモヤっ、と消えるエフェクトです

2DDissolve

image

3DDissolve

image

edgedataloader

ドット絵ソフトEdgeのアニメーションデータコンバート用テストコード 未完成です

FScanF

テキストからfscanfでデータを読み取って、それを3Dの向きに反映させるためだけのプログラム

GetClipboardTexts

職場のイベントで使用した抽選機用のソースコードです。 DxLibに対してクリップボードから、コピペをするときの参考にはなるかもしれません。

gradiusV

所謂、某社のグラディ〇スVにおける自機のぐにゃぐにゃレーザーを実装。 見た目だけなので当たり判定が必要ですが未実装です。

image

キーボードのカーソルキーで移動、ZとXでレーザーを回転します

Hight2Normal

HightはHeightのスペルミスです。高さ情報を法線情報に変換します。左上にプロシージャルな波のモノクロ画像を生成し、それを法線情報に変換して右上に出力しています。 真ん中の下はその法線情報を用いて画像を歪ませたものです。

image

HitCircleTest

1年生の数学の授業用のソースコードです。円と円の当たり判定を行います。 なお、コメントを書いておりますがこのコメント通りにコードを追加しないと当たり判定を行いません(教育用なので) そんなに難しくないので大丈夫でしょう。

HitCircleTest2

HitCircleTestの実装済みのやつです

HitFanTest

扇形と円の当たり判定です。 サーチライト判定とかに使えるんじゃないでしょうか。 image

Index2Index

何のために作ったコードか不明 あとで消す

LoadModel

ただモデルをロードするだけじゃなくて、シェーダでPBRっぽくしている image

masktest

DxLibのマスクを使って某ゲームの「ブチッ!」を再現しようとしました。オサレ。

image

multiscroll

多重スクロールのテストコード(授業用)

image

なお多重スクロールと言いつつ、手前に流れる川に結構な工夫がしてあります(シェーダコード) また、実行中にBを押すと画面手前に血の雨が降ります(笑)

NetWork

C++側でログをTCP/IPで送信し、C#側で受信して表示するサンプル これは完全に趣味と言うか実験ですね。CEDEC2020のニンテンドーの講演 https://cedec.cesa.or.jp/2020/session/detail/s5e7df23196221.html に触発されて作りました。

NjTest

IREMの「最後の忍道」的なゲームをC++&DxLibで作ったサンプルです。

image

ゲームまるまる入っていますが 著作権の関係上、素材は抜いてます。 遊びたい場合はReadMeに必要な素材が書いてるので itch.ioあたりからダウンロードして、適切なフォルダに配置して遊びましょう。

nVidiaTutorialTest

nVidiaのDXRチュートリアル(HelloTriangleからレイトレーシングをやる)を参考に、モデル表示まで実装中 https://x.com/CTsuchinoko/status/1827547690680393850

onefinger

OneFingerDeathPunch的なものを作ろうとして放置中のプロジェクト。現在タイトル画面のタイトルをラスタスクロールでぐにゃぐにゃ歪ませるテストだけ行っている。 なお、現状はアセットに「GothicVania Church」を使用しており(https://ansimuz.itch.io/gothicvania-church-pack )からダウンロードして、アセットを適切な所においてほしい。 もちろん未完成

PadState

DxLibを使用したパッド状態の出力サンプル。パッド差して何かを押すとそのコードが見れます。

##PeterShirley Raytracing One Weekendやろうとしてるやつ

RandomTexture

プロシージャルランダムテクスチャ実験 image

RankViewer

職場のイベントで使用したランキング可視化のソースコードです(データがないと意味がないので見ても無駄です)

RaycastBoxTest

画面上の点から奥行き方向に向かう線と回転する直方体の交差判定。DxLibの関数を使わず数学的に判定を行っている。 image https://x.com/CTsuchinoko/status/1828764083027333592

Raymarching

3DのSDFを用いたレイマーチングのサンプル

image

ReadLaigter

Laigter( https://azagaya.itch.io/laigter )を用いて出力したノーマルマップ画像から2Dで立体感を出すテスト image image

RectTest

矩形の当たり判定のテストです。矩形の中に侵入できないような作りになっています。 ゲームを作る際の当たり判定や、地形との当たり判定に使えるかもしれません。

SlashEffectTest

斬撃エフェクト(兼背景歪ませ)のためのテストコード。 ZとXで斬撃の角度調整。カーソルキーで斬撃を移動できます。スト5のナッシュの技に触発されて作りました。

image

Salamanda_Title

ファミコンの沙羅曼蛇のタイトル画面をやろうとしたものです image

SlashEffectTest

斬撃により背景が歪むテスト image

SlowForShooting

シューティングゲームサンプル image

SmoothDamp

SmoothDamp式を利用して、特定の点にぬるっと追従する点を表現 GemeProgrammingGems4の1章10項のSmoothDampを自分なりに解釈して、イージングに利用してみました。

Vector2f SmoothDamp(const Vector2f& from, const Vector2f& to, Vector2f& vel, float smoothTime, float deltaTime) {
	float omega = 2.0f / smoothTime;
	float x = omega * deltaTime;
	float exp = 1.0f/(1.0f + x + 0.48f * x * x + 0.235f * x * x * x);//テイラー展開
	auto change = from - to;
	auto temp = (vel + change*omega) * deltaTime;
	vel = (vel - temp*omega) * exp;
	return to + (change + temp) * exp;
}

SpriteEffect

ドット絵のアニメーションに合わせて光の粒が流れます image

SpriteOutline

なかにSpriteOutlineとSpriteAuraというのが入っています。

SpriteOutline

これは、普通の画像に対して輪郭線を付けるものです。大したことをしてないように見えますがちょっとテクが必要です。

image

SpriteAura

SpriteOutlineを応用し、時間経過でアニメーションさせて色んな効果を出すことができます。

image

Terrain

ハイトマップによるTerrainテスト。高さマップじたいはシェーダを使っておらず、画像をLoadSoftImageで読み込んでおり、それをハイトマップとして利用している。 また、この元のマップ画像は左クリックで加算、右クリックで減算することで、リアルタイムに高低差を作る事ができるサンプル

image

TrailRenderer

動きによって尾を引くような画像を生成するテスト 画像だが、ベクトルの変化によっては曲線を描くように画像を歪ませている

image

Transition

様々な画面の画面遷移(トランジション)を設計 詳しい解説はQiita

https://qiita.com/tsuchinokoman/items/b6d7f500ab0d05478a2c

を参考にしてください。(画像はアイリスアウト)

image

UnityToDxLib

Unityの3D空間上の配置データをスクリプトでバイナリ出力し、そのバイナリをDxLibで読み取り、Unityと同じ位置にオブジェクトを表示するサンプル