NPC (nhân vật không người chơi) có thể thêm rất nhiều chiều sâu cho một trải nghiệm.Tất cả các NPC sau đây có thể được tùy chỉnh hình thức, hành vi của chúng đã được sửa đổi , và thây ma/lính có thể thậm chí bảo vệ một khu vực bằng cách tấn công người chơi hoặc nhân vật khác bằng cách sử dụng hệ thống thẻ để đặt hành vi.
Để sử dụng một NPC trong trò chơi của bạn:
Trên trang vật phẩm của NPC, nhấp vào nút xanh lam Nhận và xác nhận giao dịch.
Trong Roblox Studio, mở Hộp công cụ ( Xem → Hộp công cụ ).
Chọn phần hộp công cụ của bạn Túi đồ .
Tìm NPC và nhấp vào nó để thêm nó vào địa điểm.
Cấu trúc nhân vật
Mỗi mô hình NPC thường chứa các đối tượng sau:
Tên đối tượng hoặc [Loại] | Loại | Mô tả |
---|---|---|
Hoạt hình | Folder | Bao gồm Animations , như một AttackAnimation hoặc DeathAnimation . |
Tư thế ban đầu | Folder | Bao gồm thông tin tạo dáng. |
Hoạt hình | Script | Tải và chơi hoạt hình trên nhân vật rig. Xem Hoạt họa để biết thêm chi tiết. |
[Phụ kiện] | Accessory | Một trong có thể nhiều Accessories cho NPC như mũ, vũ khí, etc |
Sức khỏe | Script | Thông thường sẽ tái sinh sức khỏe Humanoid theo thời gian. Vô hiệu hóa nó sẽ ngăn chặn nhân vật không tái sinh sức khỏe. |
Người nhân tạo | Humanoid | Quản lý các tính năng liên quan Humanoid như Humanoid.Health , Humanoid.WalkSpeed , Humanoid.DisplayDistanceType , v.v. |
NPC | Script > | Xác định các hành vi cụ thể của nhân vật như di chuyển, tấn công, etc.Cha của các đối tượng sau: Người giúp việc ( ModuleScript ) xác định một lớp hữu ích trong việc giải phóng tài nguyên được sử dụng.: Ragdoll ( ModuleScript ) xác định một chức năng biến một nhân vật thành một cơ thể lỏng bị ảnh hưởng bởi vật lý (cha mẹ một RigTypes ModuleScript ) xác định một số chức năng trợ giúp). |
Âm thanh RbxNpc | Script | Xác định và quản lý hành vi liên quan đến hiệu ứng âm thanh nhân vật như chạy, chết, v.v. |
Các phần cơ thể | BasePart | Các bộ phận cơ thể nhân vật khác nhau được gắn vào HumanoidRootPart hoặc các bộ phận cơ thể lân cận thông qua Motor6D hoặc các đối tượng hạn chế.Xem BodyParts để biết thêm chi tiết. |
Phần rễ con người | BasePart | Một phần vô hình đặc biệt được coi là rễ của cấu trúc; đây cũng là PrimaryPart của nhân vật Model . |
Cài đặt | Configuration | Bao gồm các đối tượng giá trị điều chỉnh các hành vi khác nhau. Xem Tùy chỉnh để biết thêm chi tiết. |
Ghi chú thiết kế
Khi sử dụng bộ NPC, hãy lưu ý các ghi chú thiết kế sau:
Sự xuất hiện hình ảnh của một NPC có thể được tùy chỉnh bằng cách thêm/sửa đổi các đối tượng [BodyParts] khác nhau và bằng cách thêm Accessory các đối tượng.
Lính, Zombie Drooling và Robot NP-C 9000 sử dụng Rthro làm cơ sở của bộ giàn của họ.Tuy nhiên, các Robot RO-01 sử dụng một cơ sở Rthro đã được sửa đổi thêm các bộ phận đẩy kết nối với UpperTorso bằng cách sử dụng WeldConstraints .Sử dụng các khớp đơn giản theo cách này cho phép bạn bao gồm thêm hình học cho nhân vật của bạn mà không thay đổi cấu trúc nguyên bản.
Ở cấp cơ bản, hoạt hình NPC có thể được tùy chỉnh bằng cách sửa đổi AnimationId của các đối tượng hoạt hình hiện có trong Animate kịch bản, hoặc những người trong thư mục Animations .Một thay đổi như vậy về cơ bản là một cuộc trao đổi tài sản - để thay đổi chi tiết hơn, bạn có thể tạo bản sao tùy chỉnh của các hoạt hình hiện có, và để chơi hoạt hình dưới các điều kiện khác nhau, bạn có thể chỉnh sửa các Animate hoặc NPC tập lệnh trực tiếp.Để biết thêm thông tin, xem Hoạt hình .
Hoạt hình
Hoạt hình Script trong NPC Model xử lý các cấu hình liên quan đến hoạt hình và bao gồm các đối tượng sau:
Tên đối tượng hoặc [Loại] | Loại | Mô tả |
---|---|---|
Tỷ lệ giảm độ rung thước đo | NumberValue | Xác định cách tốc độ hoạt hình được thay đổi khi nhân vật được thu nhỏ (ít hơn 1 có nghĩa là tốc độ phát lại hoạt hình đảo ngược khi nhân vật được thu nhỏ). |
Chơi biểu cảm | BindableFunction | Điều này có thể được gọi bởi các kịch bản khác để buộc giả định về một tư thế. |
[Tạo dáng] | StringValue | Tham chiếu đến một danh mục hoạt hình có thể chơi như nhàn rỗi, nhảy, đi bộ, v.v.Vật này có thể làm cha của bất kỳ số lượng Animations . Những Animations cha mẹ này Trọng lượng ( NumberValue ) ưu tiên một trong nhiều hoạt hình để chơi trong khi tư thế được cho là; thường được sử dụng để thêm đa dạng cho các tư thế rảnh rỗi và nhảy múa. |
Các phần cơ thể
Phần cơ thể BasePart trong NPC Model đại diện cho các phần cơ thể nhân vật khác nhau và bao gồm các đối tượng sau:
Tên đối tượng hoặc [Loại] | Loại | Mô tả |
---|---|---|
Loại Thước đo AvatarPart | StringValue | Xác định cách phần sẽ được thu nhỏ; các giá trị có thể là Cổ điển , Tỷ lệ bình thường hoặc Tỷ lệ mỏng . |
Kích thước gốc | Vector3Value | Xác định kích thước của phần khi kích thước nhân vật là 1. |
[Phụ lục] | Attachment | Xác định một điểm tương quan với phần riêng lẻ mà các kịch bản, hiệu ứng và đối tượng như Tool hoặc Accessory có thể sử dụng trong quá trình định vị. |
[Xăng 6D] | Motor6D | Một khớp hoạt hình giữa hai phần cơ thể.Lưu ý rằng Animator phụ thuộc vào tên của Motor6Ds để phù hợp với tên của Motor6Ds được sử dụng khi tạo một hoạt hình, vì vậy tránh đổi tên cho đối tượng này. |
[Cộng tác] | WeldConstraint , Constraint , JointInstance | Một khớp không di chuyển giữa hai phần cơ thể. |
[Không gian] | Sound | Thường được tìm thấy trong đầu hoặc HumanoidRootPart ; phát ra âm thanh từ bên trong cỗ máy như được kiểm soát bởi kịch bản RbxNpcSounds . |
Cài đặt
Mỗi NPC bao gồm một đối tượng Configuration trong cấu trúc của nó hoạt động như một thùng chứa các đối tượng giá trị.Chúng được sử dụng bởi kịch bản NPC để điều chỉnh các hành vi khác nhau.Trừ khi được định nghĩa khác, chúng áp dụng cho tất cả các nhân vật.
Tên đối tượng hoặc [Loại] | Loại | Mô tả |
---|---|---|
Phá hủy khi chết | BoolValue | Gây ra việc toàn bộ NPC bị phá hủy ngay sau khi chết. Vô hiệu hóa điều này để các ragdolls trở nên bền vững. |
PatrolEnabled được bật | BoolValue | Gây ra NPC lang thang trong khu vực xung quanh vị trí bắt đầu của nó. |
Bán kính tuần tra | NumberValue | Xác định khoảng cách tối đa mà một NPC sẽ lưu lưu từ vị trí bắt đầu của nó, cho rằng PatrolEnabled là đúng. |
RagdollEnabled được bật | BoolValue | Gây cho NPC bị teo cứng khi chết, thay vì bị phá vỡ. |
Sát thương tấn công | NumberValue | Xác định lượng sức khỏe bị mất bởi một nạn nhân khi bị tấn công bởi NPC. Điều này áp dụng cho bộ dụng cụ Zombie và Lính chỉ. |
Thời gian trì hoãn tấn công | NumberValue | Xác định số tối thiểu giây giữa các phát bắn. Điều này áp dụng cho bộ dụng cụ lính chỉ. |
Cách tấn công Mode | NumberValue | Xác định những gì binh sĩ sẽ tấn công, dựa trên hệ thống đánh dấu tagging. Điều này chỉ áp dụng cho bộ dụng cụ binh sĩ. |
Bán kính tấn công | NumberValue | Xác định khoảng cách tối đa mà NPC phải từ một nạn nhân tiềm năng trước khi nó cố gắng tấn công. Điều này áp dụng cho bộ dụng cụ Zombie và Lính chỉ. |
Dung lượng khung hình | NumberValue | Xác định bao nhiêu viên đạn mà lính có thể bắn trước khi cần nạp đạn lại. Điều này áp dụng cho bộ dụng cụ lính chỉ. |
Thời gian trì hoãn nạp lại | NumberValue | Xác định bao nhiêu giây phải trôi qua trước khi băng đạn của vũ khí lính được nạp lại. Điều này áp dụng cho bộ dụng cụ lính chỉ. |
Gán nhãn
Tập lệnh NPC sử dụng thẻ CollectionService để quản lý sự hung hăng đối với các nhân vật và người chơi khác.Các thẻ khác nhau từ bảng sau có thể được gán như sau:
Để gán nhãn cho NPC khác, gán chúng vào cấp cao nhất của NPC bằng cách sử dụng phần Nhãn của các tính năng của nó, hoặc Trình Chỉnh Nhãn của Studio .
Để gán một thẻ cho một nhân vật Player , bạn có thể thêm một Script vào StarterCharacterScripts với một cuộc gọi CollectionService:AddTag(). Ví dụ:
local CollectionService = game:GetService("CollectionService")CollectionService:AddTag(script.Parent, "SoldierEnemy")
Nhãn | Mục đích |
---|---|
Kẻ Thù Lính hoặc Bạn Lính | Xác định xem liệu một lính, dựa trên giá trị cấu hình Tấn công mode của nó, có nên tấn công một nhân vật khác hay không.Khi chế độ tấn công của lính được đặt thành AttackMode , các nhân vật khác phải được gắn thẻ với SoldierEnemy để được xem xét có thể tấn công.Khi chế độ tấn công của lính được đặt thành AttackMode , tất cả các đối tượng không có thẻ SoldierFriend được coi là có thể tấn công.Khi chế độ tấn công của lính được đặt thành AttackMode , những thẻ này sẽ bị bỏ hoàn toàn và lính sẽ tấn công tất cả các nhân vật. |
Bạn Zombie | Thẻ này được zombie sử dụng để xác định xem nó có nên không tấn công một nhân vật hay không.Khi được áp dụng, thây ma trở nên ngoan ngoãn đối với nhân vật được gắn thẻ. |