bevy_networking_turbulence
v0.4.1
在 naia-socket 和 turbulence 庫上運行的 Bevy 引擎的網路插件。
naia-socket和turbulence的組合允許透過 UDP 或類 UDP 連接(透過 WebRTC)交換原始訊息,或透過此類 UDP/類 UDP 訊息建立不可靠/可靠的結構化訊息通道。
該插件既可以在本機(Linux、Windows、MacOS)中透過 UDP 封包運行,也可以在瀏覽器/WASM 中透過 WebRTC 通道中的類似 UDP 訊息運行。
尚未完成,但主要功能正在運行。有關詳細信息,請參閱里程碑。
在一個終端機上運作:
$ env RUST_LOG=debug cargo run --example simple -- --server
在其他終端上運行:
$ env RUST_LOG=debug cargo run --example simple -- --client
觀察伺服器和客戶端之間的PING
/ PONG
交換。您可以在更多終端機中運行更多客戶端。
在一個終端機上運作:
$ env RUST_LOG=debug cargo run --example simple --no-default-features --features use-webrtc -- --server
將examples/simple.rs
/ startup()
函數中的IP位址變更為指向您的本機計算機,然後執行:
$ cargo build --example simple --target wasm32-unknown-unknown --no-default-features --features use-webrtc
$ wasm-bindgen --out-dir target --target web target/wasm32-unknown-unknown/debug/examples/simple.wasm
透過 HTTP 提供項目目錄。例如( cargo install basic-http-server
):
$ basic-http-server .
開啟 http://127.0.0.1:4000 並在開發者工具中觀察瀏覽器的控制台。您將看到與本機模式相同的PING
/ PONG
交換。
在一個終端機上運作:
$ env RUST_LOG=debug cargo run --example channels --features use-udp,bevy/default -- --server
在第二個終端運作:
$ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client
在第三個(和第四個,以及更多...)終端運行:
$ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client
您可以對焦任何客戶端視窗並使用Arrow-Left
/ Arrow-Right
遊標鍵來更改“球”軌跡。觀察您的控制球與所有其他客戶端同步。
由於需要額外的依賴項,我們決定將基於瀏覽器的圖形通道範例保留在單獨的儲存庫中。請參閱 https://github.com/ostwilkens/arugio 專案。它是從簡單的方球範例演變而來的,可以作為遊戲的基礎。