Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pomoc s kódem multiplayer připojení na server

Vytvořil jsem v unity 3d multiplayer hru. Problém je že se hra po připojení dvou hráčů seká. Co mám změnit aby bylo více smínků za vteřinu? Dík

using UnityEngine;
using gui = UnityEngine.GUILayout;

public class GameMenu : MonoBehaviour
{
    public GameObject PlayerPrefab;
    string ip = "192.168.0.250";

    public void CreatePlayer()
    {
        connected = true;
        var g = (GameObject)Network.Instantiate(PlayerPrefab, transform.position, transform.rotation, 1);
        g.camera.enabled = true;
        camera.enabled = false;
    }
    void OnDisconnectedFromServer()
    {
        connected = false;
    }
    void OnPlayerDisconnected(NetworkPlayer pl)
    {
        Network.DestroyPlayerObjects(pl);
    }
    void OnConnectedToServer()
    {
        CreatePlayer();
    }
    void OnServerInitialized()
    {
        CreatePlayer();
    }
    bool connected;
    void OnGUI()
    {
        if (!connected)
        {
            ip = gui.TextField(ip);
            if (gui.Button("connect"))
            {
                Network.Connect(ip, 5300);
            }
            if (gui.Button("host"))
            {
                Network.InitializeServer(10, 5300, false);
            }
        }
    }
}
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Kam se hráči připojují? K nějakému serveru, nebo k jednomu z nich?
Wikan 25.08.2012 20:33
Wikan
Spustím tu hru 2x .Jednou jako host, a podruhy se připojím (connect). Nahrál jsem všechny ty kódy se… nový
Pepa Vojteš 25.08.2012 20:47
Pepa Vojteš
Takže tvůj stroj musí počítat dvě hry najednou? No to se pak nediv, že je to pomalé. nový
Wikan 25.08.2012 20:51
Wikan
Aha, tak ja to spustím na dvou mašinach a pak napíšu. Ale stejně zatím dík nový
Pepa Vojteš 25.08.2012 20:55
Pepa Vojteš
Spustil jsem hostitekský na mém PC, a připojil se přes sít z jiného PC. A seká se te děsně. Přitom k… nový
Pepa Vojteš 25.08.2012 21:15
Pepa Vojteš
Nemůže to bejt v tomto? private var motor : CharacterMotor; // Use this for initialization function… poslední
Pepa Vojteš 25.08.2012 22:29
Pepa Vojteš

Spustil jsem hostitekský na mém PC, a připojil se přes sít z jiného PC. A seká se te děsně. Přitom když zakládám server na hru "Iron storm" tam mam nejlepší ping ze všech co maj založený mapy. Takže to musí bejt v tich kódech něco.

Nemůže to bejt v tomto?

private var motor : CharacterMotor;

// Use this for initialization
function Awake () {
	motor = GetComponent(CharacterMotor);
}

// Update is called once per frame
function Update () {
	// Get the input vector from kayboard or analog stick
	var directionVector = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
	
	if (directionVector != Vector3.zero) {
		// Get the length of the directon vector and then normalize it
		// Dividing by the length is cheaper than normalizing when we already have the length anyway
		var directionLength = directionVector.magnitude;
		directionVector = directionVector / directionLength;
		
		// Make sure the length is no bigger than 1
		directionLength = Mathf.Min(1, directionLength);
		
		// Make the input vector more sensitive towards the extremes and less sensitive in the middle
		// This makes it easier to control slow speeds when using analog sticks
		directionLength = directionLength * directionLength;
		
		// Multiply the normalized direction vector by the modified length
		directionVector = directionVector * directionLength;
	}
	
	// Apply the direction to the CharacterMotor
	motor.inputMoveDirection = transform.rotation * directionVector;
	motor.inputJump = Input.GetButton("Jump");
}

// Require a character controller to be attached to the same game object
@script RequireComponent (CharacterMotor)
@script AddComponentMenu ("Character/FPS Input Controller")

Zpět do poradny Odpovědět na původní otázku Nahoru