Các chuyên gia trong ngành xây dựng trò chơi sử dụng UE4 có sử dụng Blueprints không, hay họ chỉ sử dụng C ++?


15

Là một giáo viên trong một mô-đun phát triển trò chơi, tôi thường nhấn mạnh rằng người dùng sử dụng C ++, vì đây là một kỹ năng được tìm kiếm nhiều hơn trong ngành, nhưng hỗ trợ và thông tin trực tuyến về C ++ trong Unreal Engine 4 có vẻ tương đối yếu. Hiện tại các chuyên gia có đang sử dụng Blueprints hay không?


11
Tài liệu sẽ không phải là thước đo tốt về việc sử dụng bao nhiêu thứ.
MichaelHouse

Tài liệu về Unreal Engine 4 C ++ còn thiếu vì bạn tự mình đọc và đọc mã. Bạn hoàn toàn không cần tài liệu nếu bạn có thể truy cập mã nguồn. Mặc dù vậy, thật tuyệt khi có nó.
Oxy

1
@Oxy Mã nguồn không thay thế cho tài liệu. Giai đoạn = Stage. Nguồn là nhiều khó khăn hơn để đọc hơn tài liệu hướng dẫn, theo định nghĩa, bởi vì điểm của tài liệu là để chưng cất những gì một chức năng thực hiện sang một định dạng có thể đọc được. Điều này hoàn toàn đúng với mã hiệu năng cao, cực kỳ có khả năng, như Unreal.
Vụ kiện của Quỹ Monica

1
Tôi đang giải thích những gì xảy ra, không biện minh. "Tuy nhiên, thật tuyệt khi có nó." Và tốt hơn hết bạn nên đọc mã của các hàm bạn sử dụng, ngay cả các hàm được ghi lại, bởi vì một số hàm quan trọng có vàng cố định là "foo (x) {/ * foo Không được triển khai, thay vào đó là thanh (x) vì thường hoạt động như foo (x ) đã được thực hiện * / bar (x);}. Tôi vẫn phải thấy một hệ thống tài liệu đang hoạt động theo kịp tiến hóa mã. Khác với tài liệu tự động không có gì khác hơn là phun các loại tham số và kiểu trả về, giống như đọc một tiêu đề nào.
Oxy

Câu trả lời:


25

Có, các trò chơi chuyên nghiệp sử dụng Blueprints.

Một số sử dụng kết hợp C ++ và Blueprints. Chúng tôi sử dụng cả hai trên Dead by Ánh sáng ban ngày.

Một trong những điều tuyệt vời về Blueprints là những người không lập trình có thể có quyền truy cập vào khả năng hành vi của tập lệnh. Không phải mọi dự án sẽ sử dụng chúng theo cách này, nhưng đó là một trong những lý do chúng được thiết kế. Họ đã thay thế UnrealScript làm phương tiện thay đổi hành vi mà không cần nhấn C ++ và họ cũng thay thế Kismet, hệ thống kịch bản hình ảnh của Unreal 3.


Bạn có thể mở rộng? Chỉ có các lập trình viên sử dụng Blueprints, hoặc chỉ nhân viên "phi kỹ thuật", hoặc một chút của cả hai? Nó được sử dụng cho các mục đích cụ thể, hoặc cho bất cứ điều gì?
KABoissonneault

7
@KABoissonneault Đó là một sự pha trộn rất nhiều. Hầu hết thời gian không có cách dễ dàng để phân định rõ ràng giữa những gì lập trình viên làm việc so với những gì người không lập trình làm việc trên đó. Điều đó đặc biệt đúng nếu bạn có một nhà thiết kế, những người có thể sẽ muốn chỉnh sửa tất cả các mã. Bản thiết kế cũng được sử dụng rất nhiều để tạo mẫu nhanh và chúng không nhất thiết phải được chuyển đổi thành C ++ nếu hiệu suất không yêu cầu. Nó cũng sẽ thay đổi rất nhiều theo studio và dự án, vì vậy không có ai trả lời.
Vụ kiện của Quỹ Monica

9

Một giai thoại nhỏ từ bên ngoài ngành công nghiệp trò chơi: Chúng tôi sử dụng UE4 để trực quan hóa kiến ​​trúc trong VR.

Mặc dù tôi muốn có hầu hết mọi thứ được xây dựng trong C ++, chúng tôi cũng sử dụng Blueprints rất nhiều cho tất cả các loại "logic bổ sung" như công tắc đèn, cửa, v.v.

Đó là cách này trong hơn hai năm nay và tôi là lập trình viên duy nhất khi bắt đầu nỗ lực này. Vì vậy, đây là những quan sát của tôi:

  • Thật đáng kinh ngạc những gì người không lập trình có thể làm với Blueprints!
  • Tôi có thể kinh hoàng những gì lập trình viên mới làm với Blueprints;)
  • Ngay cả khi cuối cùng tôi chuyển đổi nó thành C ++, Blueprints vẫn tốt cho giai đoạn RnD nhanh chóng

Và điều lớn nhất đối với tôi: Trong rất nhiều cuộc trò chuyện, tôi thấy rõ rằng Blueprints đã khơi dậy mong muốn trở thành lập trình viên trong các đồng nghiệp phi công nghệ của tôi. Lý do chính điều này xảy ra là họ có thể thực hiện logic khá phức tạp trong khi có thể gỡ lỗi nó một cách trực quan.

Họ thực sự đã học được một số bài học khó về kiến ​​trúc phần mềm và những cạm bẫy (hay đúng hơn là ác mộng) của các bản thiết kế spaghetti khổng lồ. Nhưng chỉ sau khi đã cảm thấy rất nhiều thành công nhỏ trên đường đi! Vì vậy, họ không nản lòng chút nào mà chỉ có động lực để làm tốt hơn và tự mình tìm ra cách làm như vậy.

Kể từ khi họ tham gia các khóa học về C ++, Python và C #, chất lượng tổng thể của Bản thiết kế của chúng tôi đã trở nên tốt hơn, nhưng hầu hết tất cả: Bây giờ tôi có một số trợ giúp khi phát triển các lib cốt lõi của chúng tôi :)

TLDR;

Vâng, chúng tôi đang sử dụng Blueprints và họ thậm chí còn làm cho các đồng nghiệp phi công nghệ ban đầu của tôi trở nên tốt hơn.


1
Một trong những điều hay về ngôn ngữ hình ảnh như Blueprints là bạn không cần phải lo lắng về cú pháp và chúng thường được trừu tượng hóa đến mức bạn có thể làm được rất nhiều với rất ít bản tóm tắt . Chúng giúp bạn dễ dàng học cách viết mã mà không bị sa lầy bởi cú pháp. Họ cũng thường ở cấp độ quá cao không làm bất kỳ pháp sư nào , nhưng, bạn biết đó là một sự đánh đổi mà tôi sẵn sàng để cho những người không phải là lập trình viên có ảnh hưởng trực tiếp đến hành vi của trò chơi.
Vụ kiện của Quỹ Monica

@NicHartley thử làm myVector.x += otherVector.xtrong Blueprints. : o
Almo

1
@ Almo Tôi chắc chắn khoảng 90% là có thể, trừ khi bạn thực sự muốn nó là một "dòng". Chỉ là (get myVector x) (get otherVector x) -> (+) -> (assign myVector x)(wow, thật khó để viết ra Bản thiết kế trong văn bản ...). Mặc dù vậy, tôi không có bản sao của Unreal để kiểm tra. Hoặc, nếu các vectơ là bất biến, thì hãy tạo một cái mới,(myVector.x + otherVector.x, myVector.y, myVector.z)
Vụ kiện của Quỹ Monica

1
Điều đó chắc chắn là có thể, nhưng nó lộn xộn. Dòng vector vào một hộp Break, có đầu ra x, y, z. Làm điều đó hai lần, một lần để lấy myVector.x và lần khác để lấy otherVector.x, thêm chúng và định tuyến nó vào một hộp gán.
Almo

1
Tôi không nói bạn không thể. Chỉ là nó gớm ghiếc.
Almo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.