Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

2020-12-01から1ヶ月間の記事一覧

Unity FPS 視点メモ

プレイヤオブジェクト - 視点(空オブジェクト) - カメラ の親子関係プレイヤオブジェクトにて、WASD で前進と左右移動と、マウスの左右移動でカメラの左右回転をする。 視点にて、マウスの上下移動でカメラの上下回転をする。 using UnityEngine; public c…

MLAPI その11

カメラを追従するようにする。 public class PlayerCubeController : MLAPI.NetworkedBehaviour { private Vector3 offsetPosition; private void Start() { if (IsOwner) { offsetPosition = transform.position - Camera.main.transform.position; } } pri…

MLAPI その10

なんとなくわかってきた。昨日のやつで配慮できてなかったところをやる。 全弾がアクティブだったときに、更にスペースキーを押すと null が返ってきてしまうので、if で囲う。 public class PlayerCubeController : MLAPI.NetworkedBehaviour { [MLAPI.Mess…

MLAPI その9

非推奨となった UNet のやつを参考に、オブジェクトプールをやってみる。docs.unity3d.com mlapi.network mlapi.network シーン内に SpawnManager オブジェクトを作ってスクリプトをアタッチ。 using System.Collections; using System.Collections.Generic;…

MLAPI その8

弾が出現したら、前方に直線上に進むようにする。Bullet スクリプトを作って Bullet にアタッチ。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bullet : MonoBehaviour { private float speed = 500; voi…

MLAPI その7

スペースキーを押したら弾がでるようにしたい。Capsule をシーン内に入れて、Bullet という名前にする。 最初はネットワーク同期をやってみたいので、NetworkedObject をアタッチ。 適当にスケールを小さくして、Prefab にして、シーン内から削除。Networkin…

MLAPI その6

サーバの CPU 使用率がめちゃくちゃ上がっているので、全体の FPS を下げる。 シーン内に SceneManager を作って、Application.targetFrameRate を設定しておく。 using System.Collections; using System.Collections.Generic; using UnityEngine; public c…

MLAPI その5

Linux サーバ上で、サーバとして実行できるようにする。 前述のとおり、ホスト・サーバ・クライアントの 3 種類があり、ホスト=サーバ+クライアントである。 ローカルでの開発はホストとクライアントで OK だけど、実際に多人数で遊ぶためには、サーバがあ…

MLAPI その4

カメラがアレなので、上空から映すように位置をいい感じに移動する。プレイヤの Cube に PlayerCubeController のスクリプトを作ってアタッチしておく。 通常の MonoBehaviour クラスではなくて、MLAPI.NetworkedBehaviour を継承しておく。 NetworkedObject…

MLAPI その3

プレイヤとして Cube を置く。ついでにタグも Player にしておく。サーバ・クライアントで同期が必要なオブジェクト、つまりプレイヤとか、には「NetworkedObject」をアタッチ。 プレイヤは移動させたいから、「NetworkedTransform」もアタッチ。Project ウ…

MLAPI その2

続き。同じように「Start Client」と「Stop Client」のボタンを右上に設置。 同じようにスクリプトを作ってアタッチ。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class StartClient : MonoBehaviour { public…

MLAPI その1

mlapi.network Unity でオンラインマルチプレーヤのやつのメモ。Releases · MidLevel/MLAPI · GitHub から「MLAPI.unitypackage」をダウンロードして Unity にインポート。空の GameObject の NetworkingManager を作って、「NetworkingManager」と「Unet Tr…