原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】Particleにポリゴンを使ってもいいじゃない。

Unity1週間ゲームジャム

前回の記事でも紹介しましたが、unityroomの1週間ゲームジャムに参加して「倉庫番系」のパズルゲームを投稿しました。PCなら誰でも遊ぶことができるので、是非、下のリンク先から遊んでみてください。

 

unityroom.com

この1週間ゲームジャムに参加すると締め切り日の二週間後にユーザ評価ランキングが発表され、その時初めて自分のゲームの評価点(楽しさ・絵作り・サウンド・操作性・雰囲気・斬新さ)が分かる仕組みなのですが、上のゲームはどの項目も3.5点前後という、至極平均的でなんとも言い難い評価を頂いております。ありがとうございます。

 

実質3日で作り上げたゲームとしてはこれでも上出来な結果とは思いますが、お祭りの中での評価点なので下駄を履かせてもらったのかなぁ、という気がしないでもない。
上位にランクされているゲームと比べてみると、自分の作品の至らなさばかりが気になってしまいネガティブな気分にもなりますが、この反省を生かして次のゲーム作りに励んでいきたいと思います。

 

反省文は早々に、本編

で、このゲームは各色のGEMを周囲のパネルを足し引きしながら同じ色のHOLEのところまで運ぶ、というパズルゲームなのですが、GEMと呼ぶオブジェクトは一般的な3Dモデルを使用するではなく、パーティクルを使って表示しています。

 

f:id:Karvan:20190716221151g:plain

パネル上のクルクル廻っているのがGEM

 

なぜ3Dモデルでなくパーティクルを使ったのか、というと

  • GEMはホログラムっぽく半透明で表示したい
  • GEMはずっとグルグル回っていて欲しい
  • GEMに当たり判定は必要ない
  • パネルを動かして移動するするので、GEM自体を動かすことはない

と、ここら辺の構想を実現するのに最適だと判断したからです。

 

もちろん、普通に3Dモデルを使ってホログラムっぽいシェーダーを用意しても良いのですが、UnityのParticleシステムなら既に用意されているシェーダー(Particles/Standard Surface)を使えば良いし、オブジェクトを回転させるのも簡単ですぐに実装できます。

 

パーティクルをポリゴンで

やり方をざっくり説明すると、ParticleシステムのRenderのRenderModeをMeshに変更し、そこに表示したいメッシュを指定するだけです。

 

f:id:Karvan:20190716221409p:plain

上の図の矢印の箇所

 

表示したい形状が立方体や球ならUnityにてプリセットされているメッシュを指定します、今回の場合は下の図のような四角鋲型のメッシュを用意して使用しました。

f:id:Karvan:20190716221434p:plain

 

ただ、これだけだとモデルにはColor over LifetimeやColor By Speedで指定した単一に塗られた色でしか表示できません。
なので前述のシェーダー(Particles/Standard Surface)にテクスチャを設定したマテリアルを作成し、RenderのMaterialにそれを指定しました。

 

f:id:Karvan:20190716221459p:plain

パーティクル用のマテリアル

 

マテリアルのBlending OptionsのRendering Modeに「Additive(加算)」を指定し、Mapsの項目に緑色のテクスチャを指定します。
テクスチャの模様をハッキリと表示させたい場合にはEmissonの項目にもテクスチャを指定すればよいです。

 

逆にParticleシステム側のColor over Lifetimeに白色の設定を行います。

f:id:Karvan:20190716221536p:plain

 

Particleを廻す

GEMはその場でグルグル廻ってほしいので、ParticleシステムのStart Speedには0を指定し、Rotation over LifetimeとEmissionの項目でパーティクルが回転するように設定を行います。

 

f:id:Karvan:20190716221648p:plain

 

以上、ざっくりとした説明でしたがポリゴンを使ったParticleの説明でした。
需要があるかどうかは微妙ですが、まぁこれも一つの手法ということで。。。

 

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。