1 / 1012345...10...最後 »

DXライブラリでProminence3Dのエフェクトを!

Pocket

Prominence3Dランタイムライブラリ(for DirectX9)を使えば
DXライブラリでもProminence3Dで作ったエフェクトを表示することができます。

DxLibSS
やり方は、DirectX9の場合とほぼ同じですが、
Direct3Dデバイスオブジェクトの渡し方だけ注意してください。

#include "DxLib.h"


//Prominence3Dライブラリ
#if _DEBUG
#pragma comment(lib, "P3DEngineD.lib")
#else
#pragma comment(lib, "P3DEngine.lib")
#endif
#include "P3DEngine.h"


//グローバル変数
P3DEngine* pP3D;			//Priminence3Dライブラリの本体


//ゲームスタート
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	//DXライブラリの準備
	ChangeWindowMode(TRUE);			//ウィンドウモード
	SetUseDirect3D9Ex(FALSE);		//デバイスオブジェクトを調べるために必要
	DxLib_Init();					//DXライブラリ初期化


	//カメラの設定
	SetCameraPositionAndTarget_UpVecY(VGet(0, 10, -20), VGet(0.0f, 0.0f, 0.0f));	//視点と注視点
	SetCameraNearFar(0.1f, 100.0f);													//描画範囲
	

	//Prominence3Dライブラリの準備
	P3DInitData data;												//専用の構造体を用意して
	data.pDevice = (IDirect3DDevice9 *)GetUseDirect3DDevice9();		//デバイスオブジェクトを取得
	data.effectFilePath = "Assets";									//エフェクトファイルの場所(省略可)
	pP3D = new P3DEngine(data);										//Prominence3Dライブラリ初期化


	//エフェクトデータの読み込み
	pP3D->Load("MagicCircle.p3b");

	//エフェクトを再生する
	pP3D->Play("MagicCircle.p3b", D3DXVECTOR3(0, 0, 0), FALSE);

	
	//ゲームループ
	while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen())
	{
		//再生中の全エフェクトを描画
		pP3D->Draw();
		RefreshDxLibDirect3DSetting();
	}

	//Prominence3Dライブラリ開放
	delete(pP3D);	

	//DXライブラリ開放
	DxLib_End();

	return 0;
}


ポイントは33行目。
『GetUseDirect3DDevice9()』という関数でDirect3Dデバイスオブジェクトが取得できるようなので、上の例のように書いてください。

そして、この関数を使うためには22行目の『SetUseDirect3D9Ex(FALSE)』が必要になります。これはDxLib_Init()よりも上に書く必要があるようです。

最後にProminence3Dのエフェクトを表示した後に、設定を戻すためにRefreshDxLibDirect3DSetting(50行目)が必要になります。(2017/1/22追記)

以上の点だけ気をつければ、あとはDirectX9で使用する時と何も変わりません。
詳しくはこちらの説明をご覧ください。
↓↓↓
Prominence3Dランタイムライブラリ(for DirectX9)

 

Pocket

魔法陣素材

Pocket

現在開発中のゲームのために、魔法陣の画像を作ったので公開します。
7種類×8色で、56個あります。

ゲームや動画など何に使っても構いません。
クレジット表記も必要ありません。(書いてくれたらうれしいですが)

 

【ダウンロード】(DL数:589)

F_赤B_青E_緑D_水

C_黄A_白

G_紫list

 

【ダウンロード】(DL数:589)

Pocket

Prominence3D for DirectX9

Pocket

この度、Prominence3Dで作成したゲームエフェクトを
DirectX9で簡単に表示するためのライブラリを公開しました。
prm3d_runtimesample
以前からβ版としてひっそり公開していましたが、
全機能が一通り反映されるようになったのでVer.1.0.0として公開します。

https://github.com/KakeruFujimiya/Prominence3D_Runtime_DX9/wiki

今までProminence3Dで作ったエフェクトは
2D画像に出力することしかできませんでしたが、
これからは3Dゲームでも使うことができるようになります。
しかも、すごく簡単です!

自分で作ったエフェクトを利用するには、Prominence3Dのシリアルコードを
購入してある必要がありますが、はじめからサンプルのファイルが同梱
されているので、DirectX9でゲームを作成している方はちょっと試してみてください。

まだバージョン1なので、不具合もあるかもしれませんが
何かあれば気軽にご連絡ください。

 
なお、現在Unityでも表示できる仕組みを準備中です。
現在8割くらい再現できるようになりました。
しかし、私はUnityはそこまで詳しいわけではないので
ある程度できたらオープンソースとして公開しようと思っています。
その時は、ぜひご協力ください。

 

 

Pocket

Prominence3Dアップデート!

Pocket

おそらくこれが今年最後のアップデートとなるでしょう。
Prominence3DのVer.1.6を公開しました。

2つ機能を追加しましたが、どちらも「プロジェクトの設定」画面で確認することができます。

ss

まずは、やたらでかいボタン「この設定をデフォルトにする」

名前の通りの機能ですね。
たとえばRPGツクール用のエフェクトを作るなら、
サイズは必ず192×192にしなければいけません。

それを毎回設定するのは面倒なので、一度設定したら
このボタンを押してください。
以降、新しいエフェクトを作成するときは最初から
その設定になっているはずです。

続きを読む

Pocket

【新作!!】エフェクト並べ替えツール!

Pocket


エフェクト素材を公開したした直後。
「こんなツールあれば便利かな?」
と思い、サクッと作ってみました。

例えばこんなエフェクト画像があったとします。
魔法陣
でも、ツクールだと192×192が横に5個並んだものじゃないと使えないし
そもそもこんなにコマ数いらない!

って時に使うのが
エフェクト再配置ツール【リロケーター】です!!

ss00

左側で元の画像を開き、縦横何個ずつ並んでるか指定します。
ss01

次に右側で、横に何個並べるか、1つのセルのサイズはいくつにするか
等を指定します。
コマ数が多いので2個ずつ間引いてみましょう。
ss02

で、実行ボタンを押せば――

変更後.
この通り!!

とりあえず試作品です。
何かご意見あればコメントください。
(あ、でもそんなに高機能なツールにするつもりはないです)

ダウンロードはこちらから⇒【リロケーター】(DL数:214)
【正式版公開しました】

Pocket

1 / 1012345...10...最後 »