こんにちは。サイドスポイラーこと、ねもこです。klis16のおばさんです。
この記事は AmusementCreators AdventCalendar2018 の7日目の記事でございます。
※初心者記事なのでご注意ください
#なにをするの?
ARマーカにエフェクトを描画するアプリを作りたかったので、
- Unity 2018
- Vuforia (AR)
- Effekseer (エフェクト)
でやってみます。
#各種コンポーネントの導入
##Vuforia
この記事を参考にさせていただきました。
【Unity】Vuforiaを使ってARを表示する手順(2018年版)
古いバージョンのエディタだとこの通りでないので、まずバージョンアップしましょう。"Vuforia" にチェックするのをお忘れなく。
##Effekseer
公式に全部書いてあります。
Effekseer UnityPlugin Manual
エミッタコンポーネントは Vuforia の ImageTarget の子として配置します。
ヒエラルキーはこんな感じ。
ARCamera
ImageTarget
--EffekseerEmitter
#苦戦したところ
エミッタから再生はできたのですが、スクリプトから再生するのに苦戦しました。
EffekseerSystem.PlayEffect("effect", transform.position);
だと、再生はされるのですが、座標系が違うのでARにならない。
座標周りで脳みそを使いたくなかった(使ったところでわからない)ので、エミッタにアタッチされているEffekseerEmitter.cs
のなかのPlay()
で再生することにしました。
this.effekseerEmitter = GameObject.Find("ImageTarget/EffekseerEmitter");
this.effekseerEmitter.GetComponent<EffekseerEmitter>().Play();`
GameObject.GetComponent<T>()
でそのGameObjectが持つコンポーネントの中の色々にアクセスできるらしいです。
#できた
わーい!できたー!!(ここまで何一つ理解していない)
これは .apk を生成してAndroid 実機で動作確認した様子です。
(マーカださいとか言わないこと!)
天才が多い分野は脳細胞1ニューロンも使わなくてもなんかできちゃうからいいっすね!
あとは作りこむだけです!
※エフェクトは投稿エフェクトページにございました BrokenDesk 様のものを使用させていただきました
#p.s.
雙峰祭とか、PCゲームの試遊だけでなく色んなタイプのゲームを提供できたら面白そうだなと思うんですけど、後輩諸君いかがですか?(他力本願)