Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2019.11.06今回はユニティちゃんRPGでコマンド画面の作成と選択したキャラクターのステータスを表示するところを作っていきたいと思います。前回はユニティちゃんRPGで使用するキャラクターステータスデータとアイテムデータの作成を行いました。ユニティちゃんのRPGを作ってみよう9ーアイテムやステータス等のデータ作成ーユニティちゃんのRPGでアイテムやステータス等のデータの作成についてやっていきたいと思います。gametukurikata.com2019.11.05ユニティちゃんのRPGを作ってみようの他の記事はユニティちゃんのRPGを作ってみようユニティちゃんのRPGを徐々に作っていくカテゴリです。gametukurikata.comから見ることが出来ます。前回キャラクターのステータスをアセットファイルに設定したので、そのデータを取得して画面に表示するという事を行っていきますが、今回から処理が複雑になってきますので注意してください。やって注意するんだ!!というのはナシでお願いします。(^_^;)スポンサーリンクコマンド画面の作成キャラクターのステータスを表示する為にはコマンド画面を作成し、その中でステータスコマンドを選択できるようにしなければなりません。そこで最初にコマンド画面UIの作成を行いたいと思います。コマンドパネルの作成Villageシーンのヒエラルキー上で右クリックからUI→Canvasを選択し、名前をCommandとします。これはゲーム画面のサイズに合わせてUIのScaleを変化させる為です。ResolutionはXに1024、Yに768を設定しこの画面サイズを元にUIのScaleを調整します。Resolutionは適宜変更してください。ModeはExpandにし、UIが広がるようにします。Commandを選択した状態で右クリックからUI→Panelを選択し、名前をCommandPanelとします。CommandPanelのサイズを調整します。シーンビューでCommandPanelの四隅の矢印をShiftキーを押しながらドラッグし左上に表示されるようにします。今回は以下のような感じのサイズにしました。Groupを追加します。Groupを選択します。ExpandのWidthとHeightにチェックを入れて子要素のコマンドボタンを強制的に広げるようにします。Groupを取り付けます。Groupはコマンドを選択していった時にパネル毎に選択出来たり出来なくしたりの切り替えで使用します。Groupのinteractableのチェックを外すとマウスで選択したりフォーカスの移動等が出来なくなります。Groupのinteractableの値を操作し、パネル毎に選択の可・不可を切り替えます。CommandPanelを選択した状態で右クリックからUI→Buttonを選択し、名前をStatusButtonとします。StatusButtonのインスペクタでWidthに150、Heightに50を設定します。Imageのチェックを外すかコンポーネント自体を削除しボタンの背景は使わないことにします。ButtonのTransitionをNoneにし、マウスが上に来た時やボタンの移動等をしてもボタン自体のアニメーションはしないことにします。その代わりにボタンが選択された時はボタンの横にアイコンを表示しわかりやすくします。StatusButtonを選択した状態で右クリックからUI→Imageを選択します。Imageはボタンの横に表示されるように移動させます。Imageを設定します。SizeやAlignmentを変更し、Colorでテキストの色を変更します。これで最初のCommandを表示する部分が出来ました。ステータスを表示するキャラクター選択パネルStatusButtonを押した時に次はどのキャラクターのステータスを表示するかを選ぶ必要があります。Commandを選択した状態で右クリックからUI→Panelを選択し、名前をSelectCharacterPanelとします。Groupコンポーネントを取り付けます。Groupのinteractableのチェックは外しておきます(SelectCharacterPanelの子要素のUIを操作させない)。SelectCharacterPanelはCommandPanelと近接して作成しました。パネルの表示位置やサイズ等は同じにする必要はありません。キャラクターのステータスを表示するパネル最後にキャラクターのステータスを表示するパネルを作成します。Commandを選択した状態で右クリックからUI→Panelを選択し、StatusPanelという名前にします。StatusPanelの子要素にPanelを作成し、名前をCharacterNamePanelとし、その子要素にTextを作成します。StatusPanelの子要素にPanelを作成し、名前をStatusParamPanelとし、その子要素にTextを4つ作成します。Textの名前はTitle、Param1、Division、Param2とします。Sizeは25にします。StatusPanelの階層は上のようになります。StatusPanelの領域は上のような感じで領域を分けました。StatusParamPanelの4つのTextではAlignmentをそれぞれ変えます。Titleは左寄せの上から表示Param1は右寄せの上から表示DivisionはTextに最初の行に空の文字、次の行に/を書いて改行し、/を書きます。最大HPという表示にする為です。Divisionは真ん中の上から表示Param2は右寄せの上から表示とします。これでコマンドの選択パネルとキャラクターの選択パネル、ステータス表示パネルが出来ました。コマンド処理スクリプトの作成コマンドのUIが出来たので次はコマンドの画面を表示したりボタンが押された時の処理を行うスクリプトを作成していきます。コマンド画面を開くスクリプトの作成まずはAssets/RPG/Scriptsフォルダの中に新しくUnityChanCommandScriptスクリプトを作成します。UnityChanCommandScriptスクリプトはMenuボタンを押した時にコマンド画面を開く処理とコマンド画面を閉じる処理を記述しています。{EventSystem.current.SetSelectedGameObject(null);unityChanScript.SetState(UnityChanScript.State.Normal);}}LoadSceneManager型のフィールドを用意しシーンの遷移処理をしているスクリプトを保持するようにします。LoadSceneManagerは後で変更しますが、シーン遷移途中にコマンド画面が開いてしまうと困るのでシーン遷移途中ではコマンド画面を開けないようにします。その為LoadSceneManagerスクリプトではシーン遷移中かどうかのフラグ(isTransition)を用意し、UnityChanCommandScriptからその値を調べてコマンド画面を開くかどうかを決めます。シーン遷移中やユニティちゃんが会話の途中だった場合はreturnを実行し、その後の処理をしません。これは会話途中にコマンド画面が開くと困るからです。Menuボタンを押したらCommandがアクティブの時はUnityChanScriptスクリプトのSetStateメソッドを呼び出してユニティちゃんをCommand状態に変更します。CommandがアクティブでなければExitCommandメソッドを呼んで選択しているボタンを解除し、ユニティちゃんの状態をNormal状態に変更します。現時点ではエラーが起きているので修正を加えていきます。LoadSceneManagerとUnityChanScriptスクリプトの修正UnityChanCommandScriptからユニティちゃんの状態を変更したりシーン遷移中かどうかを調べる必要が出たのでその処理を追加します。UnityChanScriptスクリプトに処理を追加UnityChanScriptに新しくCommand状態を作成します。State{Normal,Talk,Command,Wait}次にUpdateメソッド内でCommandの時の処理を追加します。UnityChanScript内では特に何もしないので空白のままです。{状態変更メソッド内を変更します。Command状態にする時は移動速度を0にするのとアニメーションパラメータのSpeedを0にしているだけです。他の状態とやっていることが同じなのでまとめて処理をしたいところですが、今後処理を分ける可能性もあるのでとりあえずそのままにしておきます。0f);}}LoadSceneManagerスクリプトに処理を追加LoadSceneManagerに処理を追加します。シーン遷移中かどうかを表すisTransitionフィールドを用意します。isTransition;GoToNextSceneメソッドが呼び出されたらisTransitionにtrueを入れます。true;sceneMovementData.SetSceneType(scene);StartCoroutine(FadeAndLoadScene(scene));}新しくIsTransitionメソッドを用意しisTransitonの値を確認出来るようにします。isTransition;}エラーが消えたと思いますので、UnityChanゲームオブジェクトにUnityChanCommandScriptを取り付けます。UnityChanゲームオブジェクトのインスペクタでUnityChanCommandScriptのCommandUIにCommandゲームオブジェクトをドラッグ&ドロップして設定しておきます。次はUnityChanCommandScriptでコマンド画面を開いた後のコマンド処理を行うCommandScriptスクリプトを作成します。処理が分かり辛いので細かく作成していきます。フィールド宣言部まずはフィールドの宣言部分です。Stack<GameObject>();}CommandModeは今現在コマンドがどの状態なのかを表す列挙型です。CommandPanelはコマンドパネルを開いた状態、StatusPanelSelectCharacterはどのキャラクターのステータスを見るかの選択パネルを開いた状態、StatusPanelはキャラクターのステータスを表示している状態です。currentModeはその状態を入れておくフィールドです。firstSelectButtonはコマンド画面を開いた時に最初に選択状態にするボタンを設定します。commandPanel、statusPanel、selectCharacterPanelは先ほど作ったパネルを設定します。Groupの保持し、状況に応じてinteractableの値を切り替えます。characterNameTextはCharacterNamePanelの子要素のText、statusTitleTextはStatusParamPanelのTitle、statusParam1TextはParam1、statusParam2TextはParam2を設定します。PartyStatus型のpartyStatusフィールドはパーティーに関するステータスを保持するアセットファイルを設定します。これは後で作成します。characterPanelButtonPrefabはSelectCharacterPanelの子要素に表示するボタンのプレハブでパーティーメンバー数分のインスタンスを生成することになります。これも後で作成します。Stack型のselectedGameObjectStackは新しいパネルを開いてCancelボタンを押して前の画面のパネルに戻る時に前のパネルで選択していたボタンを選択する為に使用します。StackはPushでデータを入れ、Popで取り出しますが、最後に入れたものからPopで取り出せるので最後に選択したゲームオブジェクトから取り出せます。StackについてはC#のStackを使用してみるC#のStackをUnity付属のMonoDevelopを使用して勉強していきます。gametukurikata.com2017.12.07を参照してください。今回はステータスコマンドしかないですが例えばアイテムコマンドを作成した場合にアイテムコマンドの選択→どのキャラクターのアイテムを表示するかのパネル→ユニティちゃんの持っているアイテム表示パネルと開いてCancelボタンを押して「どのキャラクターのアイテムを表示するかのパネル」に戻った時にユニティちゃんのボタンを選択した状態にする為です。Awakeメソッド次にAwakeメソッドを追記します。Awakeメソッドはスクリプトが設定されたゲームオブジェクトがアクティブになった初めの1回だけ実行されます。statusPanel.transform.Find("StatusParamPanel/Param2").GetComponent<Text>();}unityChanCommandScriptはGameObject.FindWithTagを使ってPlayerタグを設定したUnityChanを探し、そこから取得しています。その他は現在のコマンドの設定や自身(Command)のから階層を辿ってゲームオブジェクト、CanvasGroup、Text等を取得する処理を記述しています。OnEnableメソッドOnEnableメソッドはゲームオブジェクトがアクティブになった時に実行されます。false;EventSystem.current.SetSelectedGameObject(firstSelectButton);}OnEnableが呼び出されるのはCommandゲームオブジェクトがアクティブになった時なので、コマンド画面を最初に開いた状態の時に実行されます。初期化処理を実行しています。SelectCharacterPanelでキャラクターを選択するボタンをプレハブからインスタンス化して表示しますが、Cancelボタンを押したり、コマンド画面自体を閉じた時にインスタンス化したボタンが残っていると困るので、SelectCharacterPanelの子要素がある場合は削除しています。子要素の最初の要素から削除するとうまく処理が出来ません。0番目の要素を削除すると1番目の子要素が0番目になるからです。SelectCharacterPanelの最後の子要素から削除しています。selectedGameObjectStackは次のパネルを開いた時に前のパネルで選択していたゲームオブジェクトを登録しているフィールドなので、新しくコマンド画面を開いた時はClearメソッドを使って中身を削除しています。Panelだけを選択出来るようにします。Groupのinteractableはfalseにします。EventSystem.current.SetSelectedGameObjectメソッドを使って最初に選択するゲームオブジェクトを設定しています。UpdateメソッドUpdateメソッドを追記します。CommandMode.CommandPanel;}}}UpdateメソッドではCancelボタンを押した時の処理を記述しています。キャンセルボタンを押した時に現在どのコマンドの状態なのか?を調べて処理を分岐させます。CommandMode.CommandPanelの時はCommandPanelを開いたばかりの状態でCancelボタンを押したのでコマンド画面を閉じます。コマンド画面を閉じる時はUnityChanCommandScriptのExitCommandメソッドを呼んでユニティちゃんの状態を変化させます。CommandMode.StatusPanelSelectCharacterもしくはCommandMode.StatusPanelの時はCommandPanel状態に変化させる為の処理を記述しています。Groupを有効にしたり、作成したキャラクター選択ボタンの削除をしています。CommandPanelに戻る時はCommandPanelで最後に選択していたゲームオブジェクトがStackのselectedGameObjectStackに入っているのでPopしてそのゲームオブジェクトを選択状態にします。SelectCommandメソッドSelectCommandメソッドはStatusButtonを押した時に実行させるようにします(後で設定します)。true;EventSystem.current.SetSelectedGameObject(selectCharacterPanel.transform.GetChild(0).gameObject);}引数で受け取った文字列がStatusだった時に現在のコマンドを変更し、現在選択しているゲームオブジェクトをselectedGameObjectStackにPushします。その後partyStatus.GetAllyStatusメソッドでパーティーメンバー数分のボタンを作成しSelectCharacterPanelの子要素に配置します。作成したボタンの子要素のTextを取得しそこにキャラクター名を入れます。作成したボタンのonClickにイベントリスナーを取り付けボタンが押されたらShowStatusメソッドにキャラクターステータスを渡して呼び出します。ShowStatus(member));の部分です。引数はラムダ式で記述していますので、ラムダ式ってなんだ?と思った方はC#でデリゲートとラムダ式を使ってみるC#のデリゲートとラムダ式をUnity付属のMonoDevelopで使用してみます。gametukurikata.com2017.10.16を参照してみてください。selectCharacterPanel.transform.SetAsLastSibling();123selectCharacterPanel.transform.SetAsLastSibling();上の部分でSelectCharacterPanelを階層の一番最後に並び替えています。することでSelectCharacterPanelと他のパネルが重なって見えづらくなっていてもSelectCharacterPanelが一番手前に表示され見えやすくなります。キャラクター選択ボタンを作成したら子要素の0番目(一番最初の子)を選択状態にします。ShowStatusメソッド先ほどのcharacterPanelButtonPrefabから作成したインスタンスのボタンがクリックされた時に呼び出していたのがShowStatusメソッドです。引数ではキャラクターのステータスを受け取っています。text;}やっていることは単純で受け取ったAllyStatusのデータから該当するデータを取得し、それをStatusParamPanelの子要素のTitle、Param1、Param2に代入し表示しているだけです。毒と痺れ等の状態異常は持っている状態異常を連結させて表示する為に条件分岐をしています。装備している武器と装備している鎧はNullの可能性があるのでちょっと工夫をしています。0;上の部分ではまずallyStatus.GetEquipWeapon()で装備している武器を取得し、GetAmout()でその武器の強さを取得しています。?.GetAmount()はNull条件演算子でNullではなければallyStatus.GetEquipWeapon().GetAmount()の値を取得し、NullだったらNullを返します。その後の??はNull合体演算子でallyStatus.GetEquipWeapon()?.GetAmount()がNullだったら??の後の0の値を取得し、NullじゃなければallyStatus.GetEquipWeapon().GetAmount()の値を取得します。結果としてallyStatus.GetEquipWeapon().GetAmount()がNullじゃなければallyStatus.GetEquipWeapon().GetAmount()、Nullだったら0を入れます。ここら辺はちょっとわかりずらいので普通のif文を使った処理で書いても問題ありません。allyStatus.GetEquipWeapon().GetAmount();}のような感じです。スクリプトを作成した時点ではPartyStatusを作っていないのでエラーが発生します。パーティーステータスの作成パーティーステータスはScriptableObjectクラスを継承してアセットファイルとして作成します。作り方は前回の記事でやった事と同じなので同じように作成してみてください。Assets/RPG/Scripts/Statusフォルダ内に新しくPartyStatusスクリプトを作成します。partyMembers;}}パーティー全体のステータスなので、持っているお金とパーティーメンバーのステータスを保持するListを持たせています。SetAllyStatusメソッドではパーティーメンバーに登録されていなければメンバーにキャラクターのステータスを登録します。Assets/RPG/Data/Statusフォルダ内で右クリックからCreate→CreatePartyStatusを選択します。作成したPartyStatusには前回作成したUnityChanStatusとYujiStatusのアセットファイルを追加します。これでPartyStatusが出来ました。CharacterButtonの作成SelectCommandメソッド内でパーティーメンバー数分のボタンをプレハブからインスタンス化する処理を記述しましたが、そのプレハブをまだ作っていませんでした。SelectCharacterPanelを選択した状態で右クリックからUI→Buttonを選択し、名前をCharacterButtonとします。CharacterButtonのインスペクタでWidthを200、Heightを50にします。Imageは使わないのでチェックを外すかコンポーネントを削除します。Buttonのアニメーションは行わないのでTransitionはNoneにします。CharacterButtonを選択した状態で右クリックからUI→Imageを選択します。StatusButtonを作成した時と同じようにボタンが選択されたら表示するアイコンがImageになります。Sizeを25にし、ColorをしろいろImageの位置を調整しボタンの左側に来るようにします。上のような感じの位置にしました。Assets/RPG/Scriptsフォルダ内に新しくCommandPanelButtonScriptスクリプトを作成し、CharacterButtonに取り付けます。false;}}ISelectHandlerとIDeselectHandlerインターフェースを継承して作成します。これらはOnSelectメソッドとOnDeselectメソッドを実装する必要があります。OnSelectメソッドはボタンが選択された時に呼び出され、OnDeselectメソッドはボタンの選択が解除された時に呼び出されます。このスクリプトが行っていることは単純で、CharacterButtonボタンの子要素のImageゲームオブジェクトのImageコンポーネントをselectedImageに保持し、ボタンが選択された時はそれを表示し、選択解除された時に非表示にしているだけです。Awakeメソッドではコンポーネントの取得を行っています。OnEnableメソッドではボタンが表示された時にEventSystemで現在選択されているのが自身だったらアイコンの表示、そうじゃない場合は非表示にしています。Awakeメソッドで似たような処理を記述していましたが、なぜかWorldMapシーンだとうまくいかない為OnEnableメソッドで処理をするようにしました。Sourceを取り付けます。Sounds」で検索しボタン選択時の効果音をインポートします。Soundsを設定します。Awakeのチェックを外し自動で音声を再生しないようにします。CharacterButtonは以下のようになりました。ClickにShowStatusメソッドを実行するように設定したので問題はありません。ここまで出来たらAssets/RPG/Prefabs/UI/Commandフォルダ内にCharacterButtonゲームオブジェクトをドラッグ&ドロップしプレハブにします。ヒエラルキー上のCharacterButtonはいらないので削除してください。CommandのCommandScriptの設定CommandゲームオブジェクトにCommandScriptを取り付けます。CommandのCommandScriptのインスペクタでpartyStatusとcharacterPanelButtonPrefabを設定します。partyStatusはAssets/RPG/Data/Status/PartyStatusを設定し、characterPanelButtonPrefabにはAssets/RPG/Prefabs/UI/Command/CharacterButtonを設定します。StatusButtonを押した時に呼び出すメソッドの設定StatusButtonを押した時に初めてキャラクターの選択パネルを開きます。StatusButtonを押したらCommandScriptスクリプトのSelectCommandメソッドに実行するコマンドの文字列を渡して実行する必要があります。ClickでCommandをドラッグ&ドロップして実行するメソッドにSelectCommandを指定し、文字列にStatusと入力します。StatusButtonを選択した時や選択を解除した時もCharacterButtonと同じようにアイコンに表示や非表示を行いたいので、StatusButtonにもCommandPanelButtonScriptを取り付けておきます。Soundsを設定します。Awakeのチェックを外し最初から音が鳴らないようにします。CancelボタンとMenuボタンの設定変更コマンドを表示するボタンにMenuを指定し、元のパネルに戻る時はCancelボタンを指定しました。ボタンを押す時はSubmitボタンになるのでSubmitボタンも変更します。Settings→Inputでボタンの設定を行います。Submitボタンの設定にActionボタンと同じPS3の〇ボタンを押した時と同じ設定を追加します(使用するコントローラーによって変わります)。Positiveにも同じ設定をします。PositiveはPositiveの二つ目の設定です。次はCancelボタンです。PS3の×ボタンを押した時の設定を追加します。次はMenuボタンです。Menuボタンは以前作成しましたが、キーボードとマウスで操作する場合のキーボードの設定をしていなかったので、設定を追加します。Positiveに1を入力し、キーボードの1キーが押されたらコマンド画面を開くようにします。コマンド画面の初期状態の設定コマンド画面のUIが少し複雑になりましたが、ここでコマンド画面のアクティブと非アクティブの設定をしておきます。Command、SelectCharacterPanel、StatusPanelはインスペクタで名前の横のチェックを外し非アクティブにしておきます。CommandPanelはインスペクタでチェックし、アクティブな状態にしておきます。コマンド画面の確認コマンド画面とステータスの表示機能が出来たので確認してみましょう。上のようになりました。終わりに今回はCommandをVillageシーンにしか配置していないのでシーンを遷移するとコマンド画面が開きません。WorldMapシーンのUnityChanにUnityChanCommandScriptを取り付け、VillageシーンのCommandを複製してWorldMapシーンに移動させた後にUnityChanCommandScriptのcommandUIをWorldMapのCommandに変更します。すればWorldMapシーンでも同じようにコマンド画面を開くことが出来ます。・・・この後アイテムコマンド等も追加していくのでそれが作り終わったらWorldMapシーンでもコマンド機能が使えるようにしていきます。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう3ー村の作成ーユニティちゃんのRPGでTerrainを使って村の作成をしていきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう17ー戦闘シーンへのフェードエフェクトの作成ーユニティちゃんRPGでワールドマップシーンから戦闘シーンへと遷移する時のフェードエフェクトをシェーダースクリプトを使って作成していきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう20ー戦闘シーンにキャラクター名、HP、MPを表示するーユニティちゃんのRPGで戦闘シーンにキャラクター名、HP、MPを表示する機能を作成します。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう19ー戦闘シーンのキャラクターのAnimatorControllerを作成するーユニティちゃんRPGで戦闘シーンのキャラクターのAnimatorControllerを作成していきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう15ーワールドマップで敵に遭遇するーユニティちゃんのRPGでワールドマップをユニティちゃんが歩いていたら一定の時間内で敵と遭遇するというエンカウント機能を作成していきます。ユニティちゃんのRPGを作ってみようユニティちゃんのRPGを作ってみよう2ー移動キーを押した時にユニティちゃんを動かすーユニティちゃんのRPGで移動キーを押した時にユニティちゃんが動くようにしていきます。ユニティちゃんのRPGを作ってみよう9ーアイテムやステータス等のデータ作成ーユニティちゃんのRPGを作ってみよう11ーアイテムコマンドの作成ーホーム作ってみようシリーズユニティちゃんのRPGを作ってみようスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。