すべての場所は、場プレースに関するすべてを記述するオブジェクトの階層であるデータモデルによって表現されます。データモデルには、部品、地形、照明、その他の環境要素など、3D世界を構成するすべてのオブジェクトが含まれています。また、プロパティを変更するスクリプト、メソッドと関数を呼び出し、ダイ
Roblox エンジンは、場プレースの状態の真実のソースとしてデータモデルを使用するため、クライアントデバイスでそれをシミュレートし表示できます。For more information on how the Roblox エンジンがデータモデルを解釈する方法については、クライアント-サーバーランタイムを参照してください。
オブジェクト
RRoblox(ロブロックス)blox で場所を記述するために、データモデルにオブジェクトを配置および整理します。Roblox のすべてのオブジェクトは、Instance クラスから継承されます。クラスは、すべてのオブジェ
For a comprehensive list of all the features of the Roblox エンジンのすべての機能の包括的なリストについては、「reference documentation」を参照してください。
3D ビルディングブロック
BasePart は、世界の物理的にシミュレートされた 3D ビルディングブロックのコアクラスです。位置、サイズ、および方向などのプロパティを持つすべての物理オブジェクトに共通のプロパティとメソッドを定義します。
オブジェクト | 説明 |
---|---|
Part | ブロック、ボール、シリンダー、ウェッジ、またはコーナーウェッジの形状をとることができるプリミティブな パーツ。 |
MeshPart | Maya や Blender などの 3D モデリングソフトウェアからインポートされたメッシュ。 |
TrussPart | キャラクターが梯子のように登ることができるトラスビーム。 |
理論的には、単純なパーツだけで完全に機能する Roblox 体験を作成できますが、メッシュをインポートし、ソリッドモデリングでプリミティブなパーツを組み合わせて、より複雑なオブジェクトや構造を作成します。
スクリプト
場プレースの 3D 世界にインタラクティビティと動作を追加し、スクリプトでロジックを定義できます。 Lua プログラミング言語でスクリプトを作成して、部品の移動、他のスクリプトの呼び出し、イベントへの応答などを行います。Roblox はクライアントサーバーモデルで動作するため、サーバー、クライアントでスクリプトを実行し
- Class.Script オブジェクトは、サーバーでしか実行できないスクリプトを表示します。
- Class.LocalScript オブジェクトは、クライアントでのみ実行できるスクリプトを表示します。
- A ModuleScript オブジェクトは、サーバーとクライアントスクリプトの両方から require() できる再利用可能なスクリプトを表示します。
スクリプトが適切に動作するには、データモデルの正しいコンテナに配置する必要があります。詳細は、「サーバー」 および 「クライアント」セクションを参照してください。
オブジェクト組織
データモデルを整理する方法には多くの柔軟性がありますが、Roblox エンジンは、特定のオブジェクトが特定の コンテナサービス にあることを期待しています。これは、特定の振る舞いを持ち、その中に含まれるオブジェクトの振る舞いに影響を与えることができるオブジェクトです。コンテナサービスの主なカテゴリは次のとおりです:
- ワークスペース - Workspace は、3D 世界でレンダリングされるすべてのオブジェクトを保存します。
さらに、次のオブジェクトを使用してオブジェクトをさらに整理できます:
- フォルダ - フォルダ - は、組織的な目的で使用され、特定の動作を定義しません。たとえば、フォルダを使用してサーバーストレージのスクリプトセットのような同様のオブジェクトをグループ化できます。
- モデル - モデル - Model は主に、椅子、テーブル、ランプを含むデスクセットをグループ化するなど、パーツの幾何学的グループ化を目的としています。より複雑なセットを整理するには、モデル内にモデルをネストすることもできます。
ワークスペース
Workspace には、場プレースの 3D 世界を構成するすべてのオブジェクトが含まれています。ベースパーツ、メッシュパーツ、モデルなど、オブジェクトをワーク
カメラ
Camera は、クライアントが 3D 世界をどのように見るかを決定します。デフォルトでは、ワークスペースに 1つのカメラがありますが、異なる視点とビューを作成するために複数のカメラオブジェクトを追加できます。すべてのクライアントはこれらの設定を受け取り、サーバーが直接変更できない独自のカメラビューを作成し
たとえば、カメラをユーザーの動きに従わせたり、特定の場所に固定しておくように設定できます。また、視野、距離、角度を調整して、ユーザーが 3D 世界をどのように見るかを視覚効果で表現することもできます。
詳しくは、カメラのカスタマイズ を参照してください。
地形
Terrain は、あなたの場プレースのために景観を作成することができます。地形に材料を適用して、草、水、砂、カスタムマテリアルなど、希望する自然環境をシミュレートできます。3D 世界の地形オブジェクトを 1つだけ持つことができ、その地形に 1つの
詳しくは、環境地形を参照してください。
環境
照明とサウンドエフェクトは、3D 世界をはるかに没入感のあるもの、リアリスティックにすることができます。これらのエフェクトをあなたの場プレースに追加する必要はありませんが、より視覚的に、聴覚的に魅力的にすることができます。
照明
Lighting には、大気の効果をシミュレートするための Atmosphere や、環境内の太陽、月、星を変更するための Sky など、場プレースのグローバルライティング設定を制御するオブジェクトが含まれています。
For more information, see 詳しくは、「Lighting」を参照してください。
サウンド
SoundService は、子 Sound オブジェクトのボリュームと再生設定をバックグラウンドミュージックまたは環境音響効果のために制御できます。
詳しくは、サウンド を参照してください。
レプリケーション
レプリケーション は、サーバーが接続されたすべてのクライアントとあなたの場所の状態を同期するプロセスです。Roblox エンジンは、多くの場合、サーバーとクライアントの間でデータ、物理、およびチャットメッセージをインテリジェントかつ自動的にレプリケートしますが、特定のコンテナに配置してレプリケートするオブジ
ReplicatedFirst
ReplicatedFirst には、あなたの場プレースに参加するときにクライアントに複製したいオブジェクトが含まれています。通常、クライアント側の LocalScript オブジェクトやスクリプトに関連付けられたオブジェクトなど、プレイヤーを初期化するのに不可欠なオブジェクトが含ま
ReplicatedStorage
ReplicatedStorage には、サーバーと接続されたクライアントの両
For more information on how replication works, see クライアント-サーバーランタイム .
サーバー
データモデルは、クライアントに決してレプリケートされない、サーバー側のみのオブジェクトのための専用コンテナを定義します。これにより、サーバーがクライアントのオブジェクトとロジックをクライアントに露出させることなくクライアントの動作とステートに影響を与えることができます。
ServerScriptService
ServerScriptService には Script オブジェクト、ModuleScript サーバースクリプトに必要なオブジェクト、およびサーバーで使用するだけのスクリプト関連オブジェクトが含まれています。如
ServerStorage
ServerStorage には、サーバーの使用のみを目的としたオブジェクトが含まれています。このコンテナを使用して、実行時にワークスペースまたは他のコンテナにクローンして親にしたいオブジェクトを格納できます。たとえば、マップなどの大きなオブジェクトは、必要になるまでこのコンテナに格納し、必
クライアント
クライアントコンテナサービスは、接続されたすべてのクライアントにレプリケートされるオブジェクトのためのものです。このカテゴリのコンテナは、接続されたすべてのクライアントにレプリケートされ、通常は 3D オブジェクトやそれに関連付けられた Class.Local
クライアントがサーバーに接続すると、Playersコンテナサービスは、あなたの場所に参加するユーザーをリスニングし、すべてのクライアントに Player オブジェクトを作成します。サーバーは、編集データモデル
データモデルを編集 | ランタイムデータモデル | 注意 |
---|---|---|
StarterPack | Player.Backpack | プレイヤーのインベントリを設定し、一般に Tool オブジェクトを含むスクリプトですが、多くの場合、ローカルスクリプトも含まれています。 |
StarterGui | Player.PlayerGui | プレイヤーのローカル GUI を管理できるスクリプト。プレイヤーがリスポーンすると、PlayerGui の内容が空になります。サーバーは StarterGui 内のオブジェクトを PlayerGui にコピーします。 |
StarterPlayerScripts | Player.PlayerScripts | クライアントの汎用スクリプト。たとえば、特定の条件が満たされたときにクライアントに特殊効果を作成したい場合は、このコンテナにローカルスクリプトを置き、それを実行できます。サーバーはこのコンテナにアクセスできません。 |
StarterCharacterScripts | Player.Character | スクリプトは、スポーン時にクライアントにコピーされます。これらのスクリプトは、プレイヤーがリスポーンすると持続しません。 |
ReplicatedFirst | このコンテナの内容は、他の何よりも先に、最初にすべてのクライアントにレプリケートされます(ただし、サーバーに戻ることはありません)。 |
チャット
TextChatService
TextChatService は、チャンネルの管理、メッセージの装飾、テキストのフィルタリング、コマンドの作成、カスタムチャットインターフェースの開発など、さまざまな経験のないテキストチャットタスクを処理するサービスを表します。
詳しくは、In-Experience Text Chat Systemを参照してください。
ボイスチャットサービス
VoiceChatService は、他のユーザーとの距離に基づいて現実的なコミュニケーションをシミュレートする近接ベースのボイスチャット機能を表します。このサービスを使用すると、機能のオンとオフを切り替えることができます。
詳しくは、ボイスチャットを参照してください。
フォルダとモデル
データモデル内のオブジェクトをグループ化するための 2つの主要な方法として、フォルダ とモデル があります。両方ともオブジェクトのコンテナですが、用途は異なります。
- フォルダ は、ロビーや戦闘アリーナなどの環境のセクションを保存するのに最適です。
- モデル は、椅子、テーブル、ランプを含むデスクセットなどのオブジェクトのセットに使用されます。より複雑なセットを整理するには、モデルの中にモデルをネストします。
オブジェクトには常に説明的な名前を付ける必要があります。これにより、後で必要に応じてオブジェクトを簡単に見つけ、変更できます。