Camera tích hợp sẵn của Roblox cung cấp chế độ người thứ ba mặc định và chế độ người thứ nhất tùy chọn, vì vậy bạn không cần phải xây dựng camera theo dõi riêng. Đối với các tình huống tùy chỉnh hơn, bạn có thể điều chỉnh các thuộc tính mặc định trong Camera hoặc thay thế hoàn toàn như cho các góc nhìn qua vai, isometric và ngắm vũ khí.
Cài đặt cơ bản
Bạn có thể cấu hình các cài đặt camera thông thường trực tiếp trong đối tượng StarterPlayer của Studio. Các cài đặt này bao gồm khoảng cách zoom và các chế độ camera, che khuất, và di chuyển khác nhau.
Trong cửa sổ Explorer, chọn đối tượng StarterPlayer.

Trong cửa sổ Properties, cuộn xuống để tìm phần Camera. Bạn có thể cấu hình các thuộc tính sau trực tiếp hoặc thông qua một script.

Khoảng cách zoom
Cùng với CameraMaxZoomDistance và CameraMinZoomDistance xác định khoảng cách mà người chơi có thể zoom camera liên quan đến nhân vật của họ. Đặt một giá trị tối đa rất cao như 500 cho phép người chơi zoom camera ra xa trong không gian. Nếu bạn muốn khóa camera ở một khoảng cách cụ thể từ nhân vật và ngăn chặn việc zoom, hãy đặt cả hai thuộc tính này thành cùng một giá trị.
local Players = game:GetService("Players")
local player = Players.LocalPlayer
player.CameraMaxZoomDistance = 25
player.CameraMinZoomDistance = 50Chế độ camera
Thuộc tính CameraMode xác định hành vi tổng thể của camera giữa hai tùy chọn:
| Cài đặt | Mô tả |
|---|---|
| Cổ điển | Camera người thứ ba cổ điển của Roblox có thể được zoom vào chế độ người thứ nhất. Cho phép người chơi zoom vào và ra (trừ khi zoom bị khóa) và xoay camera quanh nhân vật của họ. |
| KhóaNgườiThứNhất | Khóa camera ở chế độ người thứ nhất. Khi ở chế độ này, tất cả các phần/đối tượng của nhân vật người chơi đều không nhìn thấy, ngoại trừ các Tools đã trang bị. |
Chế độ che khuất
Thuộc tính DevCameraOcclusionMode điều khiển hành vi của camera khi người chơi không thể nhìn thấy nhân vật của họ, chẳng hạn như khi nó bị che khuất bởi một BasePart.
| Cài đặt | Mô tả |
|---|---|
| Zoom | Nếu nhân vật của người chơi di chuyển ra sau một đối tượng có Transparency thấp hơn 0.25, camera sẽ zoom rất gần vào nhân vật để có thể nhìn thấy. Khi nhân vật di chuyển trở lại vị trí có thể nhìn thấy, camera sẽ zoom ra trở lại. |
| Invisicam | Nếu nhân vật của người chơi di chuyển ra sau một đối tượng có Transparency thấp hơn 0.75, camera vẫn không di chuyển nhưng đối tượng trở nên bán trong suốt để nhân vật có thể nhìn thấy. Khi nhân vật di chuyển trở lại vị trí có thể nhìn thấy, đối tượng sẽ trở lại độ trong suốt bình thường. |
Chế độ di chuyển
DevComputerCameraMovementMode (máy tính) và DevTouchCameraMovementMode (điện thoại/máy tính bảng) xác định cách người chơi có thể di chuyển camera xung quanh.
| Cài đặt | Mô tả |
|---|---|
| LựaChọnNgườiDùng | Camera sẽ di chuyển dựa trên cài đặt camera trong trò chơi của người chơi. |
| Cổ điển | Camera giữ ở khoảng cách zoom, theo dõi nhân vật của người chơi khi nó di chuyển xung quanh thế giới. Người chơi cũng có thể nghiêng góc nhìn camera lên/xuống và xoay nó quanh nhân vật của họ. |
| TheoDõi | Tương tự như Cổ điển nhưng camera có thể xoay nhẹ để đối diện với nhân vật của người chơi nếu họ di chuyển theo bất kỳ hướng nào không song song với hướng mà camera đang đối diện. |
| QuỹĐạo | Camera giữ ở một khoảng cách zoom cố định và theo dõi nhân vật của người chơi khi nó di chuyển xung quanh thế giới. Người chơi có thể xoay camera quanh nhân vật của họ nhưng không thể nghiêng góc nhìn lên hoặc xuống. |
| ChuyểnĐổiCamera | Chỉ hoạt động trên máy tính (không phải điện thoại/máy tính bảng) thông qua DevComputerCameraMovementMode. Khi người chơi nhấp chuột phải, camera sẽ chuyển đổi giữa chế độ Cổ điển và chế độ "nhìn tự do" nơi di chuyển chuột sẽ nhìn xung quanh thế giới. |
Lập trình camera
Mỗi client của người chơi có một đối tượng Camera riêng nằm trong Workspace cục bộ, có thể truy cập thông qua thuộc tính Workspace.CurrentCamera. Bạn có thể ghi đè các script camera mặc định của Roblox bằng cách đặt CameraType thành Scriptable và sau đó, thường là, điều khiển camera thông qua các thuộc tính sau.
| Thuộc tính | Mô tả |
|---|---|
| Camera.CFrame | CFrame của camera. Đây là thuộc tính thường được sử dụng nhất để định vị và định hướng một camera Scriptable trong một trò chơi. |
| Camera.FieldOfView | Phạm vi không gian 3D có thể quan sát được trên màn hình, đo giữa 1–120 độ theo hướng được xác định bởi Camera.FieldOfViewMode. Mặc định là 70. |
| Camera.CameraType | Chuyển đổi giữa các hành vi camera khác nhau được nêu trong Enum.CameraType, một số trong đó mô phỏng các chế độ di chuyển có thể chọn. Đặt thuộc tính này thành Scriptable sẽ cho bạn toàn quyền kiểm soát camera. |
| Camera.Focus | Điểm trong không gian 3D mà camera đang nhìn. Nếu bạn đã đặt Camera.CameraType thành Scriptable, bạn nên cập nhật thuộc tính này mỗi khung hình vì một số hình ảnh sẽ chi tiết hơn tùy thuộc vào độ gần của chúng với điểm tiêu điểm. |