Camera
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
Camera オブジェクトは、3D 世界のビューを定義します。実行中のエクスペリエンスでは、各クライアントにはそれぞれ独自の Camera オブジェクトがあり、そのクライアントのローカル Workspace にあり、Workspace.CurrentCamera プロパティを通じてアクセス可能です。
最も重要なカメラプロパティは:
CFrame カメラの位置と方向を表すもの。
CameraType は、エクスペリエンスのカメラスクリプトによって読み込まれ、カメラが各フレームを更新する方法を決定します。
CameraSubject は、エクスペリエンスのカメラスクリプトによって読み込まれ、カメラがフォローうべきオブジェクトを決定します。
FieldOfView は、観察可能な世界の可視範囲を表す。
Focus カメラが見ているポイントを表す。特定のビジュアルがより詳細になり、焦点距離に応じてより頻繁に更新されるため、このプロパティが設定されることが重要です。
カメラの動作を調整したり、カスタマイズしたりする方法については、カメラのカスタマイズ を参照してください。
複数のカメラを保存する
変更するときは、Workspace.CurrentCamera を新しい Camera に変更すると、すべての他の Cameras が直接 Workspace から減少します。複数のカメラを保存し、デマンドに応じて交換する必要がある場合は、 または の下で保存することをお勧めします。これは、 が変更されても残り続けます。
概要
プロパティ
カメラスクリプトで読み込む Enum.CameraType を指定します。
カメラの斜め視野の角度を設定します。
カメラの垂直視野の角度を設定します。
ビューポートサイズ変更の下で無効になる Camera のFOV値を決定します。
Roblox のグラフィックシステムで優先される 3D 空間の領域を設定します。
カメラが VR 装デバイスを使用してプレイヤーの頭の動きを自動的に追跡するかどうかを切り替えます。
VR を使用すると、ユーザーの世界の見方のスケールを設定します。
最長のビューポート軸に沿ってカメラの視野角を設定します。
カメラの近接クリッププレーンのネガティブ Z オフセット、スタッドで説明します。
プレイヤーがVRデバイスを使用している間、CFrame プロパティから傾きと回転を適用するかどうかを切り替えます。
Roblox クライアント上のデバイスの安全エリアの寸法。
方法
実際の CFrame を返し、Camera がレンダリングされている場所で、適用されたロールと VR デバイスの影響を計算します。
現在のロール、またはカメラの Z 軸で回転したり、 を使用して適用された現在の回転をラディアンで返します。
画面の位置(ピクセル)から、カメラの方向に向かって設定された深度から、ユニットを 作成します。GUI 挿入のアカウント。
カメラの Z 軸周りに適用される現在の回転を設定します。
ビューポートの位置(ピクセル)から、Ray ユニットを作成し、Camera から、カメラの方向に向かって向きを調整します。挿入の CoreUISafeInsets を考慮しない。
スクリーンの位置と深さ、および Vector3 worldPoint このポイントがスクリーンの境界内にあるかどうかを返します。GUI 挿入のアカウント。
スクリーンの位置と深さ、および Vector3 worldPoint このポイントがスクリーンの境界内にあるかどうかを返します。GUI 挿入を考慮しません。
PVInstance のピボットを取得します。
変換する PVInstance とすべての子孫 PVInstances を通じて、ピボットが現在指定された CFrame に位置します。
イベント
Camera が Interpolate() を使用してインターポレーションを終了したときに発射されます。
プロパティ
CFrame
このプロパティは、CFrame の Camera で、3D ワールドでの位置と方向を定義します。VR デバイスを使用すると頭の回転などの一部の変換は、このプロパティに反映されないため、GetRenderCFrame() を使用してカメラの "真実" CFrame を取得する必要があります。
このプロパティを設定してカメラを移動できます。ただし、デフォルトのカメラスクリプトもそれを設定しますので、以下のいずれかが必要です:
カメラ CameraType を Enum.CameraType.Scriptable に設定して、デフォルトのカメラスクリプトがカメラの CFrame を更新しないようにするこのメソッドは最もシンプルで、ほとんどの場合に推奨されています。
デフォルトのカメラスクリプトを代替で完全に置き換える。このアプローチは、デフォルトのカメラ機能が必要ない場合にのみ推奨されます。
Camera を位置づけて方向づける最も直感的な方法は、CFrame.lookAt() コンストラクターを使用することです。次の例では、Camera は Vector3.new(0, 10, 0) に配置され、Vector3.new(10, 0, 0) を向いているようになっています。
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameracamera.CameraType = Enum.CameraType.Scriptablelocal pos = Vector3.new(0, 10, 0)local lookAtPos = Vector3.new(10, 0, 0)Workspace.CurrentCamera.CFrame = CFrame.lookAt(pos, lookAtPos)
カメラは上記で示された方法で配置できますが、1つの CFrame から別のものにスムーズに移動するためにアニメーションしたい場合があります。このためには、以下のいずれかができます:
RunService:BindToRenderStep() メソッドと CFrame:Lerp() メソッドで、フレームごとにカメラの位置/方向を設定します。
カメラの位置/方向をアニメートする Tween を作成してプレイ:
local Players = game:GetService("Players")local TweenService = game:GetService("TweenService")local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameracamera.CameraType = Enum.CameraType.Scriptablelocal player = Players.LocalPlayerlocal character = player.Characterif not character or character.Parent == nil thencharacter = player.CharacterAdded:Wait()endlocal pos = camera.CFrame * Vector3.new(0, 20, 0)local lookAtPos = character.PrimaryPart.Positionlocal targetCFrame = CFrame.lookAt(pos, lookAtPos)local tween = TweenService:Create(camera, TweenInfo.new(2), {CFrame = targetCFrame})tween:Play()
CameraSubject
CameraSubject は、さまざまな Instances を受け入れます。デフォルトのカメラスクリプトは、利用可能な設定に対して異なる方法で応答します:
デフォルトでは、カメラスクリプトはローカルキャラクターの Humanoid をフォローし、ヒューマノイドの現在の状態と Humanoid.CameraOffset を考慮します。
に設定されると、カメラスクリプトは位置を追跡し、 の場合は縦方向のオフセットを行います。
CameraSubject は nil に設定できません。そうすると、以前の値に戻されます。
CameraSubject をデフォルト値に復元するには、ローカルキャラクターの Humanoid に設定します:
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local localPlayer = Players.LocalPlayer
local camera = Workspace.CurrentCamera
local function resetCameraSubject()
if camera and localPlayer.Character then
local humanoid = localPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
camera.CameraSubject = humanoid
end
end
end
CameraType
デフォルトの Roblox カメラスクリプトには、複数の組み込み動作があります。このプロパティを設定すると、さまざまな Enum.CameraType 動作の間で切り替えます。一部のカメラタイプでは、正しく動作するには有効な CameraSubject が必要であることに注意してください。
デフォルトのカメラスクリプトは、CameraType が Enum.CameraType.Scriptable に設定されている場合、カメラを移動または更新しません。カメラを手動で位置付けおよび向き調整する詳細情報は、CFrame を参照してください。
すべての CameraType 設定 を除き Enum.CameraType.Scriptable 、CameraSubject プロパティはカメラの Focus 位置が設定されたオブジェクトを表します。
DiagonalFieldOfView
カメラが見ることができる角度(ビューポートの一つの角から反対の角まで)を設定します。Sets how many degrees in the diagonal direction (from one corner of the viewport to its opposite corner) the camera can view.詳しい説明は、FieldOfView を参照してください。視野の領域のより一般的な説明。
注: は、一部のデバイスでノッチやスクリーンカットアウトによって隠される可能性のあるフルスクリーン領域の視野を表しています。詳しくは ViewportSize を参照してください。
FieldOfView
The FieldOfView (FOV) プロパティは、カメラが縦方向で見ることができる度数を設定します。このプロパティは 1 と 120 度の間にクランプされ、デフォルトは 70 です。視野が非常に低いまたは非常に高い場合、プレイヤーに混乱を与える可能性があるため、推奨されません。
注:統一スケーリングが適用されているため、垂直と水平の視野は常に画面のアスペクト比に関連しています。
FieldOfView の推奨使用法には以下が含まれます:
- 例えば、ビノクルを使用しているときなど、FOVを減少して拡大印象を与える
- プレイヤーが「スプリント」してコントロールの欠如の印象を与えるときに FOV を増加させる。
注: は、一部のデバイスでノッチやスクリーンカットアウトによって隠される可能性のあるフルスクリーン領域の視野を表しています。詳しくは ViewportSize を参照してください。
FieldOfViewMode
カメラの (FOV) は、変更を反映するために更新されなければなりません。FieldOfViewMode の値は、どの FOV 値が常に保持されるかを決定します。
たとえば、このプロパティが Enum.FieldOfViewMode.Vertical に設定されると、視野が縮小されると横方向の FOV が更新されますが、縦方向の FOV はそのままです。このプロパティが Enum.FieldOfViewMode.Diagonal に設定されている場合、横方向と縦方向の FOV の両方が変更され、縦方向の FOV が一定に保たれる可能性があります。
Focus
エンジンが実行するグラフィック操作、例えば照明の更新は、完了に時間がかかるか、計算的な努力が必要になります。カメラの Focus プロパティは、エンジンに 3D 空間で優先する操作を実行するときに、どの領域を優先するかを告知します。たとえば、PointLights のようなオブジェクトの動的照明は、焦点から遠くの距離でレンダリングされない可能性があります。
デフォルトの Roblox カメラスクリプトは、自動的に Focus を CameraSubject (通常は Humanoid ) に従わせます。しかし、 は、 が に設定されているか、デフォルトのカメラスクリプトが使用されていないときに自動的に更新されません。これらの場合、Focus フレームをすべて更新し、RunService:BindToRenderStep() メソッドを使用して、Enum.RenderPriority.Camera 優先度で更新する必要があります。
Focus はカメラの位置や方向に影響を与えません;これについては CFrame を参照してください。
HeadLocked
カメラが VR 装デバイスを使用してプレイヤーの頭の動きを自動的に追跡するかどうかを切り替えます。When true (デフォルト) では、エンジンはユーザーの頭の CFrame と Enum.UserCFrame を結合して、プレイヤーのビューをヘッドトラッキングを考慮してレンダリングします。ビューは次の CFrame でレンダリングされます:
local UserInputService = game:GetService("UserInputService")local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal headCFrame = UserInputService:GetUserCFrame(Enum.UserCFrame.Head)headCFrame = headCFrame.Rotation + headCFrame.Position * camera.HeadScale-- これは Camera:GetRenderCFrame() と同等ですlocal renderCFrame = camera.CFrame * headCFrame
次の理由により、 このプロパティを無効にすることは推奨されません :
- 同等のヘッドトラッキングソリューションが追加されないと、プレイヤーは動作不快を経験する可能性があります。
- Roblox エンジンは、HeadLocked が真になると、遅延の最適化を実行します。
参照してください: See Also
- VRService:GetUserCFrame() 頭の CFrame を取得するのに使用できるもの。
- VRService:RecenterUserHeadCFrame() は、頭を現在の VR デバイスの位置と方向に再センターするのに使用されます。
HeadScale
HeadScale は、VR を使用するときのユーザーの世界の見方のスケールです。
VR の 1スタッドのサイズは 0.3 meters / HeadScale で、より大きな HeadScale 値は、VR 装置を使用すると、ユーザーの視点から世界が小さく見えることを意味します。たとえば、1スタッド高いパーツは、HeadScale の 0.5 を持つVRプレイヤーに0.6メートル高いように見えます。
このプロパティは、VRService.AutomaticScaling によって自動的に制御され、プレイヤーの視点をアバターのサイズに合わせます。自分で制御するか、カスタムキャラクターを使用する予定がある場合は、HeadScale を VRService.AutomaticScaling に切り替え、カスタムキャラクターを使用する予定がない場合は、Enum.VRScaling.Off に切り替えます。
このプロパティは、スケーリングを制御するために 親に付属している と混同してはならない。
MaxAxisFieldOfView
MaxAxisFieldOfView プロパティは、カメラが見ることができるビューポート軸の最長距離を設定します。
最長の軸が縦軸の場合、このプロパティは FieldOfView プロパティと同様に動作します。これは一般的に、装置がポートレートオリエンテーションにあるときの場合です。景観オリエンテーションでは、最長の軸は水平軸になります;この場合、プロパティは Camera の水平視野を説明します。
NearPlaneZ
NearPlaneZ プロパティは、カメラの近接クリッププレーンがどの程度遠くにあるかを、スタッドで説明します。近接クリッププレーンは、カメラの CFrame の前に座る幾何学的なプレーンです。この飛行機とカメラの間にあるものは、レンダリングされず、非常に短距離でオブジェクトを表示するときにカットアウェイビューを作成します。NearPlaneZ の値は、異なるプラットフォーム間で変化し、現在は常に -0.1 と -0.5 の間にあります。

VRTiltAndRollEnabled
このプロパティは、プレイヤーがVRデバイスを使用している間、CFrame プロパティから傾きと回転を適用するかどうかを切り替えます。
運動不快感を防ぐには、地平線がレベル面のままでなければなりません。VR 装置を使用してプレイヤーのビューを傾けたり回転させると、プレイヤーの物理空間と表示中のバーチャル空間の間の接続が切断される可能性があります。見た目の下向き方向を変更すると、プレイヤーがバランスを失ったり、めまいを経験したりする可能性があります。
これらの理由から、このプロパティをこれらの効果のために広範にテストした場合を除いて、一般的に無効にすることが推奨されます。傾きと回転を有効にしても、プレイヤーが常に安定した参照フレームを持っていることを確認したい、たとえば、車両の内装やプレイヤーが自分自身を物理的な空間に落とすのを助ける床などです。
ViewportSize
ViewportSize 現在の画面で装置の安全領域の寸法を返します。このエリアは、Roblox のトップバーエリアを含む長方形で、デバイスのノッチやスクリーンカットアウトは含まれていません。ViewportSize のユニットは、ネイティブの表示ピクセルと異なる可能性のある Roblox UI オフセットユニットです。

上記に示したように、ViewportSize は、カットアウトまたはノッチがあるディスプレイのフルスクリーン領域サイズと同じではありません。すべてのディスプレイでフルスクリーン領域サイズを取得するには、AbsoluteSize プロパティを ScreenGui に設定し、ScreenInsets で None に設定します。スクリーン領域の定義について詳しくは、Enum.ScreenInsets を参照してください。
最後に、ViewportSize がカメラがレンダリングする実際のビューポートサイズではないことに注意してください (カメラはフルスクリーン領域でレンダリングします)。また、FieldOfView および DiagonalFieldOfView プロパティは、フルスクリーン領域に基づいているのではなく、ViewportSize に基づいています。
カメラアップデート
現在、Camera によって参照されているのは、Workspace.CurrentCamera のみで、各フレームで ViewportSize が更新されます。ステップ PreRender 中。エクスペリエンス内のすべての他のカメラの ViewportSize は、ViewportFrames に使用されたものを含めて更新されません。
方法
GetPartsObscuringTarget
このメソッドは、カメラの BaseParts および CFrame および Vector3 位置の間の視界を隠す castPoints 配列のアレイを返します。Instances 配列に含まれるすべての ignoreList は、その子孫を含めて無視されます。
castPoints パラメータは、Vector3 位の配列として渡されます。返された BaseParts の配列はランダムな順序であり、追加のレイキャストデータは提供されません。ヒットポジション、ヒット素材、または表面ノーマルなどのデータが必要な場合は、WorldRoot:Raycast() メソッドを選択する必要があります。
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal castPoints = {Vector3.new(0, 10, 0),Vector3.new(0, 15, 0)}local ignoreList = {}local partsObscuringTarget = camera:GetPartsObscuringTarget(castPoints, ignoreList)
がキャストポイントを隠す場合、 隠すキャストポイントの間のキャストポイントを隠すと、キャストポイントは返されません。
パラメータ
その子孫と一緒に無視すべき Instances の配列。
戻り値
GetRenderCFrame
このメソッドは、VRの影響を含めて、 の実際の をレンダリングし、 プロパティに VR ヘッド変換が適用されないため、プレイヤーのビューの "真実" を得るために を使用するのが最善の方法です。
たとえば、VR を使用すると、Camera は次の CFrame で実際にレンダリングされます:
local UserInputService = game:GetService("UserInputService")local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal headCFrame = UserInputService:GetUserCFrame(Enum.UserCFrame.Head)headCFrame = headCFrame.Rotation + headCFrame.Position * camera.HeadScalerenderCFrame = camera.CFrame * headCFrame
カメラのレンダリング CFrame は、HeadLocked プロパティが真になると、頭を考慮するためにのみ変更されます。
戻り値
GetRoll
このメソッドは、Camera を使用して SetRoll() に適用された現在のロールを、ラディアンで返します。ロールは、カメラの Z 軸を中心に回転すると定義されます。
このメソッドは、SetRoll() メソッドを使用して適用されたロールのみを返します。カメラの CFrame に手動で適用されたロールは、計算に含まれません。ロールの実際のロール Camera を取得するには、手動で適用されたロールを含めて、次のスニペットを使用できます:
local Workspace = game:GetService("Workspace")
local function getActualRoll()
local camera = Workspace.CurrentCamera
local trueUp = Vector3.new(0, 1, 0)
local cameraUp = camera:GetRenderCFrame().upVector
return math.acos(trueUp:Dot(cameraUp))
end
戻り値
コードサンプル
This example, when used in a LocalScript, will retrieve the current roll of the camera in degrees. Then, if the camera roll angle is not 20 degrees, the camera roll angle is set to 20 degrees.
local currentRoll = math.deg(workspace.CurrentCamera:GetRoll()) -- Gets the current roll of the camera in degrees.
if currentRoll ~= 20 then
workspace.CurrentCamera:SetRoll(math.rad(20)) -- If the camera isn't at 20 degrees roll, the roll is set to 20 degrees.
end
ScreenPointToRay
このメソッドは、画面上の 2D 位置からユニット Ray を作成し、GUI 挿入を考慮します。The Ray は、指定された深さ (スタッド) から世界の 2D 位置の同等物を生成します。The Vector3 は、Camera から 2D 位置を 8 スタッド離れています。
このメソッドは GUI 挿入を認識するため、トップバーからのような GUI 要素に適用されるオフセットが計算されます。これは、指定された画面位置が上部バーの下の左上隅から始まることを意味します。GUI オフセットを考慮しない別の同じメソッドの場合は、ViewportPointToRay() を使用します。
作成された Ray はユニットレイであり、長さは 1スタッドだけです。より長いレイを作成するには、フォロー中のことができます:
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal length = 500local unitRay = camera:ScreenPointToRay(100, 100)local extendedRay = Ray.new(unitRay.Origin, unitRay.Direction * length)
このメソッドは現在の Workspace カメラにのみ対応しています。他のカメラ、例えば ViewportFrame で作成したものは、最初のビューポートサイズが
パラメータ
戻り値
SetRoll
このメソッドは過時化され、もはやベストプラクティスとは見なされていません。
このメソッドは、Camera の現在のロール、ラディアンで、を設定します。ロールは CFrame の後に適用され、カメラの Z-軸周りの回転を表します。
たとえば、次のように Camera が逆になります:
local Workspace = game:GetService("Workspace")Workspace.CurrentCamera:SetRoll(math.pi) -- math.pi radians = 180 degrees
SetRoll は、CFrame プロパティを使用して適用されたロールに影響を与えません。SetRoll を使用して適用されたロールは、CFrame プロパティに反映されませんが、CFrame によって返された GetRenderCFrame() に反映されます。
このメソッドは、デフォルトのカメラスクリプトが使用されているかどうかにかかわらず、CameraType が Scriptable に設定されているときにのみ使用できます。他の CameraType と一緒に使用される場合、出力に警告が表示されます。
この方法を使用して適用されたロールは、CameraType が Scriptable から変更されると失われます。
この方法を使用してロールセットを取得するには、GetRoll() を使用します。
このメソッドは過時化されているため、代わりに Camera プロパティを使用して CFrame ロールを適用することをお勧めします。たとえば:
local Workspace = game:GetService("Workspace")local currentCFrame = Workspace.CurrentCamera.CFramelocal rollCFrame = CFrame.Angles(0, 0, roll)Workspace.CurrentCamera.CFrame = currentCFrame * rollCFrame
パラメータ
戻り値
ViewportPointToRay
このメソッドは、デバイスの安全ビューポート座標で定義された 2D 位置からユニット Ray を作成します、ピクセルで定義されたレイは、Vector3 世界の 2D 位置の同等物から発生し、指定された深さ (スタッド) から Camera 離れています。
以下の図に示すように、(0, 0) は Roblox のトップバーの左上のポイントに対応します。これは、入力 2D 位置が しない 挿入を考慮しないことを意味しますが、CoreUISafeInsets どれでも DeviceSafeInsets に対応します。

UI インスタンスは異なる座標システムを使用します (GuiObject.AbsolutePosition はこのメソッドが CoreUISafeInsets ビューポート座標システムを使用している間、この方法は DeviceSafeInsets ビューポート座標システムを使用します)。コア UI の座標で位置を指定したい場合は、ScreenPointToRay() を使用してください。
また、このメソッドは Workspace.CurrentCamera カメラのみで機能することに注意してください。他のカメラ、例えば ViewportFrame で作成したものは、最初のビューポートサイズが (1, 1) であり、CurrentCamera に設定した後にのみ更新されます。ビューポートサイズの不一致により、カメラが不正な Ray.Direction を持つレイを返すことがあります。
このメソッドは、ViewportSize プロパティと一緒に使用して、画面の中心から光線を作成できます、例えば:
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal viewportPoint = camera.ViewportSize / 2local unitRay = camera:ViewportPointToRay(viewportPoint.X, viewportPoint.Y, 0)
作成された Ray はユニットレイであり、長さは 1スタッドだけです。より長いレイを作成するには、フォロー中のことができます:
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal length = 500local unitRay = camera:ScreenPointToRay(100, 100)local extendedRay = Ray.new(unitRay.Origin, unitRay.Direction * length)
パラメータ
戻り値
WorldToScreenPoint
このメソッドは、Datatype.Vector3``worldPoint の画面位置と深さと、このポイントが画面の境界内にあるかどうかを返します。
このメソッドは、トップバーによって占有されたスペースなど、現在の GUI 挿入を考慮し、返された 2D 位置が GUI 位置と同じ期間にあることを意味し、GUI 要素を配置するために使用できます。GUI 挿入を無視する別の同じ方法については、WorldToViewportPoint() を参照してください。
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal worldPoint = Vector3.new(0, 10, 0)local vector, onScreen = camera:WorldToScreenPoint(worldPoint)local screenPoint = Vector2.new(vector.X, vector.Y)local depth = vector.Z
このメソッドはレイキャストを実行しないため、worldPoint が画面の境界内にあるかどうかを示すブールは、true ポイントが BaseParts または Terrain で隠れているかどうかにかかわらず、正しいものになります。
パラメータ
戻り値
WorldToViewportPoint
このメソッドは、Datatype.Vector3``worldPoint の画面位置と深さと、このポイントが画面の境界内にあるかどうかを返します。
このメソッドは、トップバーによって占有されたスペースなど、現在の GUI 挿入を考慮しませんので、返された 2D 位置はビューポートの左上隅から取得されます。ScreenGui.IgnoreGuiInset を使用していない限り、この位置は GUI 要素を配置するのに適していません。
GUI 挿入を処理する別の同じ方法については、WorldToScreenPoint() を参照してください。
local Workspace = game:GetService("Workspace")local camera = Workspace.CurrentCameralocal worldPoint = Vector3.new(0, 10, 0)local vector, onScreen = camera:WorldToViewportPoint(worldPoint)local viewportPoint = Vector2.new(vector.X, vector.Y)local depth = vector.Z
このメソッドはレイキャストを実行しないため、worldPoint が画面の境界内にあるかどうかを示すブールは、true ポイントが BaseParts または Terrain で隠れているかどうかにかかわらず、正しいものになります。
パラメータ
戻り値
イベント
InterpolationFinished
このイベントは、Camera が Camera:Interpolate() メソッドを使用してインターポレーションを終了したときに発動します。Camera:Interpolate() が再び呼び出されたため、ティーンが中断された場合、発射しません。
代わりに を使用してアニメートすることをお勧めします。これはより信頼性が高く、スタイルを緩和するためのより多くのオプションを提供します。