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