0
1
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

[Unity]UnityNetcodeをちょっと触ってみたい人用の記事

Last updated at Posted at 2024-06-15

概要

ネットワークマルチプレイを実現できるUnityNetcodeに興味があってちょっと試してみたい!という方に向けて書いた記事です。

本文

パッケージをインストールする

Unityで新規プロジェクトを作成します。次にメニューからWindow > Package Managerと辿って「Netcode for GameObjects」をインストールします。

Netcodeには二種類ありますがECSに対応した「Netcode for Entities」は今回扱いません。「Netcode for GameObjects」を選んでください。

スクリーンショット 2024-06-15 151612.png

NetworkManagerを作成

Hierarchyで右クリック > Create Emptyを選択して「NetworkManager」を作成します。InspectorからAddComponentを押したらNetwork Managerを選択します。

スクリーンショット 2024-06-15 152718.png

追加されたNetwork Managerコンポーネントを見てみると「netcodeにはUnity Transportが必要です」と警告が表示されています。その下の「Select transport...」を押して「UnityTransport」を選ぶと自動でUnity Transportを追加してくれます。

スクリーンショット 2024-06-15 153242.png

netcode上で操作するプレイヤーキャラクターのPrefabを用意します。
Project上で右クリック > Create > Prefabを選び、「NetworkPlayer」を作成します。

スクリーンショット 2024-06-15 153958.png

そしてAddComponentから「NetworkObject」を選択します。(これが無いと実行時にエラーが表示されます)

スクリーンショット 2024-06-15 154715.png

NetworkManagerのPlayer Prefab欄にNetworkPlayerをアタッチします。

スクリーンショット 2024-06-15 154309.png

実行

ここまで準備出来たら、後は実行します。HierarchyのDontDestroyOnLoadの中にNetworkManagerがあるので選択します。NetworkManagerコンポーネント内のStartConnectionにある「StartHost」を押すとNetworkPlayerが画面上に登場します。これでネットワーク上にプレイヤーキャラクターが登場しました:tada:
今回はここまでの紹介ですが、(StartClientを選んで)他のプレイヤーも接続されたらお互いのキャラクターが確認できる状態になります

スクリーンショット 2024-06-15 155349.png

3Dオブジェクトを設定したらこんな感じにわかりやすくなると思います!(ニワトリプレイヤーが登場しました)

スクリーンショット 2024-06-15 161644.png

今回のNetworkManagerのStartConnectionボタンは簡易的なテスト用のものなので、実際にはコード上から接続処理をする事になります。

UnityNetcode関連記事目次

1.UnityNetcodeをちょっと触ってみたい人用の記事 ← :triangular_flag_on_post:
2.UnityNetcodeでマルチプレイヤーを試してみる記事
3.UnityNetcodeのマルチプレイヤーで位置を同期してみる
4.UnityNetcodeのマルチプレイヤーで変数を同期してみる

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1