ゲームエフェクトポータルサイトのEffectHub.comが主催するパーティクルエフェクトコンテストをご紹介します。

概要

Sparticle (旧AwayEffect) は、リアルタイムプレビュー付3Dパーティクルエフェクト作成ツールです。AIR製のデスクトップツール、オンライン上のWebツールがあり、いずれも無料で利用できます。FlashのStage3Dを使用していますのでGPUパワーを利用し高速に動作する上、GUIによるシンプルな操作で例えば魔貫光殺砲みたいなエフェクトも数ステップで作成可能です。 さらに専用ツールからポータルサイトへ直接アップロードをすることで、すぐに作品を公開できます。 Sparticleについては以前当サイトで紹介記事を書いていますので、詳しくはこちらをご参考ください。 (参考記事:物理演算ライブラリ「OimoPhysics」と3Dエフェクトツール「AwayEffect」のご紹介)

effect0effect1 effect2effect3

3ステップで応募完了

本コンテストでは、専用ツールを利用したパーティクルエフェクトが条件となっています。キラキラ眩くエフェクトを作成して楽しむもよし、ゲーム用のエフェクトを作成するもよし。このコンテストをきっかけにパーティクル作りにチャレンジしてみませんか?応募方法は以下3ステップです。

  1. 「サインアップ」– まずはEffectHub.comに登録しよう。Eメールまたはお好みのSNSを使って簡単に登録できます。
  2. 「ツールを開く」 – AIR製のエフェクト作成ツール「Sparticle」をインストールするか、オンライン上のツールを開きます。
  3. 「アップする」 – エフェクトを作成して公開しよう。「contest」タグを付けることでコンテストへの応募となります。

優勝者には豪華景品あり!

腕に自信のある方はトップ3を狙いましょう。コンテスト優勝者にはiPad Air、Nexus5、Kindle Paperwhiteなどの豪華景品が授与されます。この機会をお見逃し無く!

  • 1位:16GB Wi-Fi iPad Air または、Amazonギフトカード500ドル分
  • 2位:16GB Nexus 5 または、Amazonギフトカード350ドル分
  • 3位: Kindle Paperwhite または、Amazonギフトカード120ドル分

締め切り

  • 応募締め切りは、2014年3月2日16時59分 (日本時間)
  • 投票締め切りは、2014年3月16日16時59分 (日本時間)

その他注意事項

  • ActionScriptは使用不可。
  • 著作物を扱った作品はNGです。
  • 応募可能ファイル .zip または.awp (Sparticleのファイル形式)
  • 最大ファイルサイズ 20MB

エフェクトの作成はここから

公式チュートリアル

おまけ:作成したエフェクトをFlashのAway3Dに読み込む方法

Sparticleを用いて作成したエフェクトは、FlashのStage3DライブラリであるAway3Dを使って読み込むことができます。以下はエフェクトファイル(.awpファイル)を読む込むスクリプトの一例です。 私がよく使う方法は、エフェクトを読み込むスクリプトをObjectContainer3Dクラスを継承したクラス内に記述するという方法です。こうすることで、シーンにaddChildするだけでエフェクトが表示されるようになります。この方法はゲーム開発のモック段階で重宝します。(※実際にはアセットの読み込み管理等の最適化を行います。) また、Sparticleが用意している専用の拡張ファイル(.awp形式を読み込むためのクラス)が必要となります。

public class FireEffect extends ObjectContainer3D
{
	private var particleGroup:ParticleGroup;

	public function FireEffect()
	{
		AssetLoader.enableParser(ParticleGroupParser);
		// エフェクトファイルの読み込み
		var loader:AssetLoader = new AssetLoader();
		loader.addEventListener(AssetEvent.ASSET_COMPLETE, onAssetCompleteHandler);
		loader.load(new URLRequest("effect_file.awp"));
		// または
		loader.loadData(new EmbedEffect(), "effect");
	}

	// エフェクトファイル読み込み後の処理
	private function onAssetCompleteHandler(e:AssetEvent):void
	{
		if (e.asset.assetType == AssetType.CONTAINER && e.asset is ParticleGroup)
		{
			particleGroup = e.asset as ParticleGroup;
			// 表示に追加
			addChild(particleGroup);
			// アニメーションをスタート
			particleGroup.animator.start();
		}
	}
}

より詳しいソースファイルはEffectHubの公式サイトからダウンロードできます。

関連記事