トップページ > ブログ > create > DXライブラリでProminence3Dのエフェクトを!
2017年01月16日

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




コメントを残す

メールアドレスが公開されることはありません。

 ■ツール・ゲーム  ■講座  ■素材  ■その他  ■管理人へ
  Prominece3D   エフェクト画像の描き方   戦闘エフェクト素材   CG作品   お問い合わせ
  ウディタミネンス   ロゴの描き方   投稿エフェクト   書籍   管理人を応援
  Relocater   HSP講座      
  Prominece        

Copyright © 2011-2015 藤宮翔流 All Rights Reserved.