Добавление компонентов к обьекту в сети?

Сеть в Unity3D

Добавление компонентов к обьекту в сети?

Сообщение miller 06 янв 2012, 16:02

Всем доброго времени, народ подскажите пожалуйста уже 3тий час бьюсь об стену результата ноль

Есть скрипт пули для сетевой игры
Синтаксис:
Используется csharp

    [RPC]
    public void Shoot_rocket_1()
    {
        GameObject rocket_temp;
        rocket_temp = (GameObject)Network.Instantiate(rocket_gun1, new Vector3(Halicopter_Fire_gun_PREF.transform.position.x, Halicopter_Fire_gun_PREF.transform.position.y - 0.00004f, Halicopter_Fire_gun_PREF.transform.position.z), Halicopter_Fire_gun_PREF.transform.rotation,0);
        BoxCollider bc;
        bc = rocket_temp.AddComponent<BoxCollider>();
        bc.size = new Vector3(5, 5, 5);
        Rigidbody rb = rocket_temp.AddComponent<Rigidbody>();
        rb.useGravity = false;
        Physics.IgnoreCollision(rocket_temp.collider, GameObject.Find(NameGameObj).collider);
        rocket_temp.rigidbody.AddForce(transform.forward * 300, ForceMode.Impulse);
        isfire = false;
        Network_Fly_Rocket1 nfb = rocket_temp.AddComponent<Network_Fly_Rocket1>();
        nfb.Sprash_explosion = Sprash_Explosion;
        nfb._player = GameObject.Find(NameGameObj);
        Destroy(rocket_temp, 10);
    }
 


Но все компоненты типа BoxCollider,Network_Fly_Rocket1 добовляются только на стороне клиента хотя вроде данные всем посылаю
networkView.RPC("Shoot_Machine_gun", RPCMode.All); в чем может быть проблема ?
miller
UNIт
 
Сообщения: 85
Зарегистрирован: 01 апр 2009, 19:26
Откуда: Н.Новгород
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение gnoblin 06 янв 2012, 18:02

вынести добавление этих компонентов в Awake() объекта
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение miller 06 янв 2012, 19:00

Спасибо !

Не подскажите почему может создоваться сразу два обьекта, причем один создается без добавленных компонентов а другой с компонентами, в случаее если я просто

Синтаксис:
Используется csharp
    public void Shoot_Machine_gun()
   
{
 GameObject rocket_temp;
         rocket_temp = (GameObject)Network.Instantiate(rocket_gun1, new Vector3(Halicopter_Fire_gun_PREF.transform.position.x, Halicopter_Fire_gun_PREF.transform.position.y - 0.00004f, Halicopter_Fire_gun_PREF.transform.position.z), Halicopter_Fire_gun_PREF.transform.rotation,0);
}
 


Создаю обьект без компонентов их все равно создается два. это при условии что если клиент подключен

В случаее если не кто не подключен все отлично работает, это может быть как то связанно с тем что я всем посылаю вызов метода ?

Синтаксис:
Используется csharp
                GameObject.Find(NameGameObj).networkView.RPC("Shoot_Machine_gun", RPCMode.All);
miller
UNIт
 
Сообщения: 85
Зарегистрирован: 01 апр 2009, 19:26
Откуда: Н.Новгород
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение gnoblin 06 янв 2012, 19:16

да, будет три клиента - создастся три объекта.

Network.Instantiate надо вызывать на каком-то одном клиенте
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение miller 06 янв 2012, 19:45

Хмм. пробую создать на клиенте

Синтаксис:
Используется csharp
GameObject.Find(NameGameObj).networkView.RPC("Shoot_Machine_gun", this.networkView.owner);


Пишет что я не подключен к серверу, может не так получаю текущего игрока ?
miller
UNIт
 
Сообщения: 85
Зарегистрирован: 01 апр 2009, 19:26
Откуда: Н.Новгород
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение miller 06 янв 2012, 19:49

Если можно маленкий примерчик как перегрузить метод networkView.RPC для текущего клиента
miller
UNIт
 
Сообщения: 85
Зарегистрирован: 01 апр 2009, 19:26
Откуда: Н.Новгород
  • Сайт

Re: Добавление компонентов к обьекту в сети?

Сообщение miller 06 янв 2012, 20:47

ААА спасибо мен, я сам себе задачу усложнил! Все оказалось проще чем перемудрил
miller
UNIт
 
Сообщения: 85
Зарегистрирован: 01 апр 2009, 19:26
Откуда: Н.Новгород
  • Сайт


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2