7080 + 1

ゲームプログラミングの記事を書いてます。

2022-01-01から1年間の記事一覧

【Unity】GameObjectを配置せずに、オブジェクトを描画する【RenderMesh】

突然ですが、以下の画像を見てください。 シーンに赤い立方体が10個存在しているなんてことないシーンですが、ヒエラルキーには GameObject が3つしかありません。 どういうことでしょうか?? Graphics.RenderMesh Unity で何かキャラクターなどの3Dモデル…

【Unity】Gizmoの表示非表示をスクリプトから操作する【Annotation】

Gizmo の表示非表示は、シーンビュー右上のアイコンからそれぞれ表示したいものにチェックを入れることで制御可能です。 いつからから検索もできるようもなり、さらに便利になりました。 が、これを1つずつ手作業でやるのは大変です。 スクリプトから制御で…

【Unity】矩形の空間を定義、シーン上でいじれる処理を書いてみる【BoxBoundsHandle】

ゲームを作っていると、ゲーム空間の中にエリアを定義したくなることがあると思います。 今回はそれをシーン上で調整できるようにする BoxBoundsHandle を紹介します。 とりあえずシーンに矩形を描画してみる 単純にシーン上で範囲を表すために図形を描画し…

【Unity】インスペクタ拡張で元のスクリプトを表示する

何もインスペクタ拡張をしていない場合、コンポーネントにはそのスクリプトが ObjectField で表示されます。 これをクリックするとスクリプトの場所を教えてくれるため、意外と便利です。 public class Example : MonoBehaviour { [SerializeField] int exam…

【Unity】UIToolKitの機能だけでスマホみたいなフッターUIを作ってみる

UIToolKit の勉強中です。 UIToolKit は HTML+CSS を参考に作られています。 なので「既存の HTML+CSS の動画とか参考にすればいい感じのUIを作れるのでは?」と思いました。 できたのがこんな感じのスマホのようなフッターUIです。 参考動画は HTML+CSS で…

【Unity】タブUIを実装してみる【UIToolkit】

最近 UIToolKit を勉強しています。 PlayMode 中での実装例もちょこちょこ聞くようになってきて、そろそろ IMGUI から卒業するための準備をしないとまずいかもと思っているからです。 これとか→UI Toolkitを使用したランタイムツールの開発事例紹介 - YouTub…

【Unity】配列のラベルを型名に変更するPropertyAttribute

Unity では、配列や List をシリアライズ可能な形で定義すると、インスペクタ上で配列の要素を追加したり削除したりできるようになって便利です。 Unity2021 あたりからは、自動的に ReorderableList になったので並び替えも簡単になり、さらに便利になりま…

【Unity】エディタのデバッグモードを常に有効にする

問題点 Unity で作業をしていると、当然ですが、デバッグ作業が必要になってくると思います。 VisualStudio や Riderなどの IDE でデバッガーを起動して、ブレイクポイントを仕込んだりして挙動を見ると思います。Unity2020 か 2021 あたりから、エディタ上…

【Unity】シーンの変更の破棄をスクリプトから実行する

Unity で変更のあったシーンファイルは、シーン名の横にアスタリスクがついて、変更があることを教えてくれます。 この時、右クリックで出るメニューの「Discard Changes」を実行することで、保存されていない変更をすべて破棄することができます。 スクリプ…

【Unity】特定のシーンなど、保存させるアセットを限定する

Unity で作業をしているとき、基本的には Ctrl+S で作業内容を保存するかと思います。 これは編集中のアセットから今開いているシーンまですべて保存します。 これだと困ることがたまにあって、例えば特定の ScriptableObject を編集していて保存したとき、…

【Unity】Timelineのヘッドを手動で動かしたときだけ処理を仕込む【Timeline】

やりたいこと Timeline の現在時間は PlayableDirector.time で取得することができます。 が、この値が普通に Timeline を再生して動いたのか、それとも手動で Timeline のヘッドを動かしたから動いたのかを区別することはできません。 (あるかもしれないけ…