Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Unity > Сеть

Ответ
 
Опции темы
Старый 05.02.2013, 19:53   #1
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Радость Маленькая проблемка в моей сети

Скажите пожалуйста, у меня такая проблемка:

Я создаю сервер на компьютере, а клиент ко мне подключаеться все нормально.
Вот только когда я спавнюсь первым на сервере у меня устанавливаеться камера и все играеться.. а потом приходит другой игрок и получаеться так что:
Я вижу своего игрока но теряеться управление, мной управляет другой игрок который присоединился, а он видит тоже себя но только я им управляю, получаеться перехрестная игра или как правльно сказать, я вижу себя а управляет мной другой игрок, и он также
Что это может быть?
Миниатюры
Нажмите на изображение для увеличения
Название: 222222222.png
Просмотров: 240
Размер:	560.1 Кб
ID:	18616  
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 19:55   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

инвертируй isMine
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 20:07   #3
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

using UnityEngine;
[RequireComponent(typeof(NetworkView))]
public class PlayerScript : MonoBehaviour
{
public float moveSpeed = 2;
public float turnSpeed = 90;
private CharacterController _controller;
private Transform _thisTransform;
public GameObject fpsPrefab;
public GameObject locomotionPrefab;
private GameObject controlledObject;
public void Start()
{
_controller = GetComponent<CharacterController>();

_thisTransform = transform;
}
public void Awake()
{
if (!networkView.isMine)
{
enabled = false;
controlledObject = Instantiate(locomotionPrefab) as GameObject;
}
else
{
controlledObject = Instantiate(fpsPrefab) as GameObject;
}
}

public void Update()
{

if (networkView.isMine)
{
_controller.Move(_thisTransform.forward * moveSpeed * Time.deltaTime * Input.GetAxis("Vertical") +
Vector3.down * 10.0f * Time.deltaTime);
Quaternion rot = Quaternion.AngleAxis(
turnSpeed * Time.deltaTime * Input.GetAxis("Horizontal"), Vector3.up);
_thisTransform.rotation *= rot;
}
}
public void OnDestroy()
{
Destroy(controlledObject);
}


public void OnSerializeNetworkView(BitStream stream, NetworkMessageInfo info)
{
if (stream.isWriting)
{

Vector3 pos = controlledObject.transform.position;
stream.Serialize(ref pos);

}
else
{

Vector3 posReceive = Vector3.zero;
stream.Serialize(ref posReceive);
controlledObject.transform.position = posReceive;

}
}
}
где именно ?
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 20:19   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

Ты точно уверен что у тебя управление не правильно, а не камеры перепутаны?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 20:22   #5
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

А знаешь ты прав)
Как это сделать?
Что надо изменить?
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 20:46   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

камерой у тебя другой скрипт управляет, в нем должна быть проверка в Start
if (!networkView.isMine

    
camera.enabled false;

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 21:06   #7
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

Я проверил и получилось такое :
У моего игрока камера стоит верно, также как и в другого который ко мне подключился
и здесь та проблема
У меня свой игрок но ним управляет только другой, а я управляю его игроком, он тоже не может своим, здесь как будто перепутаны управления.
У меня работает все да) вот только мной управляет другой)
Камеры стоят теперь нормально. Спасибо за камеру
Помогите с этим непонятным дистанционным управлением
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 21:09   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

Ну единственное в чем может быть ошибка - спавн твоего игрока выполняет оппонет, а ты спавнишь его.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.02.2013, 21:15   #9
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Печаль Ответ: Маленькая проблемка в моей сети

Мой код спавна
using UnityEngine
using System.Collections

public class 
SpawnScript MonoBehaviour 

    public 
Transform playerPrefab


    public 
void OnServerInitialized() 
    { 
        
Spawnplayer(); 
    } 

    public 
void OnConnectedToServer() 
    { 
        
Spawnplayer(); 
    } 

    public 
void Spawnplayer() 
    { 

        
Transform myNewTrans = (Transform)Network.Instantiate
            
playerPrefabtransform.positiontransform.rotation0); 

    } 

    public 
void OnPlayerDisconnected(NetworkPlayer player
    { 
        
Debug.Log("Clean up after player " player); 
        
Network.RemoveRPCs(player); 
        
Network.DestroyPlayerObjects(player); 
    } 

    public 
void OnDisconnectedFromServer(NetworkDisconnection info
    { 
        
Debug.Log("Clean up a bit after server quit"); 
        
Network.RemoveRPCs(Network.player); 
        
Network.DestroyPlayerObjects(Network.player); 
        
Application.LoadLevel(Application.loadedLevel); 
    } 

может что то в нем?
Миниатюры
Нажмите на изображение для увеличения
Название: 567г8ш9щзх.png
Просмотров: 164
Размер:	430.9 Кб
ID:	18617  
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 15:41   #10
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

Все равно я играю другим игроком а он мной
Вот что бы проверить как пашет сеть запустите два раза игру
Посмотрите и скажите что это может быть??
Вложения
Тип файла: rar Новая папка.rar (6.24 Мб, 78 просмотров)
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 16:29   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

Скрипт Player где-то в игре используется?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 16:57   #12
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

Нет не используеться, это был мой начальный скрипт для управления игрока, но я решил игру сделать в сети, и я с того скрипта кинул код в playerscript, я не использую скрипт player, его нужно ваще удалить
может рах тебе кинуть сам мой проэкт? посмотришь может..
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 17:08   #13
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

Проект не надо, спасибо. Код вроде правильный, я с Unity сетью практически не работал, но по идее все нормально должно быть.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 17:13   #14
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Ответ: Маленькая проблемка в моей сети

ясненько, а ты смотрел я там выше кидал свою игру(эту с проблемкой)
видел как все работает?
(Offline)
 
Ответить с цитированием
Старый 06.02.2013, 17:30   #15
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,494
Написано 2,952 полезных сообщений
(для 5,212 пользователей)
Ответ: Маленькая проблемка в моей сети

Смотрел код, теперь посмотрел игру - ты управляешь своим игроком, но смотришь через камеру оппонента
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 16:45.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com