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

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

【アセット紹介】お手軽に図形を描画して動かす事ができるShapes

相変わらずなのにフルプライス

新作を発表するたびに「進化したゲームプレイ云々かんぬん」「よりリアルサッカーに近づいた云々かんぬん」という宣伝文句を掲げてはいるものの、購入している側にはさっぱり伝わらないゲームを購入した皆さんこんにちは。

毎度毎度、チームと選手データが最新版に入れ替わっているだけの印象なんですが、取り合えず「ゲームプレイ」を語る前に、分かりずらいメニュー画面とUIをいい加減改良してください。あのメニュー画面から初見ですんなりゲームを始められる人はニュータイプを名乗って良いと思います。

 

手軽な図形描画

前回のunity1weekの振り返り記事でも紹介しましたが、ゲーム空間に円、線、矩形といった図形のオブジェクトを作ることができるアセットを最近購入しました。

assetstore.unity.com

アセットを購入せずともこういったプリミティブな図形は線ならLine Renderer、円、矩形ならSprite,ImageといったUnityの標準機能を使っても表示することはできます。
しかし、このアセットでは図形を作るための様々なパラメータをInspector上から変更できる為、ゲームに必要な図形を調整しながら作成することができます。

例えば線を描画する場合、Hierarchy上で右クリック→Shapes→Lineを選択すると

ゲーム空間内にLineのオブジェクトが作成されますが、

Inspectorを確認すると

これだけのパラメータが設定できることが分かります。
これらはゲームを実行しなくても即時にLineオブジェクトに反映されるので、エディタ画面上で始点/終点を変えたり、太さを変えることで細かい調整を行うことができます。

始点/終点/太さの変更

 

また、Lineに関しては「エンドキャップ」や「Dush(破線)」がオプションとして用意されているので、それを指定して「丸キャップ付きの破線」みたいな線も簡単に作成することが出来ます。

丸キャップ指定・ダッシュ指定

 

作成することができる図形は2D形状なら「線、PolyLine、長方形、正多角形、円、Polygon」があり、3D形状なら「球、ドーナツ、円錐、直方体」を作ることが出来ます。

作成できるオブジェクト一覧

 

プリミティブな図形を作るだけなら従来通りにSprite,Imageを使ってもよいかもしれません。
しかしSpriteやImageの場合、それを拡大すると元の画像の解像度によりエッジ付近のギザギザが目立つという問題が発生します。
このアセットでは作成する図形に高度なアンチエイリアシングが掛けられている為、図形を拡大してもエッジのギザギザは目立たず、綺麗に表示することができます。

サイズを大きくしてもエッジが目立たない

 

スクリプトによる変更

このアセット「Shapes」を利用する最大の利点は、上に紹介したInspectorから設定する項目をスクリプト側から変更できる、と点にあります。
この為、DOTweenのTo関数や、DOVirtual.Float関数等を使えば図形の形状を動的に変更することが簡単にできるようになります。

 

Shapes」で扱う事ができる各図形のプロパティやその効果、またイミディエイトモードでの描画については公式のドキュメントページが用意されているのでそちらを参考にしてください。
元は英語ですが、(自動で?)日本語に翻訳されるので非常にわかりやすいです。

acegikmo.com

実際にDOTweenを使って「Shapes」の図形を変化させるデモを作ってみました。

途中の四角形から八角形→円形に変化させている箇所は少し手間が掛かりましたが、他は値を変化させるだけなのでトータルで4~5時間ぐらいの作業で作ることができました。

 

最後に

ストアページを確認すると分かりますが、このアセットは高額なアセットの部類に入ります。ストアで頻繁に行われているセールでも対象になっている事はあまりないので、購入には慎重になるかと思いますが、それでも価値のあるアセットだと思います。

ただ、このアセットで作られるオブジェクトは基本的に3D空間上に作られるので、UIの一部として使用したい場合は注意が必要です
特にScreen-Space OverlayのCanvas上には作成できないので、UIとして使用する場合にはScreen-Space CameraかWorld SpaceのCanvasを用意して、その配下で作成して下さい。

 

宣伝

数学的迷宮脱出ゲーム「W.T.」は現在早期アクセス版をリリース中です。
来年春に製品版をリリース予定ですが、ゲームコントローラー対応には既に対応済みとなっています。(やっとリリースできた)

Windows,Macどちらも取り揃えているので、チェックお願い致します。

store.steampowered.com

◇プライバシーポリシー

●個人情報の利用目的

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

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

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

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

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

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

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

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

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

●免責事項

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

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

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

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

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

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