1.5 Unity ゲーム開発を 0 から学ぶ - 最初のオブジェクトを作成する

正式にコードを書き始める前に、Unity 開発の基本的なワークフローを理解する必要があります。他のチュートリアルとは異なり、目標を達成する方法に重点を置くので、コードを書くことに限定されず、ゲームの計画も行う必要があります。そうしないと、コードを覚えるだけでは全体像を理解することができません。

自分に目標を与える

まずは自分が見たいコンテンツを目標として設定します、初心者なのでゲーム内に何か表示させたい、何でも良いです、プレイヤーコントロールをサポートする必要はありません。

シーンを作成する

新しいプロジェクトには自動的にシーンが含まれていますが、全体を理解するためにシーンは使用しません。これを行う前に、Unity によるゲーム世界の分割を理解する必要があります。

ゲーム開発の過程では、N 個のマップ、N 種類のゲームプレイなど、ゲーム コンテンツがますます増えていく可能性があります。単純な価値観では、これらは各人が責任を負うように、コンセプトによって分割する必要があると考えられています。マップの開発またはゲームは、一度に 1 つのマップのリソースのみを読み込みます。

このような概念に基づいて、Unity にはゲーム シーンという概念が組み込まれています。シーンとはシーンの訳であり、上記のマップがシーン、ゲームプレイがシーンとなります。プログラマーにとって、Scene は実際にはクラスであり、コンテンツを運ぶためにこのクラスにいくつかの新しいメンバーを追加できます。初期のゲーム エンジンであれば、もちろんこれらの機能を実現するコードを書くことができます。

コード内で新しい Scene インスタンスを作成する必要があることがわかりました。従来の C++ では、新しい Scene が作成されますが、ここからの Unity の操作は異なります。新しい Scene の作成は、次のリソース ファイルの新しい作成に依存します。 「Scene」と入力します。リソース ファイルは明らかにプロジェクト ウィンドウによって管理されるため、プロジェクト ウィンドウ内の任意のディレクトリを右クリックし、[作成]->[シーン] を選択します。

シーンタイプのリソースを作成する

私はこれを Assets ディレクトリに直接作成しました。Demo という名前です。

私たちが作成するのは実際にディスク上に存在するファイルであり、コードを記述する代わりにこの種のリソース作成が将来的にはエンジン内に溢れることになることがわかります。これも最新のエンジン ワークフローの特徴の 1 つです。 。

オープンシーン

作成が完了したら、直接ダブルクリックして開くことができます (もちろん、エンジンのプロジェクト ウィンドウの下でダブルクリックします)。その後、Unity が開きます (事前にプロジェクトのデフォルトのシーン コンテンツを変更していた場合)保存しなかった場合、デモ シーンを開きます。保存するかどうかを尋ねるプロンプトが表示されます。必要に応じて選択できます)。[階層] ウィンドウで、このツリー ノードのルートの名前が次のように変更されていることがわかります。デモであり、アイコンはシーン リソース ファイルのアイコンに非常に似ています。

ここで、現在開いているシーンがデモであることを確認できます。

つまり、Hierarchy ウィンドウは実際にはシーン自体のコンテンツを表します。

シーンにはデフォルトで独自のファイルが付属しています

このデモの下にはメインカメラと指向性ライトがあることがわかります。

これは、Unity で最初に遭遇した暗黙のルールです。つまり、シーンが作成されます。3D ゲーム プロジェクトを選択したため、Unity は、これら 2 つのものが基本的に必要なものであり、基本的にこれらであるとデフォルトで設定します。

ただし、最初にこれら 2 つの役割を無視しましょう。ここでは、エンジン内の暗黙のルールがいたるところに存在するということを簡単に言います。学習を開始するときは不快かもしれませんが、理解した後は受け入れることができます。

シーン内で最初のものを作成する

私たちの目標を思い出してください。表示されるオブジェクトを作成する必要があります。Unity でシーンを作成する理由は、表示する必要があるすべてのコンテンツが、現在表示しているシーンに含まれるオブジェクトに基づいているためです。対処する。

したがって、Demo シーンで独自のオブジェクトを作成する必要があります。

上でも述べましたが、シーンの作成後にデフォルトで 2 人の男性が追加されますが、最初は無視してください。

[プロジェクト] ウィンドウでリソース プロジェクト レベルのリソースを作成するのと同様に、シーン内のこのシーンに属するリソースを作成する必要がある場合は、ウィンドウを右クリックする必要もあります。前述したように、[階層] ウィンドウには次のコンテンツが表示されます。シーン自体, 次に、当然のことながら、[階層] ウィンドウで右クリックする必要があります。もちろん、任意のツリー ノードを右クリックすることもできます。空白スペースで右クリックすると、それは直接子に属しますルート ノードのノード このノードの子ノード。

ここでは、Hierarchy ウィンドウの空白スペースを右クリックし、3D Object -> Cube を選択します。なぜ Create がないのか疑問に思われるかもしれません。おそらく、この操作は今後も頻繁に使用することになるので、メニューを1階層節約できるので、開発効率がある程度上がるからではないかと思います。

作成が完了すると、この Cube が確かに本物の Cube であることがわかり、右側に表示されていることがわかります。

この記事の任務は完了したようですね? 明らかに、まだ答えるべき疑問がたくさんあります。

シーンウィンドウ

前に述べたように、Hierarchy ウィンドウは実際には、Scene 内のオブジェクトのデータ構造を確認するために使用されます。Scene ウィンドウは、これらのオブジェクトによってレンダリングされたイメージの効果であり、リアルタイムで更新されます。たとえば、Hierarchy ウィンドウにいるとします。その中での追加および削除操作は、Scene ウィンドウにリアルタイムでフィードバックされて表示されます。

待ってください、ゲーム ウィンドウもシーンのコンテンツではないでしょうか?

エディターでプレイしている場合、「ゲーム」タブに切り替えると、ブロックの側面図のように見えるものが表示されます。

確かに、ゲーム ウィンドウには現在のシーンのコンテンツのレンダリング エフェクトも表示されますが、視野角はシーンの視野角とは異なります。なぜ視野角が異なるのでしょうか?

ゲーム内カメラ

ここでカメラの概念が必要になりますが、当然のことですが、3D ゲームや 2D ゲームであっても、ゲームの視点は変更されず、視点は最終的にどのゲーム コンテンツが画面に表示されるかに直接関係します。視線の外にあるものは表示されません。

したがって、ゲーム内の画面表示効果は特定のカメラに基づいている必要があり、カメラなしで最終的なレンダリング結果について語るのはナンセンスです。

では、シーン内で私たちがカメラと呼ぶ​​ものは何でしょうか? ちなみに、これは前述のシーンの作成後にデフォルトでもたらされる 2 つのオブジェクトのうちの 1 つです: Main Camera。

この英語の翻訳はメイン カメラを意味し、このカメラはゲームウィンドウの下で観察するシーンの視点を決定します。

ちょっと待って、Scene ウィンドウについてはどうでしょうか?

Scene ウィンドウは、シーン内のカメラ オブジェクトの設定には影響されません。別の内蔵カメラです。Scene ウィンドウに切り替えた後、ウィンドウ内でマウスの右ボタンを押したまま、マウスをスライドさせます。 wasd を押すと、直接制御できることがわかります。Scene ウィンドウの視点は、一人称シューティング ゲームをプレイするのと同じです。

次の章

この章は長い間書かれているので、最初に内容を理解してください。ここで大きな疑問が生じるかもしれません。

シーン ウィンドウ内のカメラがシーン自体内のメイン カメラではないのはなぜですか? なぜゲームとシーンという 2 つの視点をデザインするのでしょうか?

次の章では、この問題、つまり編集時間と実行時間の区別に関する最新のゲーム エンジンの標準構成について詳しく説明します。

コードを書きたいですか? まだ早いですよ(笑)

おすすめ

転載: blog.csdn.net/z175269158/article/details/129832145