【Unity】Boltの名前がUnity2021からVisual Scriptingになったのよ
Unity2021からBoltが「Visual Scripting」と名前が変わり、エディタに同梱される形になりました。すぐに使えるようになっていて嬉しいですね。ビジュアルスクリプティング自体がゲームみたいな感じなので、楽しんでゲームの動きを作っていくことができます。
あなたのゲームをいち早く完成させるための研究所
Unity2021からBoltが「Visual Scripting」と名前が変わり、エディタに同梱される形になりました。すぐに使えるようになっていて嬉しいですね。ビジュアルスクリプティング自体がゲームみたいな感じなので、楽しんでゲームの動きを作っていくことができます。
Debug.Logなどのメソッドでは、引数のstringに対してリッチテキストのタグをつけることで色を変更するなどの便利機能があります。このページではその機能を遊び方向に使ってゲーミングコンソールウィンドウを表現してみたいと思います。たまには無駄を楽しむのも良いですね(ご満悦)
Debug.Logでメッセージを出力する際、大量のメッセージがあると必要な部分の判別が難しくなります。そんな時にはリッチテキストのタグを使って色分けすると必要な情報が見分けやすくなり、ゲームのデバッグサイクルが高速化するのでおすすめです。
タイトル通りではありますが、テクノピクセルさんと一緒に作っている「Minable&Create/ミナクリ」がTGS(東京ゲームショウ)2021に出展します。インディーデベロッパーの作品が並ぶ選考出展となっているので、この機会にぜひ遊んでみてください!
テクノピクセル様と開発している2Dサンドボックス系ゲーム「Minable&Create/ミナクリ」のデモ版がリリースされました! デモ版は無料で遊べるので、まずはゲームの雰囲気がどんな感じかお気軽に試してみてください。このページではSteamのアカウントの作成方法から解説しているので、遊べるようになるまでサポートします。
遊んでいるゲームの中で今何が起きているのかをプレイヤーに伝えるのは大切です。特にプレイヤーが操作した結果どうなったかをちゃんと伝えることで、ゲームへの没入度も変わってくるため、フィードバックの導入を検討するとグッド。
ソフトウェアの開発方法としてプロトタイピングという方法があります。試作品を素早く作り上げてユーザーのフィードバックを早い段階で得ることにより、ユーザーの感覚に基づいてゲームの完成度を上げていくサイクルを早く回すことができます。
最近作っていた2Dのサンドボックス系アクションRPG「Minable&Create/ミナクリ」をSteamで早期アクセス版としてリリースしました! マイクラが好きな人やRPGツクールで地形を作るのが好きな人におすすめのゲームなのでぜひ遊んでみてください!
オブジェクト指向プログラミングの本を読んでいると、最初の頃の章でカプセル化とか隠蔽が出てきます。のっけから初心者の心理的なハードルを上げる言葉が並べられて当時は辛かったのですが、あの頃の気持ちを思い出しつつ自分の言葉でまとめようと頑張った記事がこちらになります。ご査収のほどよろしくお願いします。
C#でアクセシビリティレベルを表現するために使うアクセス修飾子を紹介しています。このうちpublicについてはUnityで特別な位置付けにあるので、C#での扱いとUnityでの扱いの両方を加味して選択するとグッド。
Unityで使っているC#はオブジェクト指向のプログラミング言語で、継承やオーバーライドの機能を上手く使えると効率よくコーディングできます。この記事では本当に導入レベルの話をしていて、キーワードの紹介に近いので他のページも一緒に参照するといいかもしれません。
何をもって「あるべき姿」とするかを事前に明確にしておくのが大事です。システム的な「あるべき姿」だったら設計書や仕様書にあるものがそうですし、ゲーム的な「あるべき姿」だったら、このゲームを遊んだ時にユーザーさんにどうなっていて欲しいのかを言葉にしておくと良いと思います。
TransformクラスのSetAsFirstSiblingなどを使うことでHierarchyウィンドウで親オブジェクト内の順番を変更することができます。UIの場合はHierarchyウィンドウでの順番が描画順に影響してくるのでたまに意識してみると良いかも。
thisキーワードを使ってそのインスタンス自身を表す、というのは最初はよく分かっていなかったのですが、使ってみると便利でした。特にフィールドに値をセットしたい時にはthisを使ってフィールドであることを分かりやすくするのも大切ですね。
Hierarchyウィンドウではゲームオブジェクト間で親子関係を設定することができます。適切に親子関係を設定しておくことで、Hierarchyウィンドウから情報を確認しやすくなり、開発やテストのスピードが向上します。スクリプトから親子関係を設定する場合はTransformのSetParentメソッドを使うのが便利なので、これをマスターしましょう。
パーリンノイズを使ってなだらかに高さが変化する地形オブジェクトを生成する機能をエディタから使えるようにしました。インスペクターウィンドウに表示されたボタンをクリックすることでシーン内に地形オブジェクトを生成してくれます。ライトのベイクをしたい時には事前にオブジェクトを生成しておく必要があったのでこの形でも実装してみました。
このブログで扱っているパーリンノイズに関する記事をまとめています。一部を見てもらうだけでもいいですし、どんな点で気をつけないといけないのかといった課題についても潤を追って対応しているので流れをおってもらってもいいかもしれません。
このページでは主にゲーム全体で使いたい設定値、定義値をstaticなクラスに記載する際、constとstatic readonlyのどちらを使った方がいいかなーという点を出発点に、コンパイル時定数と実行時定数の違いを掘り下げています。
UnityではMonoBehaviourを継承したクラスを作ることが多いですが、これ以外にもいわゆるC#で作成するような通常のクラスを作成して使っていくことで柔軟にコーディングできます。また、staticなクラスも適切に使っていくことで、ゲーム内のデータを保持したり設定値や定義値を保持することもできます。
パーリンノイズを使って自然に変化する値を計算し、TerrainのHeightMap(ハイトマップ)として設定します。Terrainは画面から操作するものと思っていましたが、スクリプトからも値を設定できるので便利です。