Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/Basics/Basics.JPN.udn
Ben Marsh 49831a5631 Include documentation source in repository.
[CL 2489162 by Ben Marsh in Main branch]
2015-03-24 08:35:52 -04:00

87 lines
6.2 KiB
Plaintext

INTSourceChangelist:2419450
Availability:Public
Title:プログラミングの基礎
Crumbs: %ROOT%, Programming
Description:アンリアル エンジンで開発するプログラマー向けの情報
## 概要
個々のゲームは、そのゲームに特化したコード、コンテント、設定を全て含むゲーム プロジェクトによって定義されます。ゲームプレイ コードは、 1 つ以上のゲームプレイ モジュールに含まれ、
それぞれのゲーム プロジェクトにはモジュールが最低 1 つ含まれています。アセット、サウンドなどのコンテントはエディタにインポートされ、
パッケージとアセットの中に格納されます。利用できるゲーム設定は、スタートアップからダウンロード可能な [コンフィギュレーション ファイル](Programming/Basics/ConfigurationFiles) に定義されています。これらの全てが一緒になって、
アンリアル エンジンで作成されるゲームの基礎を形成します。
[REGION:raw]
![](ProjectModuleClassOrg.png)
[/REGION]
[プロジェクト ブラウザ](Engine/Basics/Projects/Browser#新規プロジェクトの作成) のページで新規ゲーム プロジェクトの作成手順を説明しています。ゲーム プロジェクトが作成できたら、次はプロジェクトの
[](Engine/Basics/DirectoryStructure) に慣れてください。これにより、現在のがいるが何を意味し、プロジェクトに新規ファイルを追加すると何がどうなるのか分かりやすくなります。プロジェクトでエディタを操作する場合、
[](Programming\Basics\CommandLineArguments) を使用すれば、ゲーム プレビュー モードへ直接ジャンプしたり特定のマップ上での開始することができるようになります。
##モジュール
[INCLUDE:Programming/Modules/Gameplay#Intro]
ゲームプレイ モジュールの作成および使用に関する詳細は [](Programming/Modules/Gameplay) ページを参照してください。
#### Module API
モジュール外からアクセスする必要のある関数とクラスは、 `*_API` マクロ経由でエクスポーズされなければなりません。エクスポーズされる各アイテムはコンパイル時間という負荷が伴うため、必要なもののみをエクスポーズするようにしてください。アクセスする必要のある関数がクラス内で 1 つだけの場合は、クラスではなくその関数をエクスポーズすればコンパイル時間を大幅に短縮できます。
クラスおよび関数を他のモジュールへエクスポーズする方法については [](Programming/Modules/API) ページを参照してください。
## クラス
Gameplay クラスは標準の C++ ヘッダファイルと記法をエンジンで定義された特別なマクロと併用して定義して、アンリアル エンジンにユニークなクラスの特性を定義しやすくしています。
クラス構造体と作成の包括的な説明は [](Programming/UnrealArchitecture/Reference) を参照してください。
### クラスの実装
最も基本的なレベルでは、 **アクタ** はレベルに配置可能なゲームプレイオブジェクトです。全てのアクタは、 `AActor` クラスから拡張されます。このクラスは _スポーン可能_ なゲームプレイオブジェクトの基本クラスです。
アクタはある意味、 [コンポーネント](Programming/UnrealArchitecture/Actors/Components) と呼ばれる特別なタイプの **オブジェクト** を保持するコンテナとして考えられます。例えば、 _CameraActor_ は _CameraComponent_ を格納します。
![](camera_actor.png)
FOV (視野角) のようなカメラの機能は、全て _CameraComponent_ 内に格納されます。つまり _CameraComponent_ は、これらのオブジェクトに対し同一のカメラ機能を実装するために、
キャラクターのように別のアクタに含むことができます。
![](pawn_actor.png)
異なるタイプのコンポーネントを、アクタの移動方法、レンダリング方法、また機能の他の部分に使用することができます。コンポーネントを含むすべてのオブジェクトは、 UObject クラスから拡張されて、
全ゲームプレイ オブジェクトのベースクラスです。つまり、このクラスはワールド内へ直接インスタンス化することはできず、アクタに属さなければいけません。
各アクタまたはオブジェクトは、クラスの単一インスタンスです。クラスは、アクタまたはオブジェクトのテンプレートを設定します。テンプレートは、アクタあるいはオブジェクトに設定可能な変数、
そしてアクタまたはオブジェクト内で実行可能な関数を定義します。ユーザーは、 C++ コードでオブジェクトとアクタの新規クラスまたはタイプを作成することができます。
ユーザーは、 _Blueprint クラス_ でいくつかのオブジェクトを拡張することもできますが、新規の C++ クラスを作成して、このクラスから _Blueprint クラス_ を派生させることによって、これら両方を同時に実行することも出来ます。新規のアクタおよびオブジェクトのためのクラス作成に関する詳細は
[クラス作成の基本](Gameplay\ClassCreation) ページを参照してください。
オブジェクト、アクタ、コンポーネントに関する詳細は、 [](Programming/UnrealArchitecture) をご覧ください。
[OBJECT:TopicList]
[PARAM:icon]
![](%ROOT%/reference_icon.png)(convert:false)
[/PARAM]
[PARAM:title]
Related Pages
[/PARAM]
[PARAM:description]
[/PARAM]
[PARAM:links]
* [](Programming\UnrealArchitecture\Reference\Classes)
* [](Programming\UnrealArchitecture\Reference\Functions)
* [](Programming\UnrealArchitecture\Reference\Properties)
* [](Programming\UnrealArchitecture\Reference\Structs)
* [](Programming\UnrealArchitecture\Reference\Interfaces)
[/PARAM]
[/OBJECT]