Unityに関連する記事です

 ゲームクリア用のゲームオブジェクト群を作成し、ボスを倒したときに表示する制御を実装します。


<実装動画 .押璽爐鮗孫圓垢襪 GameClearSet ゲームオブジェクトが透明になって見えなくなる>
動画ファイルへのリンク


<実装動画◆.椒垢鯏櫃垢 GameClearSet ゲームオブジェクトが透明ではなくなり見えるようになる>
動画ファイルへのリンク


 以下の内容で順番に実装を進めていきます。

手順26 −ゲームクリア表示の作成と実装−
55.Canvas内に ゲームクリア表示を行う GameCrearSet ゲームオブジェクト群を作成する
56.UIManager スクリプトの作成する。GameManager スクリプトと EnemyGenerator スクリプトを修正し、ボス討伐済のゲーム終了判定に伴い、ゲームクリア表示の制御処理を追加する



 新しい学習内容は、以下の通りです。

 ・CanvasGroup コンポーネントの機能について
 ・DOTweenの補間機能と実装例 −DOFade メソッド−



55.Canvas内に ゲームクリア表示を行う GameCrearSet ゲームオブジェクト群を作成する

1.設計


 この手順では、Canvas ゲームオブジェクト内にゲームクリアを表示する情報として、ゲームクリア表示用のゲームオブジェクト群を製作していきます。
このゲームオブジェクトもゲーム画面に映る必要のあるゲームオブジェクトですので、 Canvas ゲームオブジェクトの子オブジェクトとしてゲームオブジェクトを作成していきます。

 ゲームクリア関連のゲームオブジェクトを管理するためのフォルダ役の GameClearSet ゲームオブジェクトを作成し、その子オブジェクトとして各画像の表示設定するゲームオブジェクト群を順番に作成します。


<完成時のヒエラルキー画像>



2.Canvas ゲームオブジェクトの子オブジェクトとして GameClearSet ゲームオブジェクトを作成する


 Canvas ゲームオブジェクトの上で右クリックをしてメニューを開き、Create Empty を選択します。
新しく空のゲームオブジェクトが作成されますので、名前を GameClearSet に変更します。

GameClearSet ゲームオブジェクトは、ゲームクリア表示に関連するゲームオブジェクト群をまとめておくための、フォルダ役のゲームオブジェクトです。


ヒエラルキー画像



 GameClearSet ゲームオブジェクトを選択して、RectTransform コンポーネントがアタッチされているか確認します。
Canvas ゲームオブジェクトに含まれるオブジェクトは Transform コンポーネントではなく、RectTransform コンポーネントによって位置情報を管理しています。
もしも通常の Transform コンポーネントがアタッチされている場合には、再度作り直してください。


インスペクター画像



Sceneビュー画像



 続いてこのゲームオブジェクトの設定を行います。



 GameClearSet ゲームオブジェクトを選択してインスペクターの一番下にある Add Component ボタンを押して、Canvas Group コンポーネントを追加します。
Block Raycast のチェックを外しておいてください。この項目の機能については自分で調べてみましょう。


インスペクター画像



 以上で設定は完了です。


3.GameClearSet ゲームオブジェクトの子オブジェクトとして、btnRestart ゲームオブジェクトを作成して設定を行う


 GameClearSet ゲームオブジェクトの子オブジェクトとして、合計4つのゲームオブジェクトを作成していきます。

 GameClearSet ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Button を選択します。
Image コンポーネントと Button コンポーネントがアタッチされたゲームオブジェクトが新しく作成されますので、名前を btnRestart に変更します。


ヒエラルキー画像


 btnRestart ゲームオブジェクトはゲーム画面全体を覆って、どの部分をタップしても機能するボタンの役割を持つゲームオブジェクトです。
ボタンの機能については先の手順で実装しますので、現在はそのような役割のゲームオブジェクトがある、ということを覚えておいてください。


インスペクター画像



Sceneビュー画像



 続いて、btnRestart ゲームオブジェクトの設定を行います。3つの手順がありますので、順番に設定していきます。



 まずは最初に、サイズを画面一杯、あるいは少し大きめに設定してください。
そのようにしておくことで、画面全体がボタンとして機能するようになります。
Width と Height の値は Canvas ゲームオブジェクトの Canvas Scaler に設定した値と同じにすることで Canvas と同じサイズになります。
Width などの値を変更してもよいですし、Sceneビューで操作しても構いません。

 2つめは Image コンポーネントの Color のプロパティを選択し、Alpha の値を 0 に変更してください。
これでゲームオブジェクトが透明な状態になります。画像の設定は不要です。

 最後に Canvas Renderer コンポーネントの Cull Transparent Mesh のチェックを入れてオンの状態にしてください。
このスイッチにチェックをいれておくことで透明なゲームオブジェクトについては描画対象から外されることになり、描画処理が軽くなります

 Unity では非表示の状態とは異なり、ゲームオブジェクトが透明な状態のときは、「透明な状態」として描画を行うようになっています。
そして通常の描画よりも透明な状態の描画する処理は重い処理になっています。
この Cull Transparent Mesh の機能を利用することで、負荷を軽くすることが可能です。覚えておいて活用しましょう。


インスペクター画像



 Button コンポーネントについては変更はありませんので、初期状態のままで問題ありません。


インスペクター画像



Sceneビュー画像



 以上で設定は完了です。


4.GameClearSet ゲームオブジェクトの子オブジェクトとして、imgGameClear ゲームオブジェクトを作成して設定を行う


 GameClearSet ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Image を選択します。
Image コンポーネントがアタッチされたゲームオブジェクトが新しく作成されますので、名前を imgGameClear に変更します。


ヒエラルキー画像



 imgGameClear ゲームオブジェクトはゲームクリアのロゴの表示を行うゲームオブジェクトです。
手法としては、 "Game Clear" というロゴを画像として作成し、それを Image コンポーネントに登録して利用します。

 もしも、文字列として "Game Clear" と表示したい場合には、Image コンポーネントではなく、Text コンポーネントを利用してください。


インスペクター画像



Sceneビュー画像(画面下部中央の白い画像)



 続いて、imgGameClear ゲームオブジェクトの設定を行います。3つの手順がありますので、順番に設定していきます。



  "Game Clear" という文字列をロゴ画像として作成し、それを Image コンポーネントに登録して利用します。

 無料でロゴを作成できるサイトがありますので、そちらを活用して作成してください。
Google などで「ロゴ 画像 無料」と調べると色々と出てきますので、利用してみましょう。
その際、画像ファイルの拡張子は png ファイルにして作成してください。ロゴ画像以外の部分が透明になります。

 なお、もう一度、ロゴ用の画像を作成する手順があります。

 画像にする文字列は Game Clear 、あるいはそれに近い、ゲームクリアが分かるニュアンスの文字列であればなんでも構いません。
平仮名でもカタカナでもいいですし、 You Win! のようなものでもよいです。

 作成した画像は Textures フォルダにドラッグアンドドロップして Unity にインポートしてください。
さらに UI フォルダや、GameClearSet フォルダなどを用意しておくと、管理がしやすくなります。

 Image コンポーネントの Source Image プロパティの部分にインポートした画像をドラッグアンドドロップしてアサインしてください。
画像が登録されて、SceneビューとGameビューに反映されますので確認します。

 その後、Raycast Target のスイッチを外してオフの状態にしてください。



 続いて、画像の位置とサイズを変更します。これについては任意です。
自分がユーザーの立場になってみて、見やすい位置とサイズに設定してください。
また、先の手順で、もう1つゲームリスタート用の画像の表示用ゲームオブジェクトも作成します。
そのため、あまり中央に設置にしてしまうと全体のバランスが難しくなりますので、後程、調整しましょう。

 最後に前のゲームオブジェクトと同じように Canvas Renderer コンポーネントの、Cull Transparent Mesh のスイッチをオンしてください。


インスペクター画像



Sceneビュー画像



Gameビュー画像



 以上で設定は完了です。


5.GameClearSet ゲームオブジェクトの子オブジェクトとして、imgRestartBackground ゲームオブジェクトを作成して設定を行う


 GameClearSet ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Image を選択します。
Image コンポーネントがアタッチされたゲームオブジェクトが新しく作成されますので、名前を imgRestartBackground に変更します。


ヒエラルキー画像



 imgRestartBackground ゲームオブジェクトはゲームリスタートを促す表示の背景表示を行うゲームオブジェクトです。


インスペクター画像



Sceneビュー画像



 続いて、imgRestartBackground ゲームオブジェクトの設定を行います。3つの手順がありますので、順番に設定していきます。



 Image コンポーネントの Color プロパティを選択して、色を黒(0, 0, 0)にして、Alpha の値を 65 前後に設定してください。
SceneビューとGameビューに反映されますので確認します。この画像はロゴの背景画像なので、
このように設定すると、画面のこの部分だけ色が変わり、この上に表示される画像が目立つようになります。

 その後、Raycast Target のスイッチを外してオフの状態にしてください。



 続いて、画像の位置とサイズを変更します。横幅(Width) については、画面の左右端まで広げてください。はみ出す位で問題ありません。
縦幅(Height) について任意です。あまり大きくなりすぎないようにしてください。

 最後に前のゲームオブジェクトと同じように Canvas Renderer コンポーネントの、Cull Transparent Mesh のスイッチをオンしてください。


インスペクター画像



Sceneビュー画像



Gameビュー画像



 以上で設定は完了です。


6.GameClearSet ゲームオブジェクトの子オブジェクトとして、imgRestart ゲームオブジェクトを作成して設定を行う


 GameClearSet ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Image を選択します。
Image コンポーネントがアタッチされたゲームオブジェクトが新しく作成されますので、名前を imgRestart に変更します。


ヒエラルキー画像



 imgRestart ゲームオブジェクトはゲームリスタートを促す表示の画像設定を行うゲームオブジェクトです。
手法としては、imgGameClear ゲームオブジェクトと同じで、 "Tap to Restart" というロゴを画像として作成し、それを Image コンポーネントに登録して利用します。
もしも、文字列として "Tap to Restart" と表示したい場合には、Image コンポーネントではなく、Text コンポーネントを利用してください。


インスペクター画像



Sceneビュー画像



 続いて、imgRestart ゲームオブジェクトの設定を行います。4つの手順がありますので、順番に設定していきます。



 "Game Clear" と同じように、 "Tap to Restart" という文字列をロゴ画像として作成し、それを Image コンポーネントに登録して利用します。

 画像にする文字列は "Tap to Restart" 、あるいはそれに近い、ゲームの再スタートが分かるニュアンスの文字列であればなんでも構いません。
平仮名でもカタカナでもいいですし、 "Retry Game" のようなものでもよいです。

 作成した画像は Textures フォルダにドラッグアンドドロップして Unity にインポートしてください。

 Image コンポーネントの Source Image プロパティの部分にインポートした画像をドラッグアンドドロップしてアサインしてください。
画像が登録されて、SceneビューとGameビューに反映されますので確認します。

 その後、Raycast Target のスイッチを外してオフの状態にしてください。



 続いて、画像の位置とサイズを変更します。これについては任意です。
自分がユーザーの立場になってみて、見やすい位置とサイズに設定してください。
事前に作成してある Game Clear の表示と全体のバランスを見ながら調整してください。

 3つ目は、前のゲームオブジェクトと同じように Canvas Renderer コンポーネントの、Cull Transparent Mesh のスイッチをオンしてください。

 最後に imgRestart ゲームオブジェクトを選択してインスペクターの一番下にある Add Component ボタンを押して、Canvas Group コンポーネントを追加します。
設定は不要です。


インスペクター画像



Sceneビュー画像



Gameビュー画像



 以上でこのゲームオブジェクトと、 GameClearSet ゲームオブジェクト全体が完成です。


7.<CanvasGroupコンポーネントの機能について>


 この機能は、CanvasGroup コンポーネントがアタッチされているゲームオブジェクトと、その子のゲームオブジェクトをグループ化するものですす。
これにより、グループ全体の透明度を変更したりすることができます。

 完成した GameClearSet ゲームオブジェクトには CanvasGroup コンポーネントがアタッチしてあります。
そのためこのゲームオブジェクトと、その子オブジェクトである各ゲームオブジェクトが1つのグループ化されます。

 GameClearSet ゲームオブジェクトのインスペクターから、CanvasGroup の Alpha(透明度)の値を操作してみてください
Alpha を操作した場合、オブジェクトがグループ化されているため、親の GameClearSet ゲームオブジェクトと一緒に、子要素も一緒に透明になったり、元に戻ったりします

 この機能を利用して、ゲーム開始時には GameClearSet ゲームオブジェクト全体を透明にしておいて
ゲームクリアの状態にあったときにまとめてすべてを一緒に表示するように制御を行います

 そのためには、CanvasGroup コンポーネントをスクリプト内で利用できる状態にする必要がありますので、
次の手順ではその制御方法を実装していきます。

Unity公式マニュアル
CanvasGroup
https://docs.unity3d.com/ja/2020.1/Manual/class-Ca...
TechProjin様
【Unity】Canvas Groupってこんなに便利だったのか…
https://tech.pjin.jp/blog/2017/03/20/unity_ugui_ca...


56.UIManager スクリプトの作成する。GameManager スクリプトと EnemyGenerator スクリプトを修正し、ボス討伐済のゲーム終了判定に伴い、ゲームクリア表示の制御処理を追加する

1.設計


 いままでもたくさんの設計手順を説明してきましたが、それらに共通していることがあります。何かわかりますか?
それは、ゴールとなる処理を決定してから、その最後の処理から順番に遡って実装を行う、という手順でロジックを組んでいるということです。

 今回の設計についても同じような方法で実装をしていきますので、処理の流れを考えてみましょう。

 実装したい内容としては、GameClearSet ゲームオブジェクトを見えない状態にしておいて、
ボスを倒したときに、GameClearSet ゲームオブジェクトが見える状態になって、ゲームクリアをユーザーに通知する、という一連の処理の流れです。

 設計には色々な方法があります。例えば、GameManager スクリプトに色々な処理を集約したり、
細かくクラスに分けて設計するようにしたりと、この考え方が複数ある部分がプログラムの楽しい部分であり、難しい部分でもあります。

 今回はゲームクリアの表示、それから先の手順で実装するゲームオーバーの表示を管理するためのクラスを UIManager スクリプトとして用意して、
そちらに命令を出すことによって、ゲーム画面にゲームクリアの表示やゲームオーバーの表示を行う設計にして考えていきます。

 現在の一連の流れをロジックにしてみます。

<ロジックの流れ>
 △1.GameManager スクリプトから UIManager スクリプトに命令を出して、GameClearSet ゲームオブジェクトを見えない状態にする
 〇2.ボス討伐したら、EnemyGenerator スクリプトから GameManager スクリプトに命令を出して、ゲーム終了の状態に切り替える
 △3.ボス討伐したら、EnemyGenerator スクリプトから GameManager スクリプトに命令を出して、ゲームクリアの準備を行わせる
 △4.GameManager スクリプトから UIManager スクリプトに命令を出して、GameClearSet ゲームオブジェクトを見える状態にする

 〇の部分は実装済です。残りの3つ△の部分を実装していきます。

 このとき、最初に実装を行うのは、△1のGameManager スクリプトの修正ではありません
何故なら、この処理では UIManager スクリプトがまだ存在していないため、処理を記述することが出来ないためです。
もしも記述してもエラーが出てしまってコンパイルが通りません。

 もうご理解されたと思いますが、このように、処理の最初から実装を行おうとすると、
足りない情報が多すぎて、実装を行うことが困難になるケースがほとんどです

 そのため、一連の処理をすべてロジックとして作成して、ゴールとなる処理を決定してから、
ゴールの方向からスタートの方向に処理を実装していくようにしています。

 今回の場合は△1と△4は同じスクリプトへの記述です。また、〇2と△3も同じスクリプトへの記述になります。

 そしてそれらの前提として、新しい UIManager スクリプトの作成が必要になりますので、
処理を作っていく順番としては、次のようになります。

<処理の実装順番>
 1.UIManager スクリプトを作成する。そのためには、UIManager スクリプトをアタッチするゲームオブジェクトを事前に作成しておく
 2.UIManager スクリプトを UIManager ゲームオブジェクトにアタッチして、設定を行い、ゲーム内で利用できる状態にする
 3.GameManager スクリプトを修正して、△1と△4の処理を追加する。UIManager スクリプトにはメソッドが用意してあるので処理が記述できる
 4.GameManager スクリプトを修正して、△3のための処理を追加する。
 5.EnemyGenerator スクリプトを修正して、△3の処理を追加する。GameManager スクリプトにはメソッドが用意してあるので処理が記述できる

 このような順番での実装になります。

 大切なことは、ロジックで考えた順番と実装の順番が同じになる必要はない、ということです。
処理の結果としてロジック通りに動けば問題がない訳ですから、必ずしも、実装する順番をロジックに合わせる必要はありません

 いままで実装してきた処理も見直しつつ、このことを念頭において、処理を作っていきましょう。


2.UIManager ゲームオブジェクトを作成する


 このゲームオブジェクトはUIの管理を行う UIManager スクリプトをアタッチするための役割を持つものです。
スクリプトによってUIの管理者としての振る舞いを与えられるようになりますが、プレイヤーやエネミーのようなゲーム画面に映すような情報ではありません。

 そのため、この UIManager スクリプト用のゲームオブジェクトは Canvas 内に設置する必要がありません
ヒエラルキーに存在していれば問題ないためです。



 ヒエラルキーの空いている場所で右クリックをするか、ヒエラルキーの下にあるプラスボタンを押してメニューを開きます。
Create Empty を選択し、空のゲームオブジェクトを1つ作成します。名前を UIManager に変更してください。

 Transform コンポーネントの Position を確認し、0 以外になっていたら、Reset を実行して、すべての Position の値を 0 に戻してください
(Canvas 外に作成しているので、RectTransform コンポーネントではなく、通常の Transform コンポーネントを持っています。)


ヒエラルキー画像



UIManager ゲームオブジェクト インスペクター画像



 以上でこのゲームオブジェクトは完成です。


3.UIManager スクリプトを作成する


 設計の処理の順番を確認しながら、このスクリプトに用意するべき情報や処理を考えて実装していきましょう。

  △1.GameManager スクリプトから UIManager スクリプトに命令を出して、GameClearSet ゲームオブジェクトを見えない状態にする
 △4.GameManager スクリプトから UIManager スクリプトに命令を出して、GameClearSet ゲームオブジェクトを見える状態にする

 このスクリプトには、2つの制御処理が必要になります。これらの処理はどちらも外部のスクリプト(GameManager スクリプト)より実行される命令になりますので、
public 修飾子を持つメソッドを2つ用意して、それぞれの処理の中に、GameClearSet ゲームオブジェクトの状態を制御する処理を記述します。

 GameClearSet ゲームオブジェクトには CanvasGroup コンポーネントがアタッチされていますので
この情報を利用できる状態にし、CanvasGroup コンポーネントの持つ機能を利用して、Alpha の値を操作する処理をそれぞれ記述するとよいでしょう。

 △1の見えない状態にする処理はゲーム実行と同時に呼び出される処理になりますので、すぐに Alpha の値を 0 に操作した方がよいですが、
△4の見える状態にする処理はすぐに Alpha の値を 1 にしてもよいですし、DOTween の機能を利用して徐々に Alpha の値を 0 => 1 に移動させてもよいです。
その場合は徐々にゲームクリアの表示が見えてくるようになる処理が実装出来ます。


UIManager.cs

<= クリックすると開きます


 スクリプトを作成したらセーブします。


4.<DOTweenの補間機能と実装例 −DOFade メソッド−>


 DOTween の機能の中には、特定のコンポーネントでのみ実行することが可能になっているメソッドがあります。
今回実装している DOFade メソッドもその1つです。

 これは CanvasGroup コンポーネントや、AudioSource コンポーネントなどの一部のコンポーネントでのみ実装が可能な機能です。

  // GameClearSet ゲームオブジェクトの透明度を徐々に 1 してゲームクリア表示
  canvasGroupGameClear.DOFade(1.0f, 0.25f);

 処理の記述内容としては第1引数に対象となる値、第2引数に、その対象の値になるまでにかける時間と、書式は同じです。
どちらも float 型での指定になります。
このとき、第1引数に設定できる情報が、CanvasGroup コンポーネントの場合には、Alpha の値に限定されます。
 
 そのため DOFade メソッドを利用すると、CanvasGroup コンポーネントの Alpha の値を第2引数で指定した時間をかけて
徐々に減少させたり、加算したりという処理が可能になります。

 ゲーム画面上ではどのようになるかというと、徐々にゲームオブジェクトが見えるようになったり、徐々に見えなくなっていくという処理が実装できます。
また、AudioSource コンポーネントに利用した場合には、徐々に音量が小さくなってく、徐々に大きくなっていく、という処理が実装出来ます。

 例えば、真っ黒なゲームオブジェクトにこの処理を利用すれば、真っ黒な画面が徐々に消えてゲーム画面が見えてくる、
いわゆる暗転の処理が実装出来るようになります。非常に便利な処理ですので活用してください。


5.UIManager ゲームオブジェクトに UIManager スクリプトをアタッチし、設定を行う


 作成した UIManager スクリプトを、ヒエラルキーにある UIManager ゲームオブジェクトにドラッグアンドドロップしてアタッチします。
アタッチしたら必ず対象のゲームオブジェクトのインスペクターを確認して、スクリプトがアタッチされていることを確認します。


UIManager ゲームオブジェクト インスペクター画像



 インスペクターを確認すると、UIManager スクリプトに canvasGroupGameClear 変数が表示されていますので、
こちらに対象となるコンポーネントがアタッチされているゲームオブジェクトをドラッグアンドドロップしてアサインしてください。


UIManager ゲームオブジェクト インスペクター画像



 以上でこのゲームオブジェクトは完成です。


6.GameManager スクリプトを修正し、UIManager スクリプトに用意したゲームクリア表示を行う制御を実行する処理を追加する


 設計のロジックに基づいて、△1と△4の処理を記述するためにはどのような処理をどの部分に記述すればよいか、
また宣言する変数は必要かどうか、処理の前後を考えてスクリプトを書いてみてください。


GameManager.cs

 <= クリックすると開きます


 スクリプトを修正したらセーブします。
GameManager ゲームオブジェクトのインスペクターを確認し、新しく public 修飾子で宣言した変数が表示されているか確認しておきます。


GameManager ゲームオブジェクト インスペクター画像




7.GameManager ゲームオブジェクトの設定を行う


 GameManager ゲームオブジェクトのインスペクターを確認すると、GameManager スクリプトに uiManager 変数が表示されていますので、
こちらに対象となるコンポーネントがアタッチされているゲームオブジェクトをドラッグアンドドロップしてアサインしてください。


GameManager ゲームオブジェクト インスペクター画像




8.EnemyGenerator スクリプトを修正して、TODO で記述しておいた GameManager スクリプトのゲームクリアの準備の処理を実行する処理を追加する


 設計に基づいて、△3の処理を記述していきます。〇2の処理は実装済ですので問題ありません。
 前の手順で、GameManager スクリプト側に EnemyGenerator スクリプト側から呼び出すメソッドの準備が完了していますので、TODO で記述していた部分を実装しましょう。


EnemyGenerator.cs

 <= クリックすると開きます。


 スクリプトを修正したらセーブします。


9.ゲームを実行して動作を確認する


 すべての処理が実装できましたので、ゲームを実行して制御ができているか確認しておきます。
ゲームを実行すると、GameClearSet ゲームオブジェクトが見えない状態になれば制御成功です。


<実装動画 .押璽爐鮗孫圓垢襪 GameClearSet ゲームオブジェクトが透明になって見えなくなる>
動画ファイルへのリンク


 つづけてボスを倒してみましょう。
GameClearSet ゲームオブジェクトが見える状態になれば、こちらも制御成功です。


<実装動画◆.椒垢鯏櫃垢 GameClearSet ゲームオブジェクトが透明ではなくなり見えるようになる>
動画ファイルへのリンク


 以上でこの手順は終了です。

 次は 手順27 −ゲームオーバー表示の作成と実装− です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

3Dトップビューアクション(白猫風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます