Пятница, 19 Апреля 2024, 05:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • ivan2009Дата: Четверг, 17 Декабря 2015, 22:21 | Сообщение # 7481
    частый гость
    Сейчас нет на сайте
    спасибо за инфу!
    VolkOrievithДата: Пятница, 18 Декабря 2015, 17:22 | Сообщение # 7482
    уже был
    Сейчас нет на сайте
    Всем привет!
    Имея два объекта с networkView, инстанциированых клиентом, можно ли на сервере удочерить один другому?
    У меня танк собирается скриптом из префабов. Из башни и корпуса.
    Если спаунит один клиент, у других башня не удочеряется корпусу. Это вызывает массу багов. Вот функция из скрипта спауна:
    Код
    function Spawn () {
    var b : Transform;
    b = Network.Instantiate (Body, SpawnPoints[RN].transform.position, SpawnPoints[RN].transform.rotation, 0);
    var t : Transform;
    t = Network.Instantiate (Turret, SpawnPoints[RN].transform.position + SpawnPoints[RN].transform.TransformDirection(Tr.TurretPosition) , SpawnPoints[RN].transform.rotation, 0);
    t.parent = b;
    Tank = b;
    }


    Как мне найти и башню, и корпус на всех клиентах и сервере, а затем удочерить их друг другу?
    Пытался таким способом, но выдает ошибку, говорит, что Network.Instantiate должен опираться на префаб:
    Код

    function Spawn () {
    var b : Transform;
    b = Instantiate (Body, SpawnPoints[RN].transform.position, SpawnPoints[RN].transform.rotation);
    var t : Transform;
    t = Instantiate (Turret, SpawnPoints[RN].transform.position + SpawnPoints[RN].transform.TransformDirection(Tr.TurretPosition) ,
    t.parent = b;
    Tank = Network.Instantiate (b.gameObject, SpawnPoints[RN].transform.position, SpawnPoints[RN].transform.rotation, 0);
    }


    Сообщение отредактировал VolkOrievith - Пятница, 18 Декабря 2015, 17:23
    WSTДата: Пятница, 18 Декабря 2015, 21:32 | Сообщение # 7483
    частый гость
    Сейчас нет на сайте
    Народ подскажите куда и что надо написать чтоб после уничтожения геймобъекта появлялась надпись "вы проиграли"?
    Код
    using UnityEngine;
    using UnityEngine.UI;
    using System.Collections;

    public class PlayControl : MonoBehaviour {

        public float speed;
        public Text countText;
        public Text winText;
        private Rigidbody rb;
        private int Счет;
        public bool UnderWater;
        public float Healths = 1;
        public Text loseText;

        void Start ()
        {
      rb = GetComponent<Rigidbody> ();
      Счет = 0;
      SetCountText ();
      winText.text = "";
        }

        void FixedUpdate ()
        {
      float moveHorizontal = Input.GetAxis ("Horizontal");
      float moveVertical = Input.GetAxis ("Vertical");

      Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

      rb.AddForce (movement * speed);
        }
        void OnTriggerEnter(Collider other)
        {
      if (other.gameObject.CompareTag ("Pick Up"))
      {
       other.gameObject.SetActive (false);
       Счет = Счет + 1;
       SetCountText ();
      }
      if (other.GetComponent<Collider>().CompareTag ("Water"))
      {
       UnderWater = true;
       Healths -= Time.deltaTime;
      }
       
        }

        void SetCountText ()
        {
      countText.text = "Счет" + Счет.ToString ();
      if (Счет >= 12)
      {
       winText.text = "Вы выиграли!";
      }
        }

        void Death()
        {
      if (Healths <= 0)
      {
       Destroy(gameObject);
      }
       
        }

        void Update()
        {
      if (UnderWater == true)
      {
       Healths -= Time.deltaTime;
      }
      if (Healths <= 0)
      {
       Destroy (gameObject);
      }
        }
    }

    Проблему решил)


    Сообщение отредактировал WST - Пятница, 18 Декабря 2015, 22:17
    AlfeДата: Суббота, 19 Декабря 2015, 14:06 | Сообщение # 7484
    старожил
    Сейчас нет на сайте
    Хотелось бы поделится новостью.Вышла новая версия Unity 5.3.1 где пофиксили то, с чем многие обладатели 32x-bit Windows сталкивались.В том числе и я. Это черный экран при запуске Unity.Касательно графики добавили мультитреид рендеринг типа клиент- сервер для OS X Metal.Скачать новую версию Unity и прочитать о ней более подробно вы можете Тут

    Добавлено (19 декабря 2015, 14:06)
    ---------------------------------------------
    Сорри что не по теме,тут все же вопросы обсуждаются smile


    Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

    Моя первая игpa - Crazy Penguin


    Сообщение отредактировал Alfe - Суббота, 19 Декабря 2015, 14:06
    WSTДата: Суббота, 19 Декабря 2015, 20:00 | Сообщение # 7485
    частый гость
    Сейчас нет на сайте
    Вопрос возник. К чему мне привязать внутриигровое меню настроек? Хочу что бы по нажатию "Esc" выскакивало меню с настройками звука и музыки, а так же кнопок выходо и продолжения игры. Само меню готово, но не пойму к чему его привязать что бы но работало.
    xMoonGuarDxДата: Суббота, 19 Декабря 2015, 20:38 | Сообщение # 7486
    участник
    Сейчас нет на сайте
    Цитата WST ()
    Вопрос возник. К чему мне привязать внутриигровое меню настроек? Хочу что бы по нажатию "Esc" выскакивало меню с настройками звука и музыки, а так же кнопок выходо и продолжения игры. Само меню готово, но не пойму к чему его привязать что бы но работало.

    К скрипту, который и обрабатывает ESC. Сделать в скрипте открытую переменную GameObject, на неё повесить префаб с вашим меню настроек. И из скрипта, при нажатии ESC создавать этот префаб. При этом не забывая перевести состояния игры в паузу, если то предусмотрено логикой игры.
    WSTДата: Суббота, 19 Декабря 2015, 20:44 | Сообщение # 7487
    частый гость
    Сейчас нет на сайте
    Цитата xMoonGuarDx ()
    К скрипту, который и обрабатывает ESC. Сделать в скрипте открытую переменную GameObject, на неё повесить префаб с вашим меню настроек. И из скрипта, при нажатии ESC создавать этот префаб. При этом не забывая перевести состояния игры в паузу, если то предусмотрено логикой игры.

    А с канвасом или панелью такое можно сотворить?
    AlfeДата: Суббота, 19 Декабря 2015, 21:10 | Сообщение # 7488
    старожил
    Сейчас нет на сайте
    WST, канвас вешай хоть куда..Ибо я так и делаю biggrin Но лучше на камеру.

    Группа нашей команды. Там есть интересная рубрика... иногда игры выходят

    Моя первая игpa - Crazy Penguin
    WSTДата: Суббота, 19 Декабря 2015, 21:22 | Сообщение # 7489
    частый гость
    Сейчас нет на сайте
    Alfe, я так и делаю) но игра тупо встает в режим паузы. Не пойму что я не так написал, в скрипте) вроде если с канвасом то там пару строк кода всего должно быть и все.
    AndVolkoVДата: Суббота, 19 Декабря 2015, 21:37 | Сообщение # 7490
    участник
    Сейчас нет на сайте
    WST, Посмотри, может поможет:
    WSTДата: Суббота, 19 Декабря 2015, 21:56 | Сообщение # 7491
    частый гость
    Сейчас нет на сайте
    AndVolkoV, Спасибо. Оказывается я просто пару строк не там где надо прописал)
    БозингарДата: Воскресенье, 20 Декабря 2015, 22:34 | Сообщение # 7492
    почетный гость
    Сейчас нет на сайте
    При открытие кода в Mono начинает загружаться Visual Studio. Как отключить эту хрень?
    Извиняюсь, погорячился. Просто задолбал devil Уже разобрался.


    #Хийвэл бүү ай, айвал бүү хий.

    Сообщение отредактировал Бозингар - Воскресенье, 20 Декабря 2015, 22:36
    WSTДата: Понедельник, 21 Декабря 2015, 18:21 | Сообщение # 7493
    частый гость
    Сейчас нет на сайте
    Каким способом можно заморозить объект сымитировав таким образом его уничтожение?
    8Observer8Дата: Понедельник, 21 Декабря 2015, 18:47 | Сообщение # 7494
    заслуженный участник
    Сейчас нет на сайте
    Цитата WST ()
    Каким способом можно заморозить объект сымитировав таким образом его уничтожение?

    Отключить у него некоторые компоненты: How to enable and disable components via script during runtime


    Сообщение отредактировал 8Observer8 - Понедельник, 21 Декабря 2015, 18:47
    WSTДата: Понедельник, 21 Декабря 2015, 18:56 | Сообщение # 7495
    частый гость
    Сейчас нет на сайте
    Цитата 8Observer8 ()
    Отключить у него некоторые компоненты


    А такой способ можно применить к объекту которым управляет игрок?
    8Observer8Дата: Понедельник, 21 Декабря 2015, 19:03 | Сообщение # 7496
    заслуженный участник
    Сейчас нет на сайте
    Цитата WST ()
    А такой способ можно применить к объекту которым управляет игрок?

    Я думаю - да. Например, отключить игроку скрипт передвижения, коллайдер и Rigidbody. Показать кнопку "Try again"
    WSTДата: Понедельник, 21 Декабря 2015, 21:12 | Сообщение # 7497
    частый гость
    Сейчас нет на сайте
    8Observer8, Спасибо. Попробую.

    Добавлено (21 декабря 2015, 21:12)
    ---------------------------------------------
    Сейчас наверное задам нубский вопрос. Есть персонаж и система уровней. Как правильнее сделать реализацию перехода с уровень на уровень? Делать каждый раз новую сцену со своими звуками и настройками, или все это делать в одной сцене и использовать в качестве перехода на новый уровень "телепорт"? Какие есть нюансы и подводные камни в этих случаях?

    allodsДата: Среда, 23 Декабря 2015, 22:06 | Сообщение # 7498
    почти ветеран
    Сейчас нет на сайте
    Кто может сказать как в Network в 5 unity сказать всем клиентам загрузить уровень ? Мне нужно узнать сколько игроков подключено к серверу matchmaking и если он заполнен то загрузить уровень, не могу найти инфы
    8Observer8Дата: Пятница, 25 Декабря 2015, 20:44 | Сообщение # 7499
    заслуженный участник
    Сейчас нет на сайте
    Цитата WST ()
    Как правильнее сделать реализацию перехода с уровень на уровень?

    Не вижу другого выхода кроме как создавать свою сцену для каждого уровня.

    Переход на другу сцену:
    Код
    SceneManager.LoadScene("Level001") ;


    Добавлено (24 декабря 2015, 17:25)
    ---------------------------------------------
    allods, UNet он только для Android и IOS? Если и для PC, то куда встаить UPID? Я смотрел этот тутор, но у меня нет в "Project Setting" поля "Cloud Project ID"

    Добавлено (25 декабря 2015, 20:44)
    ---------------------------------------------
    Мне удалось соединиться с другом по UNet. Нужно было зайти в "облако" (кнопка в правом верхнем углу редактора) и нажать кнопку "Link Project". Делал по этому тутору через Unity Relay Server


    Сообщение отредактировал 8Observer8 - Суббота, 26 Декабря 2015, 02:36
    allodsДата: Суббота, 26 Декабря 2015, 23:41 | Сообщение # 7500
    почти ветеран
    Сейчас нет на сайте
    Может кто сказать возможно ли и как назначить другого игрока на роль сервера если игрок в роли сервера тот отключится или еще что похуже

    Добавлено (26 декабря 2015, 23:41)
    ---------------------------------------------
    Помогите определить направление движения не могу понять как. Скорость одно а вот направление хз

    Сообщение отредактировал allods - Суббота, 26 Декабря 2015, 02:34
    Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Вопрос-[ответ] по Unity (Задаём свои вопросы)
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг