Đường đi ngắn nhất mà tín hiệu âm thanh đã đi từ nguồn phát đến người nghe (Cowan, 2020, trang

Một phần của tài liệu Thiết kế mô hình tri giác và nhận thức cho các npcs trong stealth game (Trang 53 - 54)

5.2.3 Khả năng xác định vị trí nguồn âm của NPC

5.2.3.a Xác định một NPC có thể nghe được âm thanh phát ra hay không

Việc đầu tiên cần làm đó là xác định xem NPC có nghe được âm thanh phát ra hay không. Nếu NPC không nghe được âm thanh thì nó sẽ không có phản ứng gì, còn nếu nghe được thì mới từ đó mà xác định nguồn âm. Mỗi (loại) NPC sẽ có một ngưỡng nghe riêng, nếu âm thanh đến tai NPC có độ lớn lớn hơn ngưỡng thì xem như NPC nghe được âm thanh. Lúc này chưa tính đến các đặc điểm tâm sinh lý của NPC, những đặc điểm này sẽ được xử lý khi tín hiệu âm thanh đã được gửi đến NPC (Message đã được gửi đến Listener bởi Broadcaster như đã được đề cập ở phần trước). Để tính toán độ lớn của âm thanh đến tai NPC, đầu tiên ta sẽ sử dụng đường đi ngắn nhất mà âm thanh đã đi để tính sự suy giảm độ lớn theo quãng đường mà âm thanh đi. Sự suy giảm này sẽ tuân theo luật bình phương nghịch đảo, như công thức bên dưới:

A1=A0+20×log10 1

Dp

Trong đó,A1là độ lớn của âm thanh sau khi suy giảm theo khoảng cách (dB),A0là độ lớn của âm thanh nguồn vàDplà độ dài của đường đi ngắn nhất giữa nguồn âm và NPC tính bằng mét, còn 1 ở đây chính là 1 mét, mô hình giả định rằng độ lớn của âm thanh nguồn là độ lớn được đo cách nguồn 1 mét.

tính toán. Mô hình giả sử rằng M bằng 1 dB/km (10−3dB/m) đối với âm thanh có tần số 200 Hz (gần bằng tần số của giọng nói con người) ở mực nước biển với nhiệt độ 20 độ C và độ ẩm 50% . Sự suy giảm này có thể được tính theo công thức bên dưới:

A2=A1−M×Dp

Trong đó,A2là độ lớn âm thanh còn lại sau khi suy giảm do khoảng cách và môi trường truyền (dB) đã được áp dụng.A1là kết quả của công thức ở trên.Dplà độ dài đường đi ngắn nhất được trả về từ NavMesh và được tính bằng mét.

5.2.3.b Ước tính hướng của nguồn âm

Sau khi đã xác định được NPC có thể nghe âm thanh phát ra từ nguồn, tiếp theo NPC có thể xác định hướng của nguồn âm đó dựa vào đường đi của âm thanh đó. Đầu tiên, ta sẽ thực hiện việc tìm đường từ vị trí nguồn âm đến tai bên trái và tai bên phải của NPC để mô phỏng sự truyền âm thanh từ nguồn đến hai tai NPC. Tiếp theo, ta có thể tìm được vec tơ chỉ hướng từ vị trí của NPC đến nguồn âm dựa vào vec tơ chỉ hướng từ vị trí của NPC đến vị trí của ngã rẽ cuối cùng (last corner) trên hai đường đi vừa tìm được và độ dài của hai đường đi đó như công thức bên dưới: ˆ V= V |V| V= P1−Pn L1× |P1−Pn|+ P2−Pn L2× |P2−Pn|

Trong đó,Vˆ là vec tơ chỉ hướng đã được chuẩn hóa chỉ về hướng mà NPC dự đoán nguồn âm sẽ ở đó.P1,P2là vị trí ngã rẽ cuối cùng trên đường đi trước khi đến tai trái và phải của NPC,Pnlà vị trí của NPC vàL1,L2là độ dài hai đường đi của âm thanh đến hai tai của NPC.

Một phần của tài liệu Thiết kế mô hình tri giác và nhận thức cho các npcs trong stealth game (Trang 53 - 54)

Tải bản đầy đủ (PDF)

(125 trang)