Robloxで利用する重要なオブジェクトであるPlayer, Character, Humanoidの違いを整理する

Player

接続中のクライアントとなるオブジェクト。新しいプレイヤーがゲームに入室したときにPlayerServiceに追加される。そしてゲームから退室するときにそこから削除される。

Nameプロパティにアクセスすることでプレイヤーのユーザーネームを、UserIdプロパティにアクセスすることでユーザーIDを取得できる。ユーザーIDはプレイヤー固有のデータのセーブなどに利用する。

※注意: プレイヤーのユーザーネームは変更可能なため、データのセーブには利用してはいけない

Character

Playerが保持するプロパティの一つ、ゲーム内でプレイヤーをコントロールするためのHumanoid、身体パーツ、スクリプトなどにアクセスできる。このCharacterはWorkSpaceの配下にいるがそこから動かすことができる。

※注意: プレイヤーが最初にゲームに入ったときはCharacterはnilとなり、利用できない。このときはPlayer.CharacterAddedイベントを利用してCharacterがロードされたタイミングで処理を行う

Humanoid

キャラクターの機能を与えるためのオブジェクト。Humanoidを利用することでジャンプ力、体力、移動速度など様々なパラメータにアクセスできる。

参考リンク

https://developer.roblox.com/en-us/api-reference/class/Player

https://developer.roblox.com/en-us/api-reference/property/Player/Character

https://developer.roblox.com/en-us/api-reference/class/Humanoid