Làm thế nào để đảm bảo các vật thể quay tròn bắn trúng mục tiêu với đầu bên phải?


25

Tôi đang chế tạo vũ khí ném dao trong đó người chơi tự do nhắm và sau đó ném dao. Con dao quay tròn trong không khí và khi va chạm dừng quay và cha mẹ tự va vào vật thể va chạm. Việc quay được xử lý thông qua hoạt hình trong khi đường đi của dao được xử lý bằng vật lý.

Một vấn đề tôi gặp phải là làm thế nào để đảm bảo rằng khi con dao va chạm với kẻ thù thì con dao sẽ hướng về phía họ. Hiện tại, điều đang xảy ra đôi khi là con dao nhúng vào tay cầm kẻ thù trước tiên. Đó rõ ràng là không thực tế. Đồng thời, tôi nghĩ rằng sẽ rất bất hợp lý khi con dao chỉ "đánh" kẻ thù nếu nó va chạm với lưỡi kiếm trước, vì tốc độ mà con dao quay vượt quá tầm kiểm soát của người chơi.

Tôi đã xem rất nhiều cảnh quay killcam chậm của các vũ khí tương tự và mỗi lần vũ khí được ném lên nó đều xoay tròn trong không trung và kỳ diệu luôn kết thúc với lưỡi kiếm chĩa vào mục tiêu. Đối với một trò chơi mà khoảng cách ném sẽ nhất quán, điều này khá dễ dàng để làm. Nhưng tôi không chắc chắn làm thế nào để dự đoán điều này vì có nhiều yếu tố không thể đoán trước liên quan, ví dụ. hướng dao, xoay dao, vị trí của kẻ thù, khoảng cách với kẻ thù, v.v. Nếu có thể, tôi không muốn phải sử dụng logic dự đoán phức tạp vì trò chơi sẽ dành cho các thiết bị cấp thấp. Có một cách "khói và gương" để giải quyết điều này?

Ví dụ: https://youtu.be/0fav8lFpBko?t=42s


15
Con dao luôn luôn đâm vào lưỡi kiếm mục tiêu trước tiên cũng không thực tế, đặc biệt là khi chúng ta nói về một mục tiêu đang di chuyển.
Theraot

1
Tùy thuộc vào hương vị của trò chơi, có một số kiểu ném dao không quay lưỡi kiếm. Thông thường, họ đang sử dụng dao được thiết kế đặc biệt để bay theo kiểu ổn định.
Perkins

nếu trọng tâm khối lượng của dao gần với đầu cán hơn là đầu lưỡi và tốc độ quay của dao lớn hơn tốc độ di chuyển của nó, thì nó thực sự có thể bắn trúng mục tiêu bằng lưỡi dao. Tuy nhiên, đó sẽ là một con dao rất kỳ lạ và là một sinh vật rất kỳ lạ có thể ném nó như thế
SUND Borsch

2
Vấn đề này đủ nổi bật để có một bài viết trên TVTropes về nó: The Blade always Lands Pointy End In
Mason Wheeler

Tôi cũng thích sự phân biệt trong câu hỏi. Nếu bạn chuyển vòng quay sang cũng được xử lý bởi động cơ vật lý, bạn có thể có đủ thông tin sau đó để tính toán tại thời điểm va chạm để xem đầu dao có đối diện với mục tiêu đủ tốt hay không. Hoặc là hoặc giữ hình động và chỉ nướng trước các giá trị trong đó hình động của con dao đang hướng về phía trước và so sánh khung hình động hiện tại để xem nó có nằm trong phạm vi đó hay không.
Pysis

Câu trả lời:


35

Làm giả nó

Nhìn vào video bạn liên kết, xem nó trong chuyển động chậm ... eh, đó là gì? Máy ảnh nhảy vào cuối, và con dao đã ở trong mũ bảo hiểm của mục tiêu.

Chỉ là giả thôi. Khi khoảng cách từ con dao đến mục tiêu nhỏ, hãy nhảy cắt con dao một cách kỳ diệu trong mục tiêu.

Chỉnh sửa: bạn có thể kiểm tra xem nó có bắn trúng mục tiêu hay không bằng cách sử dụng dự đoán phức tạp, và sau đó giả vờ nó đã chạm lưỡi kiếm trước, sau đó hiển thị hình ảnh động nơi mục tiêu không di chuyển và con dao giết chết nó.


Dự đoán phức tạp

vì tốc độ dao quay vượt quá tầm kiểm soát của người chơi.

Đúng vậy Nó nằm ngoài tầm kiểm soát của người chơi. Tuy nhiên, không nằm ngoài tầm kiểm soát của bạn ...

Nếu bạn có thể tính khoảng cách mà dao phải di chuyển, bạn có thể thực hiện tốc độ quay sao cho dao sẽ đâm lưỡi trước.

Bây giờ, sẽ không có ý nghĩa gì khi đưa ra dự đoán này vào giữa chuyến bay, bởi vì con dao sẽ phải điều chỉnh nếu một chướng ngại vật cản đường. Do đó, bạn sẽ làm điều đó khi bạn ném.

Việc bạn phải đi theo một đường parabol để đánh thử khiến nó trở nên phức tạp hơn so với việc đúc tia đơn giản. Tôi sẽ đề nghị lấy phương trình cho chuyển động parabol tương ứng với cú ném dao, và đánh giá nó theo các khoảng thời gian nhất định.

Cũng có thể tìm khoảng cách của chướng ngại vật đến parabola, bằng cách tìm điểm gần nhất trong parabola đến vị trí của chướng ngại vật, sau đó thực hiện kiểm tra va chạm với điểm đó.

Một khi bạn biết con dao phải di chuyển bao nhiêu, bạn có thể chia nó thành một số nguyên vòng quay, để nó sẽ đâm lưỡi dao trước. Chỉnh sửa: hoặc số nguyên 0,5 tùy thuộc vào cách bạn ném.

Tất nhiên, những chướng ngại vật sẽ di chuyển ngay lúc con dao đến đó.


Hãy thực tế

Bạn sẽ không khiến con dao đâm vào lưỡi dao 100% lần đầu tiên, đặc biệt là với các mục tiêu đang di chuyển. Chỉ cần nắm lấy điều đó, một con dao ném không phải là một vũ khí đáng tin cậy. Vì vậy, có sự thay thế của việc nó bị trả lại khi nó xử lý đầu tiên. Bạn có thể kiểm tra xem nó có xử lý trước hay không bằng cách kiểm tra hướng của nó và so sánh hướng đó với điểm va chạm.


1
À tôi không thấy cú nhảy nào, thông minh thế nào mà đơn giản thế. Nó rất rõ ràng khi tôi xem nó theo từng khung hình như bạn đề xuất.
FrontEnd 15/03/2017

14

Nếu bạn biết trước con dao sẽ hạ cánh ở đâu - như trong những cảnh quay giết người, thứ được sản xuất chắc chắn nhất sau thực tế - chỉ cần tính toán tốc độ quay đúng dựa trên khoảng cách bay và số lần quay mong muốn. Ném dao rời khỏi chuôi ném trước, vì vậy nó cần xoay N + 0,5 lần quay đầy đủ 1 , trong đó N thường ít nhất là 1 nhưng có thể nhiều hơn dựa trên cấp độ kỹ năng của người ném hoặc bạn muốn nó trông ngầu như thế nào: nhiều vòng quay hơn = mát mẻ hơn.

Nếu bạn không, bạn có thể gian lận bằng cách sửa chữa vòng quay khi bị đánh và có thể che giấu nó bằng một tia máu. Giống như một pháp sư, nếu bạn làm điều đó đủ nhanh, người chơi sẽ không chú ý.

Tất nhiên, không ai trong số này là thực tế. Trong cuộc sống thực, ném dao thực sự khó và đòi hỏi nhiều sự luyện tập nếu bạn muốn dao hạ cánh trước. Người ném cần phải nhận thức đầy đủ về khoảng cách và thay đổi cú ném của họ cho phù hợp, nếu không, con dao sẽ đâm vào đầu.

1 : Có một số kiểu mà dao cũng đi trước.


4
+1: văng máu. Tốt, ảo thuật. Chỉnh sửa: hoặc đám mây bụi cho phiên bản không có gore.
Theraot

2
@Theraot và / hoặc làm cho tốc độ quay đủ nhanh để người xem thực sự không thể theo dõi được cách nó chỉ.
Perkins

14
  1. Tính khoảng cách đường thẳng đến mục tiêu.

  2. Mỗi Khung đặt góc của con dao là 2PI * (còn lạiSt dánLineDistance) / (gốcSt dánLineDistance) * DesiredNumRotations.

Tỷ lệ quay sẽ thay đổi một chút nếu bạn không di chuyển con dao theo đường thẳng nhưng không ai sẽ nhận thấy.

Nếu bạn không xác định trước mục tiêu (tức là bạn chỉ ném và sử dụng vật lý để xem mục tiêu của nó là gì) thì bạn sẽ cần phải làm mờ điều này nhưng bạn có thể sử dụng cùng một nguyên tắc để xem mục tiêu nào có khả năng bắn trúng và điều chỉnh độ xoáy để chính xác cho mục tiêu đó.


4

Những cú ném thực sự được thiết kế để có cơ hội đánh đầu tiên rất cao. Thiết kế dao của bạn phù hợp.

Bộ sưu tập dao ném từ Wikipedia : Bộ sưu tập dao ném từ wikipedia

Bạn muốn trung tâm của khối lượng, và do đó là trung tâm của vòng quay, càng xa đầu lưỡi kiếm càng tốt. Điều này sẽ tăng tỷ lệ cược rằng lưỡi kiếm sẽ quay xung quanh vào vị trí đánh trước khi phần cuối của tay cầm đến đó.

Lưỡi kiếm thường dài và mỏng, nhô ra càng xa càng tốt từ tâm khối lượng trong khi thêm càng ít khối lượng của nó càng tốt. Ngoài ra, có một đối trọng hình đĩa hoặc hình cầu ở cuối tay cầm, điều thú vị mà tôi không thấy trong bất kỳ con dao nào từ hình ảnh Wikipedia.

Con dao được ném bằng cách giữ đầu lưỡi kiếm và vung tay cầm theo hướng ném.


2

Đối với cách "khói và gương", bạn có thể có tâm xoay của dao (tức là tâm khối lượng) gần tay cầm (tức là phần không nhọn). Bằng cách này, nếu tốc độ quay đủ cao so với tốc độ của dao, có thể đảm bảo rằng đầu lưỡi dao sẽ va chạm với mục tiêu chứ không phải bất kỳ bộ phận nào khác.

Có một số tính toán để có được tốc độ quay tối thiểu theo trung tâm khối lượng và kích thước, nhưng nên đơn giản. Cũng lưu ý rằng điều này không ngụ ý bất cứ điều gì về góc của cú đánh.


1

Người ném dao hoàn hảo?

Hiện tại, bạn nói rằng bạn đang quay con dao thông qua hoạt hình. Thông số nào bạn đang sử dụng để kiểm soát góc? Số khung? Thời gian trò chơi? Thu nhỏ bởi một tốc độ quay tùy ý?

Nếu thay vào đó, bạn đã sử dụng tham số (khoảng cách di chuyển) / (tổng khoảng cách đến mục tiêu), với tỷ lệ thích hợp bằng số pi và (số lượt + 0,5), thì con dao thực sự sẽ luôn đến điểm kỳ diệu trước tiên.


Phần đầu tiên của câu hỏi này xuất hiện để yêu cầu làm rõ. Nó có lẽ nên được thực hiện như là ý kiến ​​về câu hỏi. Bạn có thể giải thích phương pháp đề xuất của bạn cho điểm đến kỳ diệu đầu tiên không? Ví dụ: bạn nói "với tỷ lệ thích hợp bằng số pi"; quy mô gì? Thật công bằng khi cho rằng nếu người dùng phải hỏi, họ có thể không hiểu tỷ lệ phù hợp sẽ là gì.
Gnemlock

@TimB đã làm tốt hơn việc giải thích nó, nhưng giải pháp đề xuất của Neil là một cách tiếp cận tốt. Sửa đổi tốc độ hoạt hình của con dao quay của bạn để khi nó tới mục tiêu, con dao ở vị trí "đầu nhọn đi vào vị trí của người đàn ông khác". Điều này dễ dàng hơn nhiều (để lập trình, và tính toán) so với việc tính toán các quỹ đạo parabol liên quan đến các mục tiêu di chuyển, v.v. Nếu đó là hoạt hình keyframe, thì bạn chỉ cần mở rộng chỉ mục của mình và quên đi pi.
AC
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.