投稿者:ニトロックさん
色々弄ってたらできた産物です。
こう言う奇抜な動きができるのもプロミネンス3Dならではですね
【ダウンロード】(DL数:1697)
ツクルミネンス
公開してからずいぶん経っちゃいましたが、
こうしてトップページでは紹介してませんでした。
当サイトで販売しているゲームエフェクト作成ツール【Prominence3D】と
【RPGツクールMV】を使った「宣伝型RPG」を作成しました!
「Prominence3Dを使うと、こんな演出ができますよ~」という
サンプルゲームで30分もあればクリアできます。
使ったエフェクト素材はすべて公開しているので、
そちらも確認みてください。
詳しくはこちら
http://game-hikidashi.com/game_tkolminence/
PCでもスマホでも、ブラウザでプレイできます。
(PCの方がストレスなく遊べてオススメです)
別にProminence3Dを買ってくれなくてもいいので
エフェクトはもちろんシナリオ的にも
「こんな表現ができるのかぁ~」と感じてもらい
クスッと笑っていただければ充分です。
姉妹ゲームの【ウディタミネンス】もよろしく。
明けましておめでとうございます
昨年は、本業での突然の出世と、子育てとでほとんど創作活動ができませんでした。
今年は徐々にいろいろと手を抜きながら活動の方を進めていきたいと思います。
手始めに、現在RPGツクールMVで制作中のProminence3Dサンプルゲームは、今月中を目標に公開したいと考えています。
その後もやりたいことは山積しています。
いろいろと頑張って、今年も良い一年にしたいと思いますので、皆さんよろしくお願いいたします。
Prominence3D Ver1.8
2月1日にProminence3Dがバージョンアップしました!
今回は結構便利な機能が追加できたと思います!!
発生頻度グラフ
発生タブの『頻度』の項目にグラフが追加されました。
これによりパーティクルが発生する間隔を自由に調整できるようになりました。
<発生間隔を徐々に狭めた例>
発生個数グラフ
同様に『個数』の項目にもグラフが追加されました。
<個数を徐々に減らした例>
『頻度』と『個数』をうまく調整することで、エフェクトの始まりと終わりを自然に演出したり、
途中で盛り上がらせることもできると思います。
色誤差
色タブの各カラーのグラフの下に『±○%』と言う形で誤差を指定できるようになりました。
これにより、さまざまな色のパーティクルを発生させることが出来ます。
上図のようにグラフを半分の高さにして、誤差を±50%にすると
赤の強さが0~100の間のランダムになります。
このようにした場合は、赤の強さは0~200になりますが、
100を超えた場合は100として扱われます。
つまり、0~100の間のランダムになりますが、赤が強い確率が高くなります。
他のグラフ(『不透明度』や『サイズ』『速度』など)の誤差は、
100%にするとグラフで指定した値の0倍~2倍になるので、色の誤差とはちょっと違います。
さて、次のように指定したとします。
赤と緑が0~100のランダムになるので、
青 (赤:0 緑:0 青:100)
水色(赤:0 緑:100 青:100)
紫 (赤:100 緑:0 青:100)
白 (赤:100 緑:100 青:100)
などが出てきます。
同じ設定のまま、一番下にあるオプションの
『色相を固定』にチェックを入れると各色の乱数の比率が等しくなります。
つまり、今回は赤と緑に誤差を指定しているので、赤が弱いときは緑も弱く、
赤が強いときは緑も強くなります。
その結果、赤も緑も弱い『青』から、どちらも強い『白』の間のパーティクルが出るようになり、『紫』や『水色』は出なくなります。
深く考えずに適当に触ってみると感覚がつかめると思います。
是非うまく活用してください!
DXライブラリでProminence3Dのエフェクトを!
Prominence3Dランタイムライブラリ(for DirectX9)を使えば
DXライブラリでもProminence3Dで作ったエフェクトを表示することができます。
やり方は、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)