Воскресенье, 05 Февраля 2023, 01:54

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » ArtemS [122]
Результаты поиска
ArtemSДата: Понедельник, 28 Января 2019, 14:28 | Сообщение # 41 | Тема: Конфликт библиотек.
почетный гость
Сейчас нет на сайте
drcrack, тут вся проблема в том, что сам отладчик Unity ругается на то, что в библиотеках с одним namespace System используются метод Action. Так то понятно, в using или сразу в коде прямой путь дал и все.
Я пытался через extern alias сделать. В свойствах на библиотеку давал ей псевдоним, но почему-то в VS все нормально, а в редакторе все равно юнька ругается. Пишет типа рефенерс не настроил. Нашел как это делается, создал файл msc.rsp там указал пути до библиотек и обозвал их по разному......но .....это просто беда... Program Files, а именно там находится mscorlib.dll, идет с пробелом, а эта хрень не воспринимает пробел за пробел, а типа для нее это конец строчки.. ставлю "_" , и все равно не пашет... в общем я в пичальке

Добавлено (28 Января 2019, 14:42)
---------------------------------------------
так...нашел как это сделать..типа "Program Files" забить, но все равно вылезло:
В юнити

Код
The imported type `System.Action' is defined multiple times

В VS
Код

Тип "Action" существует как в "Newtonsoft.Json, Version=4.0.7.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed", так и в "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".


хуяк, хуяк и в продакшн
ArtemSДата: Понедельник, 28 Января 2019, 13:49 | Сообщение # 42 | Тема: Конфликт библиотек.
почетный гость
Сейчас нет на сайте
Возник конфликт библиотеки Newtonsoft.Json.dll и mscorlib.dll ...
Типа и там и там используется System и нужный мне метод Action.

Если кто знает как можно указать какую конкретно библиотеку использовать и чтобы отладчик Unity не ругался, типа Action используется дважды, подскажите. lovegcup


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Понедельник, 28 Января 2019, 13:49
ArtemSДата: Пятница, 04 Января 2019, 09:43 | Сообщение # 43 | Тема: Нужно найти урок, помогите!
почетный гость
Сейчас нет на сайте
У тебя есть 2 анимации и тебе надо 2ую запустить с того же кадра, на котором приостановилась 1ая ? Тогда AnimationState.time тебе в помощь

хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Пятница, 04 Января 2019, 09:44
ArtemSДата: Пятница, 07 Декабря 2018, 07:03 | Сообщение # 44 | Тема: Unity 2018. начало
почетный гость
Сейчас нет на сайте
Цитата drcrack ()
Сомнительный кстати совет в свете того что сейчас обычно единственный SSD в системе это как раз C


я тут себе SSD прикупил, старый форматнул и ах***л ,когда вспомнил, что проект на С диске лежал, а точнее на рабочем столе


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Пятница, 07 Декабря 2018, 07:07
ArtemSДата: Четверг, 06 Декабря 2018, 06:15 | Сообщение # 45 | Тема: сервер для игры на unity
почетный гость
Сейчас нет на сайте
я на signalR в .net делаю. Библиотека нормально взаимодействует с юнити. На websocket'ах работает

хуяк, хуяк и в продакшн
ArtemSДата: Среда, 31 Октября 2018, 06:04 | Сообщение # 46 | Тема: Бегунок Scrollbar'а постоянного размера
почетный гость
Сейчас нет на сайте
не понимаю в чем проблема, изменил хандл и он сохранил свой размер

может вам slider использовать с удалением Fill Area ?


хуяк, хуяк и в продакшн
ArtemSДата: Пятница, 26 Октября 2018, 04:14 | Сообщение # 47 | Тема: Как проще всего создать мультиплеер на unity?
почетный гость
Сейчас нет на сайте
Если были проблемы с uNet то в остальное лучше даже и не суйся, там еще больше будет сложностей. Смотри видюхи, читай уроки. На ITVDN есть про сервер пару уроков.. как раз с использованием uNet, есть клиент-серверное приложение на WebSocket'ах, но там курс не полный и добавляться он не будет. Можешь посмотреть в сторону Photon (PUN), по моему это тот же uNet, в инете есть русскоязычные туториалы

хуяк, хуяк и в продакшн
ArtemSДата: Четверг, 18 Октября 2018, 05:20 | Сообщение # 48 | Тема: Анимация блокирует физику.
почетный гость
Сейчас нет на сайте
Есть объект, он перемещается так. Все это делается в 2D
Код

translation = Input.GetAxis("Vertical") * speed*50 * Time.deltaTime;
rotation = Input.GetAxis("Horizontal") * rotationSpeed * Time.deltaTime;
  
transform.Rotate(0, 0, rotation);

_rigidbody2D.AddForce(transform.right * translation);


Хочу сделать чтобы при вращении он наклонялся по оси Х влево или вправо, делал это дело в аниматоре по состояниям. Просто пытался вращать кватернион по Х. Но почему-то он всегда блочит вращение. Объект просто перестает вращаться, хотя если убираю попытки наклона , все здорово работает. Можете подсказать в чем проблема, а то я уже подтупливать начинаю.

Код

if (_rotation < 0) anim.Play("Left");
if (_rotation == 0) anim.Play("Idle");
if (_rotation > 0) anim.Play("Right");


хуяк, хуяк и в продакшн
ArtemSДата: Понедельник, 15 Октября 2018, 11:55 | Сообщение # 49 | Тема: Как проверить массив и текст в одно условие
почетный гость
Сейчас нет на сайте
alexsilent, если не ошибаюсь то можно сразу делать проверку на длинну массива и формат строки, в противном случае их просто не может не быть

хуяк, хуяк и в продакшн
ArtemSДата: Четверг, 11 Октября 2018, 09:59 | Сообщение # 50 | Тема: IndexOutOfRangeException: Array index is out of range.
почетный гость
Сейчас нет на сайте
Цитата BassPiraT92 ()
for (int i = 0; i < Activaters.Length; i++)
{
Activaters[i].SetActive(isPause);
DeActivaters[i].SetActive(!isPause);
}


Мне кажется у тебя ошибка i < Activaters.Length..... надо чтобы оно i < Activaters.Length+1 было иначе последний не будут проверяться.

И сделай проверку перед каждой активацией/деактивацией.. если i>длинны массива, то идем дальше без выполения активации/деактивации.


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Четверг, 11 Октября 2018, 10:04
ArtemSДата: Четверг, 11 Октября 2018, 09:50 | Сообщение # 51 | Тема: Передвижение персонажа по вертикали
почетный гость
Сейчас нет на сайте
DekSter, если "игрок" OnCollisionStay2D с коллайдером тег "лестница", то <делаешь физику какая тебе нужна>

хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Четверг, 11 Октября 2018, 09:51
ArtemSДата: Среда, 03 Октября 2018, 16:33 | Сообщение # 52 | Тема: Персонаж не прыгает
почетный гость
Сейчас нет на сайте
Тоже подумал что на >0 надо исправить, можно еще вместо коллайдера луч вниз пускать и искать объект с тегом "земля". А то ты и от стен будешь прыгать и от врагов и от всего

хуяк, хуяк и в продакшн
ArtemSДата: Среда, 03 Октября 2018, 16:19 | Сообщение # 53 | Тема: Мне нужно вызвать меню при нажатии на объект
почетный гость
Сейчас нет на сайте
DaniilF12, просмотри уроки на ютубе, твоего уровня их куча и на русском языке.

А вообще поиск крутая штука для таких вопросов


хуяк, хуяк и в продакшн
ArtemSДата: Четверг, 27 Сентября 2018, 05:26 | Сообщение # 54 | Тема: Лишь один клик
почетный гость
Сейчас нет на сайте
Сделай чтобы при отпуски кнопки менялась ось, а после сдвига сразу обнуляй X и У.

Код

void Update()
    {
        if (Input.GetKeyDown("A"))
        {
           x=-1;           
        }
        //так же на остальные кнопки
        ....
        
        //тут сдвиг
        .....

        х=0;
        y=0;
    }


либо можешь ввести проверку на время, чтобы перемещение шло не чаще 1 секунды.

Код

if (Time.time > cdTime)
{
  cdTime = Time.time +1;
  //код сдвига
  ...
}  


хуяк, хуяк и в продакшн
ArtemSДата: Четверг, 20 Сентября 2018, 03:51 | Сообщение # 55 | Тема: Rigidbody движется не плавно, а рывками, как делать движение
почетный гость
Сейчас нет на сайте
Цитата alexsilent ()
Плавные перемещения происходят только тогда, когда работаешь без rigidbody с перемещениями transform,
но так нельзя расчитать коллизию со стенами.


тебя никто не заставляет двигать RB, просто это правильнее, потому что при столкновении тело продолжит движение и будут неприятные баги. А вообще ощущение что у тебя просто слабый комп, либо где-то по проекту есть строки которые сильно его напрягают.


хуяк, хуяк и в продакшн
ArtemSДата: Вторник, 18 Сентября 2018, 06:12 | Сообщение # 56 | Тема: Некорректно работает OnMouseDown
почетный гость
Сейчас нет на сайте
Не знаю что это за параметры, но могу предположить что это какая-то связь с родительскими объектами и детьми. Может они наследуют чей-то трансформ и тем самым становятся чьими-то детьми ? После чего залипают в пространстве, так как они появляются в плоскости доски. Убери доску и отключи гравитацию...продолжется ли твой баг ?

хуяк, хуяк и в продакшн
ArtemSДата: Вторник, 18 Сентября 2018, 06:05 | Сообщение # 57 | Тема: Создание сетки и заполнения её цифрами
почетный гость
Сейчас нет на сайте
DeveloperGame, попробуй воспользоваться компонентом Grid, это таблицы, мне кажется с помощью нихъ что-то можно придумать.

хуяк, хуяк и в продакшн
ArtemSДата: Вторник, 18 Сентября 2018, 06:02 | Сообщение # 58 | Тема: Последовательное столкновение?
почетный гость
Сейчас нет на сайте
FinalQ, отключи столкновение, и сделай скрипт который сканит в радиусе от врага пространство небольшое, и если в нем один или более, то удаляет себя и еще одного. а лучше это сделать отдельно, чтобы какой-то менеджер решал а не сами враги

хуяк, хуяк и в продакшн
ArtemSДата: Вторник, 18 Сентября 2018, 05:59 | Сообщение # 59 | Тема: Rigidbody движется не плавно, а рывками, как делать движение
почетный гость
Сейчас нет на сайте
Мало инфы! оч мало инфы!

хуяк, хуяк и в продакшн
ArtemSДата: Четверг, 06 Сентября 2018, 06:36 | Сообщение # 60 | Тема: Ошибка на сервере SignalR
почетный гость
Сейчас нет на сайте
Код
InvalidOperationException: Collection was modified; enumeration operation may not execute.
System.ThrowHelper.ThrowInvalidOperationException (System.ExceptionResource resource) (at <cfc149f8218b496788d8493c87de777a>:0)
System.Collections.Generic.List`1+Enumerator[T].MoveNextRare () (at <cfc149f8218b496788d8493c87de777a>:0)
System.Collections.Generic.List`1+Enumerator[T].MoveNext () (at <cfc149f8218b496788d8493c87de777a>:0)
SignalRClient+<SendAndSyncData>c__Iterator1.MoveNext () (at Assets/Scripts/SignalRClient.cs:83)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)


Делаю сетевую сервер-клиентскую игру. Сделал передачу координат, все прекрасно работает: координаты передаются, во всех окнах все гладенько двигается у всех, но спустя секунд 5-10 движений происходит вот эта ошибка и все! Связь будто обрывается и прекращается синхроницазия между игроками. Может кто подсказать как эту хрень избежать ?

Делаю с использованием SignalR.

Код

private IEnumerator SendAndSyncData()
    {
  yield return new WaitForSeconds(0.06f); //каждые 60 мс шлет Update

  if (_isPlayerRegister)
  {
   if (_gameHelper.CurrentPlayerGameObject)
   {

    Vector3 pos = _gameHelper.CurrentPlayerGameObject.GetComponent<PlayerController>().SyncPosition;
    Quaternion rot = _gameHelper.CurrentPlayerGameObject.GetComponent<PlayerController>().SyncRotation;
    
    SyncObjectModel syncObjectModel = new SyncObjectModel()
    {
     Id = _gameHelper.CurrentPlayerGameObject.GetComponent<SignalRIdentity>().NetworkID,

     X = pos.x,
     Y = pos.y,
     Z = pos.z,

     aX = rot.x,
     aY = rot.y,
     aZ = rot.z,
     aQ = rot.w
    };
    //отправляет на обновление syncObjectModel
    hubProxy.Invoke("UpdateModel", syncObjectModel);
   }

   //синкаем позицию
   if (_syncObjectPool.Count > 0)
   {

    foreach (var syncObjectModel in _syncObjectPool)
    {
     SignalRIdentity signalRIdentity = _gameHelper.OtherPlayers.FirstOrDefault(p => p.NetworkID == syncObjectModel.Id);
     if (signalRIdentity)
     {
      PlayerController playerController = signalRIdentity.GetComponent<PlayerController>();

      Vector3 pos = new Vector3(syncObjectModel.X, syncObjectModel.Y, syncObjectModel.Z);
      Quaternion rot =  new Quaternion(syncObjectModel.aX,
                    syncObjectModel.aY,
                    syncObjectModel.aZ,
                    syncObjectModel.aQ);

      playerController.SyncPosition = pos;
      playerController.SyncRotation = rot;
     }
    }
   }

  }
  StartCoroutine(SendAndSyncData());
    }


^
Так идет получение позиции в клиенте

Код

//рассылка обновления
  public void BroadcastShape(object state)
  {   
   if (_modelUpdated)
   {
    foreach (var item in _oneFrameSyncModels )
    {
    //если зарегестрирован значит имеет право слать свои координаты
    //шлет всем кроме себя
    if (_players.Any(p => p.ConnectionId == item.Authority))
      //вызывать (AllExcept) у всех, кроме отсылающего (item.Authority) метод  updateGameModels и слать в него item
      _hubContext.Clients.AllExcept(item.Authority).updateGameModels(item);
    }
    //здесть обнуляем список изменений
    _oneFrameSyncModels = new ConcurrentQueue<SyncObjectModel>();
    _modelUpdated = false;
   }
   }

  //обновление модели
  public void UpdateModel(SyncObjectModel clientmodel)
  {
   _oneFrameSyncModels.Enqueue(clientmodel);
   _modelUpdated = true;
  }


^
А это то, что происходит на сервере

Добавлено (06 Сентября 2018, 07:03)
---------------------------------------------
Все нашел ошибку. Забыл чистить лист на обновление


хуяк, хуяк и в продакшн

Сообщение отредактировал ArtemS - Четверг, 06 Сентября 2018, 06:51
Форум игроделов » Записи участника » ArtemS [122]
Поиск:

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