UDN
Search public documentation:

MyFirstCodeJP
English Translation
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

はじめてのコード

2226 ビルドのために2003年11月18日に Chris Linder (DemiurgeStudios)により作成。Michiel Hendriksにより最後に更新。UT2003 -> UT2004。

関連文書

はじめてのポーン, はじめてのコントローラ, はじめての GameInfo, はじめての HUD, NewProjectPreparation(新プロジェクトの準備), GameAndAIHandout(ゲームとAI の商品案内)

はじめに

本書では、PawnJ クラスプレーヤ コントローラ クラスHUD、およびゲーム タイプの作成に関する基本を取り扱います。本書では概要だけを、それぞれのクラスがどのように相互に関係するかについて説明します。各クラスの詳細は、それぞれの文書を参照してください。

この例はかなり基本的なものにしようとはしていますが、Unreal Engineでネットワーキング「レプリケーション」がどのように取り扱われているか、およびUnrealScript の知識がいくぶんかあることを想定しています。この例に直ぐに進み、内容の大部分を理解することは可能ですが、より詳しく読む方が役に立ちます。UnrealScript の詳細については、UnrealScriptReference(Unrealスクリプト リファレンス)を参照してください。レプリケーションの詳細については、NetworkingTome(ネットワーキング書)およびPlayerReplicationHandout(プレーヤ レプリケーション商品案内)を参考にしてください。また、レプリケーションについての参考文献として、Planet Unrealにレプリケーション 反不明化 ページがあります。この文献は古いもので、不正確なところもたくさんありますが、基本となるテーマをカバーしています。

例のパーツ

Pawns(ポーン)

ポーン (Pawn.ucを拡張するすべてのクラス)は、Unreal エンジンの_アクタ_で、独自に移動したり、プレーヤ、AI または AI スクリプトによってコントロールされたりします(詳細については、以下のプレーヤ コントローラ を参照してください)。UT2004 をプレイするときにコントロールするアヴァターはポーンです。ゲームでご覧になるその他のプレーヤすべてがボットやネットゲームのその他の人達であるのと同じです。一人のプレーヤでするゲームのキャラクターなどの、プレーヤ以外のキャラクター(NPC)もまたポーンです。ムーバーとロケットは移動するものの例です。ポーンではありません。本書は、ゲームプレイ中にコントロールするポーンに焦点を当てています。

プレイするときにコントロールするポーンは、User.ini またはコマンド ラインで指定できます(詳細については、「はじめてのポーン」文書を参照してください)。ポーンは、エンジンのどの部分も、またはどのコードさえも変更しないで変更できます。どのポーンも所定のプレーヤ コントローラで使用できますが、うまく機能しない場合があります。ワールドを移動する必要があるからです。所定のプレーヤ コントローラとともに機能するように設計された一組のポーンがある場合、これらのポーンは、交換も代用も問題なくできます。「はじめてのポーン」文書には2つのポーンが出てきます。女と男です。両方とも、デフォルトのプレーヤ コントローラで使用できます。

#Player_Controllers

プレーヤ コントローラ

_コントローラ_(Controller.ucを拡張するすべてのクラス)により、Unreal エンジンのポーンがコントロールされます。コントローラは、UT2004におけるボットと同様にAIであることがありますし、また、人がポーンをコントロールできるようにする、人のプレーヤに対するインターフェイスであることもあります。コントローラは、役に立つポーンは何でもコントロールします。コントローラによって、シングル ポーンをボットまたはプレーヤのアヴァターとして使用するのが非常に簡単になるからです。

プレーヤ コントローラ(PlayerController.ucを拡張するすべてのクラス)は、人のプレーヤからポーンへのインターフェイスとして役立つコントローラです。使用するプレーヤ コントローラは、GameInfoで指定されます。したがって、新しいプレーヤ コントローラを使用するためには、コードを変更する必要があります。

詳細は、「はじめてのコントローラ 」例を参照してください

GameInfos

GameInfos(GameInfo.uc を拡張するすべてのクラス)は、ゲーム タイプの作成の仕方を表します。DeathMatch と CTF は、ともにゲーム タイプの例です。ゲーム情報は、ほとんどのクラスからアクセス可能です。したがって、これらのクラスによって、現在のゲームの状態を調べることができます。ゲームを定義する関数や変数を作成する外に、ゲーム情報は、プレーヤがゲームに入力したり、ゲームを再開したり、ログアウトしたりなどする方法を定義します。

また、GameInfos によって、プレーヤ コントローラ クラスを何にするかを指定したり、HUD クラスを何にするかを指定したりします。コントローラとHUDの指定は、「はじめての GameInfo」 例にあるゲーム情報の主要な使用法です。この例でのゲーム情報では、新しいゲーム タイプは何も作成されません。

#HUD

HUD

HUD(HUD.ucを拡張するすべてのクラス)によって、スクリーンにヘッドアップ表示が描かれます。HUDで何ができるかについての詳細は、 HeadsUpDisplayReference (ヘッドアップ表示リファレンス)および HeadsUpDisplayTutorial (ヘッドアップ表示チュートリアル)を参照してください。HUDは、クラス名によって GameInfoで指定されます。また、GameInfoでは、現在のゲームへのすべての参加者の名前とスコアを表示するスコアボードも指定されます。[F1] キーを押すと、HUDの代わりにスコアボードが表示されます。スコアボードは、HUDと密接に関連していますが、ScoreBoard.uc を拡張した独自のクラスです。

HUDとスコアボードについての詳細は、 はじめての HUD 例を参照してください

サンプルをインストールする

はじめてのコード 例には2通りのインストールがあります。 はじめてのポーン のポーンは、その他のコードとは関係なくインストールできます。ポーンをインストールしたいだけの場合は、 はじめてのポーン 文書を参照してください。 プレーヤ コントローラHUD、および ゲーム タイプ などのその他の例は、ポーン例に依存するとともに、すべて相互に依存しています。したがって一つのブロックとしてインストールする必要があります。このセクションの残りでは、ポーン クラス、プレーヤ コントローラ、HUD およびゲーム タイプを含むブロックの諸例をインストールする方法を取り上げます。

Unreal Runtime

Runtime を使用している場合は、 MyFirstExample.zip をダウンロードして、解凍し、MyFirstExample.urm を実行してください。MyFirstExample.urm を実行できない場合は、Runtime をインストールするときに [Runtime modification association] ボックスのチェックを外したことが考えられます。その場合は、以下のステップの通りにしてください。

  1. MyFirstExample.zip を開けて、Runtime の System ディレクトリにMyFirstExample.urm を解凍します。
  2. Runtime の System ディレクトリのコマンド プロンプトを開けます。
  3. setup install MyFirstExample.urm と入力してください。

いずれの場合も、インストール ウィンドウに表示される指示にしたがってください。こうしてRuntime 用の例をインストールします。

例がインストールされると、例を使用するために、INI ファイルを編集する必要があります。まず、User.ini を編集して使用するポーン タイプを指定します。User.ini の [DefaultPlayer] セクションで、次のようにクラスをセットします。

Class=MyFirstExample.ExampleBoy
- or -
Class=MyFirstExample.ExampleGirl

次に、UE2Runtime.ini を編集する必要があります。 [Engine.Engine] セクションで、DefaultGame と DefaultServerGame を次のように変更します。

DefaultGame=MyFirstExample.ExampleGameInfo
DefaultServerGame=MyFirstExample.ExampleGameInfo

シングル プレーヤだけを使用している場合は、DefaultServerGame を変更する必要はありません。シングル プレーヤだけを使用している場合、DefaultServerGame を変更することは重要ではありません。

ではRuntime を始めましょう。選んでマップして行きます。ポーン、コントローラ、HUD、および GameInfo がすべて使用されます。

CodeDrop(コードドロップ), UDNBuild, UDNBuildOff

UDNBuild または UDNBuildOff を使用している場合は、 MyFirstExample_UDNBuild.zip をダウンロードして、エンジンのビルドに解凍してください。

2226 コードドロップを使用している場合は、 MyFirstExample_CodeDrop.zip をダウンロードして、エンジンのビルドに解凍するか、 より新しいビルド用の MyFirstExample_CodeDrop3323.zip を使用してください。

例を解凍すると、例を使用するために INI ファイルを編集する必要があります。まず User.ini を編集して使用するポーンのタイプを指定します。User.ini の [DefaultPlayer] セクションで、クラスを次のようにセットします。

Class=MyFirstExample.ExampleBoy
- or -
Class=MyFirstExample.ExampleGirl

次に、 <YourGame.ini>(UT2004.ini など)を編集する必要があります。 [Engine.Engine] セクションで、DefaultGame および DefaultServerGame を次のように変更します。

DefaultGame=MyFirstExample.ExampleGameInfo
DefaultServerGame=MyFirstExample.ExampleGameInfo

シングル プレーヤだけを使用している場合は、DefaultServerGame を変更する必要はありません。シングル プレーヤだけを使用している場合、DefaultServerGame を変更することは重要ではありません。

ではゲームを始めましょう。選んでマップして行きます。ポーン、コントローラ、HUD、および GameInfo がすべて使用されます。

Net-Play(ネットプレイ)で例を使用する

 ネットプレイでこの例を使用したい場合は、ゲームをホストするコンピュータ上に少しすることがあります。

まず、<YourGame.ini>(UE2Runtime.ini または UW.ini など) を編集し、「MyFirstExample」をServerPackages リストに含めます。ServerPackages リストは、 INI ファイルの [Engine.GameEngine] セクションにあります。次の行をそのセクションに追加できます。

ServerPackages=MyFirstExample

次に MD5 データベースをリビルドする必要があります。エンジンのビルドの system ディレクトリにあるコマンド プロンプトを開けて、入力します。

UCC MASTERMD5 -c *.U

これでゲームをホストできます。外の人達が接続できます。みんなで一緒に走ったり飛んだり泳いだりダンスしたりできます。システム ディレクトリにあるコマンド プロンプトに次のように入力して、ゲームをホストできます。

UE2Runtime <YourMap> -server
- or -
UW <YourMap> -server

この例を動作させるサーバを接続するには、 サンプルをインストールする セクションに上記のように例をインストールしておく必要があります。次はゲームを実行するだけです。コンソールを立ち上げ([~]キーを押します)、=open = たとえば open 192.168.1.112 のように入力します。

例に対して変更を加える - UnrealEd で例を使用する

所定のコードに変更を加えたいとか、UnrealEd でExamplePawns を配置したい場合は、.ini (UW.ini または UE2Runtime.ini など) にある EditPackages リストに「MyFirstExample」を追加する必要があります。INI ファイルを開けて、「EditPackages」をテスト検索し、次に [EditPackages=MyFirstExample] の行をリストの一番下に追加します。リストは2つありますから、必ず両方のリストに行を追加してください。コードに変更を加える場合、システム ディレクトリにある既存のMyFirstExample.u ファイルを削除して、コマンド ラインに ucc make を入力して行った変更を再コンパイルできます。