Làm thế nào là đạn được mô phỏng trong các trò chơi video?


86

Gần đây tôi đã chơi các trò chơi như MW2 và, với tư cách là một lập trình viên, tôi có xu hướng tự hỏi làm thế nào để họ làm cho trò chơi trở nên hấp dẫn như vậy. Ví dụ, làm thế nào để họ mô phỏng tốc độ đạn.

  1. Khi một NPC bắn một viên đạn từ súng của anh ta, viên đạn có thực sự di chuyển từ khẩu súng của anh ta đến mục tiêu đã cho hay họ hoàn toàn bỏ qua phần này và chỉ đặt một lỗ đạn vào mục tiêu?

  2. Nếu viên đạn thực sự di chuyển từ súng đến mục tiêu, thì nó thực sự di chuyển ở tốc độ nào?


25
Màn hình đẫm máu, thật quá!
Tấn

6
bắn :
BOOOOORRRIIIING

1
Tôi không chắc liệu bạn có thể gọi viên đạn của Megaman Legend là viên đạn hay không, nhưng trong Megaman, họ sử dụng những viên đạn chậm để làm viên đạn. Trong đó, bạn có thể thấy rõ các bức ảnh cong nếu bạn chạy theo vòng tròn trong khi chụp (hiệu ứng coriolis).
Nói dối Ryan

Câu trả lời:


84

Hầu hết các game FPS sử dụng raycasting cho lối chơi thực tế; đạn ngay lập tức di chuyển và bắn trúng mục tiêu khi bắn.

Nhưng hầu hết các trò chơi cũng sử dụng các công cụ theo dõi "giả". Cứ sau 3 phát bắn, hoặc một số khoảng thời gian khác, một người theo dõi sẽ được bắn cùng với viên đạn, người theo dõi sẽ thực sự nhanh, nhưng không tức thời. Điều này chỉ được thực hiện dưới dạng hiệu ứng hình ảnh và không ảnh hưởng trực tiếp đến trò chơi, nhưng giúp cung cấp tín hiệu cho người bắn, người bắn và cung cấp cho người ngoài cuộc một tham chiếu định hướng về tiếng súng.

Hầu hết các trò chơi sử dụng các loại vật lý viên đạn này là không thực tế, vì không có ricochets, không có mảnh đạn và nếu có bất kỳ sự xâm nhập nào, nó thường là tuyến tính.

Một số trò chơi, chẳng hạn như ARMA II, STALKER (toàn bộ loạt) sử dụng vật lý đạn thực tế hơn với thời gian di chuyển, ricochets và thâm nhập với các góc lệch. Tôi tin rằng các hệ thống này đang sử dụng raycasting, nhưng với một giới hạn được xác định bởi tốc độ của viên đạn. Với những trò chơi này, vận tốc mõm có thể thực tế như trong ARMA II, hoặc trông có vẻ đúng như trong STALKER.

Tôi rất thích có vật lý đạn thực tế, như súng bắn đạn chứ không phải laser.


1
Không chơi bất kỳ trò chơi nào được đề cập, làm thế nào để chơi trò chơi này? Ý tôi là, nếu bạn sử dụng vật lý đạn vào một trò chơi như Call of Duty, bạn có thực sự thấy một sự khác biệt đáng chú ý không? Là góc thâm nhập mà thay đổi trò chơi? Người chơi thậm chí có nhận ra rằng nhân vật của họ không xếp hàng với lỗ đạn liên quan đến người bắn không? Chỉ tò mò những lợi ích có được để biện minh cho chi phí. Cảm ơn trước.
Dutchie432

Nó thêm một lớp không thể đoán trước và độ sâu cho cơ chế chụp mà tôi thấy hài lòng. Đạn không phải là ngay lập tức !!! chuckhawks.com/rifle_ballistic_table.htmlm Một con sên đi 2644 feet mỗi giây trong 600 feet mất hơn 2 giây để bắn trúng mục tiêu không chiếm thêm tốc độ chậm. Một mục tiêu đang chạy sẽ bị bỏ lỡ nếu bạn nhắm trực tiếp vào nó. Một khoảng cách xa hơn sẽ cho phép con sên đi chậm hơn tốc độ âm thanh, cho phép mọi người nhảy xuống đất hoặc người khác nếu họ nghe thấy tiếng bắn.
Tấn

Có một số tuyên bố không chính xác được đưa ra trong câu trả lời này và nên được xóa. Kiểm tra câu trả lời của tôi dưới đây.
EddieV223

1
Các viên đạn trong ArmA 2 là các viên đạn mô phỏng; chúng có thể được sửa đổi (thay đổi vận tốc, thay đổi hướng) giữa chuyến bay và va chạm với các vật thể khi chúng di chuyển. Cho dù điều này được thực hiện bằng cách đúc tia hay không là không liên quan, chúng hoạt động như các đối tượng vật lý thực sự.
giảm tốc

vậy mw2? chiếu hay không? Bởi vì họ rõ ràng đã làm rất tốt trong việc mô phỏng các lỗ đạn và môi trường bị phá hủy bởi nó
mahen23

51

Đối với đạn, chúng thường không bận tâm mô phỏng viên đạn thực sự bay trong không khí và chỉ cần đặt một viên đạn vào mục tiêu ngay khi nó bắn. Những thứ khác như tên lửa chậm hơn * và trò chơi thực sự cho thấy chúng di chuyển trên không.

Ở khoảng cách ngắn, các viên đạn sẽ di chuyển, cùng với khoảng thời gian giữa các khung hình, chúng sẽ đi từ người bắn đến mục tiêu giữa hoặc trong vòng 1 khung hình.

* Nghĩa là, chậm hơn so với tên lửa ngoài đời thực, để người chơi thấy chúng bay trong không trung.


44

Tôi đã viết mã đạn cho PlanetSide. Chúng tôi đã có một vài viên đạn 'hitcan', nhưng chủ yếu mô phỏng các viên đạn một cách tốt nhất chúng tôi có thể đưa ra các hạn chế của CPU và số lượng đạn khổng lồ đang chơi bất cứ lúc nào.

Trong trường hợp của hitcan, tác động được xác định trong cùng một khung với đầu vào được nhận, thường sử dụng một raycast. Điều này phù hợp với các vũ khí như laser hoặc các loại đạn cực nhanh khác. Chúng tôi đã tạo ra hitcan chỉ bằng cách điều chỉnh vận tốc ban đầu trên đường đạn cao đến mức nó sẽ vượt qua bảng trò chơi chỉ trong một tích tắc.

Các viên đạn không phải là hitcan được đánh dấu, theo thời gian của khung đồ họa hoặc theo dấu thời gian cố định, với các tính toán để tăng tốc (nghĩ tên lửa), trọng lực, ma sát không khí, hướng dẫn (nghĩ đạn tìm nhiệt) v.v. Mục tiêu là tạo ra vị trí đầu cuối của đạn cho dấu thời gian. Khi điểm bắt đầu và điểm kết thúc được thiết lập, một hoặc nhiều tia có thể được sử dụng để xấp xỉ đường bay và phát hiện bất kỳ va chạm nào sẽ xảy ra trong chuyến bay.

Trong cả hai tên lửa hitcan và non hitcan, những gì xảy ra khi va chạm phụ thuộc vào thuộc tính đạn của bạn và bề mặt bạn tác động. Ví dụ: bạn có thể chạm vào bề mặt cứng, trong trường hợp đó bạn có thể kiểm tra số lần nảy của mình và điều chỉnh vị trí và vận tốc trên mỗi phản xạ hoặc kích nổ đạn nếu bạn đạt số lần nảy tối đa. Trong hệ thống này, một tên lửa chỉ có số lần nảy tối đa là 0. Bạn có thể chạm vào bề mặt mềm và sau đó kiểm tra sức xuyên thấu của bạn để xác định xem đạn có tiếp tục xuyên qua vật liệu hay không, v.v.

Đó là mã thú vị để viết. Ngoài ra, thật hữu ích khi viết trực quan gỡ lỗi tốt về những gì đang diễn ra để bạn có thể kiểm tra đường bay, sự kiện, v.v.


2
Tôi đã chơi Planetside trước khi tôi tham gia vào chương trình trò chơi hay, và âm thanh đó có vẻ rất thú vị để viết mã.
Anthony

18

Nó phụ thuộc vào trò chơi và mức độ chính xác / hiện thực.

Đồng bộ hóa các mô hình bắn và gây sát thương trong cài đặt nhiều người chơi là khá khó khăn vì bạn cần xác định chính xác vị trí và thời điểm chính xác viên đạn được bắn, liệu nó có bắn trúng mục tiêu hay không và liệu có thứ gì khác đi qua đường dẫn hay không.

Do đó, tôi nghi ngờ rằng khi các nhà thiết kế trò chơi có thể đơn giản hóa mọi thứ bằng cách coi một số bức ảnh là tức thời (để bạn chỉ cần xem xét vị trí của mọi người tại một thời điểm) hoặc bằng cách hạn chế phạm vi của viên đạn. May mắn thay, điều này thường tương ứng với vật lý thực tế. Ví dụ, súng bắn tỉa bắn đạn tốc độ cao.

Nhiều trò chơi có thể mô phỏng đường dẫn nhiều ảnh chụp nhanh của một vật thể di chuyển chậm (như pháo, bom, đạn đánh dấu, v.v.) nhưng điều đó rất tốn kém và các vấn đề đồng bộ hóa phổ biến hơn, dẫn đến các video youtube hài hước.

Một mối quan tâm khác là với các trò chơi duy trì các "môi trường" nhỏ hơn riêng biệt (ví dụ: mỗi phòng được mô phỏng riêng) để tạo ảo giác về một không gian lớn hơn. Trong những trường hợp này, mọi thứ trong ranh giới của một "căn phòng" có thể được mô phỏng chính xác để mọi người trong phòng được cập nhật về chuỗi chuyển đổi trong không gian mà viên đạn tạo ra, nhưng những thứ khác bên ngoài môi trường đó thì không.


14

Đối với các viên đạn di chuyển nhanh hơn mắt có thể nhìn thấy, chiếu tia thường được sử dụng - một tia từ mõm được tính toán theo hướng thích hợp và được thử nghiệm chống lại các đối tượng mục tiêu tiềm năng để xác định thứ gì bị bắn trúng. Điều này có thể phức tạp với nhiều tia và một số tính toán bổ sung nếu bạn muốn mô phỏng những thứ như thả đạn và như vậy. Bạn cũng có thể cung cấp cho các dự án một tốc độ và sử dụng điều đó để thêm một số hiện thực bổ sung vào tính toán (vì vậy đạn không phải là tức thời).


11

Nó phụ thuộc vào việc triển khai nhưng tôi biết rằng Công cụ Nguồn không sử dụng đạn vật lý (vật thể phóng), họ chỉ thực hiện một tia chiếu từ người chơi đến mục tiêu với vòng tròn "vùng trúng" ngẫu nhiên (bán kính lớn hơn hoặc nhỏ hơn phụ thuộc vào vũ khí bắn ra nhanh như thế nào và nếu người chơi giữ nút bắn xuống) mà trung tâm của nó là điểm mà người chơi đang nhắm, thì sau khi xác định tia thực tế từ người chơi đến điểm được xác định ngẫu nhiên và tùy thuộc vào các yếu tố khác (như viên đạn "trọng lượng" và vận tốc mõm (tất cả các số bên trong), vật thể trúng, v.v.) tia đúc được truyền qua nhiều vật thể hoặc cho đến khi nó chạm vào địa hình.

Mặt khác, Torque 3D Engine DID sử dụng các vật thể phóng thực tế và nhà thiết kế có thể ảnh hưởng đến tốc độ, khối lượng và bộ điều chỉnh trọng lực riêng của chúng. Tất cả các công cụ đã làm là cập nhật các giá trị cứ sau 32 mili giây.

BIÊN TẬP

Ngoài việc sử dụng các vật thể phóng, Công cụ mô-men xoắn 3D còn cho phép sử dụng phôi tia thay thế. (Tôi đã thực hiện một số trò chơi trong đó "đạn phóng" thực sự là một hiệu ứng hạt mà không có sự hỗ trợ nào mà các vật thể phóng đã làm nên cần phải sử dụng tia.)


câu chuyện tuyệt vời bro. tuy nhiên, tôi chắc chắn rằng công cụ Torque 3D cần nhiều sức mạnh xử lý hơn, để tính toán tất cả các vật lý này.
mahen23

@ mahen23 Bạn sẽ ngạc nhiên. Nó có các tính toán vật lý LESS hơn so với Source Engine đã làm, một phần vì nó hoàn toàn không xử lý các va chạm của Softbody, chỉ có các hộp va chạm và va chạm đơn giản.
Casey

10

Có một bài viết khá thú vị trên wiki Team Fortress 2 về hành vi của vũ khí đạn và đạn của họ.

http://wiki.teamfortress.com/wiki/Mechanics#Hit_detection


2
Wiki đó là một đọc tốt.
mgiuca

Mặc dù phần đó ngắn, nhưng nó giải thích cả hitcan và non-hitcan và nó giải thích hitbox là gì và cách chúng được sử dụng.
jhocking

nhớ đọc các bài viết phụ "Chiếu" và "Số lượt truy cập" ngay dưới tiêu đề của phần đó
lunixbochs

6

Trên thực tế, nhiều trò chơi sử dụng thuật toán kiểm tra kết xuất gpu. Đây là cách cơ bản để nó hoạt động:

1) Tắt màn hình tạo kết xuất của chế độ xem hiện tại trong đó mọi địa hình đều màu đen và mọi ký tự đều là màu không phải màu đen 2) Lấy màu của pixel dưới mái tóc chéo 3) Nếu đó không phải là màu đen, hãy tìm màu > lập bản đồ người chơi và áp dụng một cú đánh vào mục tiêu đó.

Phương pháp này đã được sử dụng trong nhiều năm trong các trò chơi chủ yếu là vì nó là pixel hoàn hảo. Nếu một pixel của chiếc mũ của người chơi ló ra từ phía sau bức tường, bạn có thể đánh anh ta. IE nếu bạn có thể nhìn thấy nó, bạn có thể nhấn nó. Loại chính xác này là không thể với các kỹ thuật đúc tia đơn giản. Và thứ hai, loại thử nghiệm này cực kỳ nhanh và có thể được thực hiện trên GPU.


Màu sắc-> tra cứu người chơi nghe có vẻ đau? Nếu bạn chiếu nó, nó sẽ không có hiệu quả tương tự?
giảm tốc

Thật ra, nó cực kỳ nhanh. Phần lớn thời gian dành cho kết xuất là từ việc tạo bóng cho các đa giác thực tế. Trong trường hợp kết xuất thử nghiệm hit, chỉ có các đa giác màu rắn được sử dụng. Ngoài ra, bài kiểm tra thành công này có thể được thực hiện hoàn toàn trong GPU và nó hoàn hảo về pixel. Không có gì đánh bại người chơi hơn là tạo ra một cú đánh hoàn hảo vào mục tiêu, và sau đó có bài kiểm tra hit nói với họ rằng đó là một sai lầm.
Timothy Baldridge

Nhưng làm thế nào để bạn chuyển đổi không gian pixel thành không gian thế giới sang đối tượng tương ứng mà bạn nhấn.
giảm tốc

@Daniel: Như câu trả lời đã nói, mục tiêu bị bắn trúng được xác định bằng màu sắc. Mỗi ký tự được hiển thị dưới dạng một màu (rắn) khác nhau, vì vậy bạn chỉ cần kiểm tra màu và đen = miss, bất cứ thứ gì khác = tìm kiếm ai được kết xuất trong màu đó, vì chúng bị đánh.
Dave Sherohman

@Dave Sherohman, ban đầu tôi phải đọc sai, sau khi đọc lời giải thích của bạn, có vẻ như rất rõ ý của anh ấy ... chúc mừng
deceleratedcaviar

4

Một số trò chơi chắc chắn sử dụng vật lý đạn thực tế, có tính đến thời gian di chuyển và thả đạn, nhưng tôi đoán hầu hết các trò chơi không, ít nhất là cho các NPC.

Đối với một trò chơi di chuyển đạn trực tiếp (không rơi) tức thì, trò chơi theo dõi một đường tưởng tượng (vectơ) từ điểm của nòng súng về phía trước. Sau đó, nó tính toán những gì dòng đó giao nhau và đăng ký một viên đạn "trúng" tại điểm đó. Nó có thể là một vật thể rắn như một bức tường nơi một tác động gây ra hiệu ứng như một viên đạn trúng decal và một "khói" của khói / mảnh vụn. Nó có thể tác động đến một vật thể dễ vỡ khiến nó bị vỡ hoặc nó có thể tác động đến một vật thể vật lý và khiến nó bị "đá". Hoặc tất nhiên nó có thể đánh người chơi hoặc NPC khác và gây ra một cú đánh sức khỏe. Mô phỏng lõi cứng sẽ mô hình hóa viên đạn xuyên qua các bức tường và kích hoạt hiệu ứng trúng đạn ở phía thoát, có thể làm giảm thiệt hại của viên đạn khi thoát ra.

Vì vậy, các NPC không có mục tiêu hoàn hảo, nhiều trò chơi thêm một số loại ngẫu nhiên vào vector để mô hình hóa viên đạn. Đây là những gì bạn thấy trong cuộc sống thực, nơi những viên đạn không chỉ bắn trúng vào nơi bạn nhắm mà là một mô hình xoay quanh điểm ngắm.

Để hình dung viên đạn lan rộng, hãy tưởng tượng một hình nón phát ra từ súng thay vì đường thẳng (vectơ). Hướng đạn thực tế được chọn ngẫu nhiên ở đâu đó bên trong hình nón này. Nếu người bắn thực sự gần với mục tiêu, mức chênh lệch nhỏ và độ chính xác cao. Nếu mục tiêu ở xa, hình nón sẽ lan rộng hơn nên người bắn ít có khả năng bắn trúng mục tiêu hơn.

Ý tưởng này của hình nón bắn có thể được sử dụng để mô hình độ chính xác (kỹ năng) của người bắn, độ chính xác của vũ khí và các điều kiện khác. Ví dụ, một NPC cấp thấp có thể được cung cấp một nón bắn có độ chính xác thấp, trong khi một NPC có tay nghề cao sẽ có độ chính xác cao. Một người chơi chạy bằng súng tiểu liên bắn từ hông sẽ có một nón bắn rộng, sẽ giảm nếu họ ngừng chạy hoặc nhắm. Súng trường bắn tỉa có bản chất bắn côn chặt hơn so với súng lục.


+1 thông tin tốt. Nhưng tôi nghĩ rằng nó có thể dễ chịu hơn về mặt thị giác nếu AI, thực sự rất tệ khi nhắm vào người chơi, hơn là một hình nón lớn hơn. Hoặc nếu bạn muốn làm cho hình nón lớn hơn, hãy làm cho nó có kích thước thay đổi dựa trên độ giật và cung cấp cho kẻ thù cấp thấp hơn tốc độ tăng kích thước nhanh hơn, vì vậy chúng chỉ có vẻ thiếu kinh nghiệm.
Tấn

1

Nói về mã nguồn Nexuiz từ khi tôi xem, họ không thực sự gửi một vật thể 'viên đạn' từ điểm A đến điểm B. Nếu tôi nhớ lại chính xác, và điều này chỉ dành riêng cho một số vũ khí - vũ khí khác không có ' Vũ khí tấn công tức thì khi chúng bị bắn, mã nhìn vào nơi súng của bạn đang chĩa. Nếu nó nhắm vào một người (và là vũ khí tấn công tức thời) khi bạn nhấp vào 'bắn' thì bạn đã tạo ra một cú đánh.

Cũng đáng chú ý là cách Nexuiz có tùy chọn phía máy chủ để tính các lần truy cập trên máy khách hoặc trên máy chủ. Nếu bạn nghi ngờ khách hàng gian lận, bạn có thể chuyển sang tính toán lượt truy cập phía máy chủ để cố gắng giảm thiểu điều đó.


1

Một chiến lược khác là sự kết hợp của việc hiển thị mọi thứ và tia truy tìm mọi thứ. Bạn không nhất thiết phải kết xuất mọi viên đạn. Ví dụ, nếu súng của bạn bắn 30 phát / giây, một strafe có thể tạo ra vài trăm hạt ... bạn có thể giảm kết xuất bằng cách sử dụng "hiệu ứng theo dõi", hiển thị mỗi lần bắn thứ 3, tia theo dõi hai viên đạn khác. Người chơi vẫn thấy 10 viên đạn / giây bắn vào kẻ thù.

Tinh chỉnh cho tình huống cụ thể của bạn, kết xuất nhiều hơn cho tỷ lệ vũ khí lửa thấp hơn, ít hơn cho cao hơn.


1
Bạn nên bao gồm một số thông tin về lý do tại sao mỗi lần bắn thứ 3 trở đi sẽ có người theo dõi. Nó không phải là một nhà phát triển trò chơi. Đó là quân đội. Đạn Tracer có phốt pho nhúng ở phía sau sên. Khi viên đạn được bắn, thuốc súng đốt cháy phốt pho tạo ra một vệt sáng phía sau viên đạn. Đạn Tracer đắt hơn đạn thông thường, vì vậy chúng chỉ được sử dụng từng lần X hoặc lâu hơn để tiết kiệm tiền, trong khi vẫn có tác dụng dự định là có thể nhắm dễ dàng hơn.
Tấn

Ngoài ra, bạn không muốn tách nó ra trong kết xuất và cập nhật như bạn nói. Bạn muốn tất cả các vật lý đạn hoàn toàn được thực hiện với phương pháp cập nhật. Bạn muốn mỗi lần bắn X trở lên cũng sẽ tạo ra hiệu ứng theo dõi chậm hơn nhiều so với viên đạn để thể hiện chuyển động và hướng.
Tấn

@AttackingHobo Tôi không nghĩ cụ thể về đạn phốt pho, mà là một số dấu hiệu trực quan cho thấy đạn đang bay. Ý tưởng là sử dụng nén có chọn lọc ... loại bỏ một mức độ chi tiết mà người chơi sẽ không bao giờ đăng ký là "mất tích", nhưng điều đó giúp giảm bớt gánh nặng cho hệ thống. Bit "mỗi viên đạn thứ 3" là tùy ý ... bạn phải thử nghiệm để xem cái gì hoạt động tốt. Trong câu trả lời của bạn, bạn đã nói "tracers giả", điều này cũng rất có ý nghĩa.
Stephen

1

Đừng quên rằng tốc độ khung hình so với tốc độ của viên đạn có thể là một vấn đề, trong một số trường hợp nếu bạn không mã hóa động cơ vật lý của mình đủ tốt, viên đạn chỉ có thể đi qua vật thể mà không cần bắn nó. Có một giải pháp cho vấn đề đó, mà tôi không nhớ rõ lắm ...

Dù sao, tôi nghĩ rằng có thể rất khó để bù đạn thực tế trong môi trường nhiều người chơi, nếu không nói là không thể nếu độ trễ bắt đầu dài hơn 30 hoặc 50ms.

Tuy nhiên, một ngày nào đó, ISP có thể quan tâm hơn một chút về độ trễ và cung cấp các ưu đãi khác nhau ... nhưng không có FTTH, đó vẫn là một giấc mơ ...


1

Trong các trò chơi như công ty tồi, battlefeild 3 và stalker, tôi tin rằng viên đạn là một thực thể cá nhân thực sự được bắn như một "tên lửa". Tôi chỉ nghĩ rằng việc dò tia là cần thiết nếu viên đạn sẽ ngay lập tức bắn trúng mục tiêu. Khi thực thể của nó trong viên đạn thực tế sẽ chỉ đánh dấu để xem nếu nó trúng ai đó.


0

Chính xác, nếu bạn xem các video phát lại trong Call of Duty, bạn có thể thấy rõ một con bọ cánh cứng màu cam bay trong không trung đến mục tiêu dự định và phần lớn, Attackhobo thực sự có câu trả lời đúng cho nó.

Nếu bạn muốn có hiệu ứng richochet như Hobo đã nêu, hãy chơi bất kỳ trò chơi Halo nào. Nếu bạn bắn vào một bức tường kim loại từ vị trí gần hơn, bạn có thể thấy những viên đạn bắn ra từ kim loại. Lính bắn tỉa trong đó để lại dấu vết đến nơi nó bắn trúng.

Trả lời lại xong, tôi có thể quay lại sau để sửa.


-5

Các viên đạn và tất cả vật lý trong loạt trò chơi rình rập sử dụng một thư viện mã nguồn mở có tên là "Open Dynamics Engine".

http://en.wikipedia.org/wiki/Open_Doperics_Engine

Những viên đạn rơi xuống với trọng lực và thậm chí nảy ra xung quanh tường và nhét rất chính xác nếu bạn đủ thông minh, bạn thậm chí có thể bắn một viên đạn ra để bắn ai đó mà bạn không thể nhìn thấy nhưng biết vị trí của chúng. Viên đạn là một mô hình đối tượng thực tế. Đây là cách thực tế nhất mà tôi đã thấy nó thực hiện, phương pháp dò tia không thực tế khi bạn bắt đầu di chuyển vào không gian rộng lớn. Nó sẽ ổn khi bắn súng laser.

Các trò chơi khác sử dụng nó BloodRayne 2, Call of Juarez, World of Goo, X-Moto và OpenSimulator.

Một lựa chọn tốt khác là thư viện vật lý "Bullet". http://en.wikipedia.org/wiki/BONS_%28software%29

Nó đã được sử dụng trong vụ trộm lớn tự động 4, chuộc lỗi chết đỏ và nhiều hơn nữa.

ps arma 2 sử dụng một công cụ vật lý trong nhà, trò chơi tiếp theo của họ arma 3 sẽ sử dụng công cụ vật lý PhysX


3
Thật sai lầm khi liệt kê các trò chơi sử dụng ODE cho các mục đích không liên quan đến đạn.
jhocking

4
Cũng thật sai lầm khi nói kẻ rình rập sử dụng ODE cho đạn, trong khi thực tế trò chơi sử dụng các thử nghiệm va chạm độc quyền của riêng mình, nhưng chỉ sử dụng bộ giải ODE.
Tấn
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.