• Как проверить соприкосновение?

    @Zimaell Автор вопроса
    вот в чем была проблема
    AddForce(bullet.transform.forward * 200, ForceMode.Impulse);

    убрал ForceMode.Impulse и теперь работает корректно...
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    Griboks, Что-то не совсем пойму, по материалам там куча настроек, у меня вот как
    5efddfdbd0c8f191695532.jpeg
    5efddfe6385e5259203822.jpeg
    Особо и не разгонишься с настройками...
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    Griboks, не понял, еще дополнительно движки физики нужно устанавливать ли я что-то не так понял?
    Можете сказать что не так?
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    то есть все же не через OnTriggerEnter нужно а через OnCollisionEnter?
    но так у меня не работает вообще...
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    Не совсем так работает как хотелось бы, при быстром полете видно что снаряд пролетает мимо и тем самым не соприкасается, видно по кадрам что снаряд не касается противника, если конечно сделать медленнее полет то касается, как быть то?
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    заменил на OnTriggerEnter, работает...
  • Как проверить соприкосновение?

    @Zimaell Автор вопроса
    снаряд это куб превращенный в прямоугольник, противник сфера, коллайдеры используются те которые им были выданы при их создании, так же снаряду установлен триггер, что я мог неправильно установить?
  • Как синхронизировать бой между двумя или более игроками?

    @Zimaell Автор вопроса
    GavriKos, если есть возможность реализации мною задуманного то конечно изучу данное направление, просто некоторые пишут что раньше работало а теперь не работает, но это все комментарии, я не берусь пока что что-то утверждать, если вы говорите что это возможно с данной технологией то конечно буду разбираться, просто пока что только собираю сведения и выбираю направление....
  • Как синхронизировать бой между двумя или более игроками?

    @Zimaell Автор вопроса
    Почитал по форумам (еще до компа не добрался), поговаривают что Photon не работает с https серверами, то есть только в незащищенном что-ли, пока что не совсем понял...
  • Как синхронизировать бой между двумя или более игроками?

    @Zimaell Автор вопроса
    по данному материалу нашел сразу видео
    Онлайн игра: полный туториал, часть 1 [Unity 3D] [Photon] - матчмейкинг и простая синхронизация

    Спасибо посмотрю что да как...
  • Как синхронизировать бой между двумя или более игроками?

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

    Я писал на PHP и запросы между серверами делал через CURL, на один запрос в одну сторону 1-2 сек и в другую столько же, и того один шаг юнита займет минимум 2 сек, ну это же тормоза...
    Поэтому хотелось бы примеры реализации увидеть где в режиме реального времени идет обмен данными между сервером и клиентами...
  • Как провести красивый луч?

    @Zimaell Автор вопроса
    Developer, красивый регулируемый луч (типа выстрел лазера), то есть чтобы я мог устанавливать цвет, толщину и т.д., а на данный момент я имею какой-то дефолтный розовый прямоугольник от башни к противнику...
    Создать префаб тоже не получилось, невидимый что-ли...
  • Как сделать эфект лазера?

    @Zimaell Автор вопроса
    да здесь как раз смотрел, не смог впилить в свою модель, если бы по проще...
  • Какие могут быть причины невозможности установки mozilla?

    @Zimaell Автор вопроса
    Много чего пробовал.... В итоге переустановил ОС, так как проблемы на сколько я понял с драйверами и полное их обновление тоже не помогало...
    В общем ОС перебил и теперь все норм, собственно лечение от любой болячки...
  • Как задать последовательность и время появления врагов?

    @Zimaell Автор вопроса
    Хотя может туплю, List же
    foreach(List cond in spawnConditions)
    только вот добавить в массив не получается теперь spawnConditions.Add(enemy1,5);
    No overload for method 'Add' takes 2 arguments
  • Как задать последовательность и время появления врагов?

    @Zimaell Автор вопроса
    freeExec, на данную
    List<SpawnConditions> spawnConditions = new List<SpawnConditions>()
        { new SpawnConditions(TimeFromStart = 5, Prefab = Enemy1};

    кричит
    error CS1519: Invalid token '{' in class, struct, or interface member declaration

    если убрать вторую строку и добавить в массив следующим образом
    spawnConditions.Add(enemy1,5);
    то в foreach
    foreach(cond in spawnConditions)
    кричит
    error CS0230: Type and identifier are both required in a foreach statement

    Как я понимаю нужно задать правильно тип массива, только вот какой ...
    Думал так
    foreach(cond<SpawnConditions> in spawnConditions)
    тоже нет...
  • Как задать последовательность и время появления врагов?

    @Zimaell Автор вопроса
    freeExec, просто дело в том что он не статический, то есть где-то на сервере он будет формироваться, далее передаваться в приложение и там уже по этому массиву будут выводиться тогда когда нужно...
  • Как задать последовательность и время появления врагов?

    @Zimaell Автор вопроса
    а spawnConditions можно задать просто массивом?
    По примеру PHP (в C# пока что не в курсе)
    $spawnConditions=array(
     3=> array('enemy'=>'enemy1'),
     15=> array('enemy'=>'enemy2'),
     25=> array('enemy'=>'enemy3')
      );

    В смысле чтобы на 3сек появился enemy1, на 15 enemy2 и т.д...
    Или тут нужно по другому нужно?
  • Как правильно строится система построения разных противников?

    @Zimaell Автор вопроса
    freeExec, Не то чтобы неправильный, получается мне для каждого нового противника в его префаб нужно такой же скрипт прикреплять только с другими данными, скорость, жизни т.д, разве это правильно?

    Saboteur, Можно данной реализации?
    Было бы на много удобнее если бы все их данные были в бд (или каком хранилище) и при создании брать оттуда данные...
  • Как сделать мультикурл через несколько адресов?

    @Zimaell Автор вопроса
    spoiler
    $channels=array();
    $multi=curl_multi_init();
    foreach($arr as $url=>$proxy){
    	$arr_proxy[$url]=$proxy;
    	$post='..........';
    	$ch=curl_init();
    	curl_setopt($ch,CURLOPT_URL,'..............');
    	curl_setopt($ch,CURLOPT_COOKIEFILE,"");
    	curl_setopt($ch,CURLOPT_REFERER,'.............');
    	curl_setopt($ch,CURLOPT_FOLLOWLOCATION,FALSE);
    	curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
    	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
    	curl_setopt($ch,CURLOPT_HEADER,TRUE);
    	curl_setopt($ch,CURLOPT_TIMEOUT,11);
    	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,11);
    	curl_setopt($ch,CURLOPT_POST,TRUE);
    	curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
    	curl_setopt($ch,CURLOPT_MAXREDIRS,1);
    	curl_setopt($ch,CURLOPT_PROXYTYPE,0);
    	curl_setopt($ch,CURLOPT_PROXY,$proxy);
    	curl_setopt($ch,CURLOPT_ENCODING,"");
    	curl_multi_add_handle($multi,$ch);
    	$channels[$url]=$ch;
    	}
    $active=NULL; do{ $mrc=curl_multi_exec($multi,$active); } while($mrc==CURLM_CALL_MULTI_PERFORM);
    while($active && $mrc==CURLM_OK){
    	if(curl_multi_select($multi)==-1) usleep(rand($settings_parser['cookie_usleep_active_min'],$settings_parser['cookie_usleep_active_max']));
    		do{ $mrc=curl_multi_exec($multi,$active); } while($mrc==CURLM_CALL_MULTI_PERFORM);
    	}
    foreach($channels as $url=>$ch){
    	$content=trim(curl_multi_getcontent($ch));
    	// тут из контента берутся куки
    	$arr_cookie[$url]=get_cookie($content);
    	curl_multi_remove_handle($multi,$ch);
    	}
    curl_multi_close($multi);
    #===================================================================#
    $channels=array();
    $multi=curl_multi_init();
    foreach($arr_cookie as $url=>$cookie){
    	$proxy=$arr_proxy[$url];
    	$ch=curl_init();
    	curl_setopt($ch,CURLOPT_URL,'..............');
    	curl_setopt($ch,CURLOPT_COOKIEFILE,"");
    	curl_setopt($ch,CURLOPT_COOKIE,$cookie);
    	curl_setopt($ch,CURLOPT_REFERER,'.............');
    	curl_setopt($ch,CURLOPT_FOLLOWLOCATION,FALSE);
    	curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
    	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
    	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
    	curl_setopt($ch,CURLOPT_HEADER,TRUE);
    	curl_setopt($ch,CURLOPT_TIMEOUT,11);
    	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,11);
    	curl_setopt($ch,CURLOPT_POST,TRUE);
    	curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
    	curl_setopt($ch,CURLOPT_MAXREDIRS,1);
    	curl_setopt($ch,CURLOPT_PROXYTYPE,0);
    	curl_setopt($ch,CURLOPT_PROXY,$proxy);
    	curl_setopt($ch,CURLOPT_ENCODING,"");
    	curl_multi_add_handle($multi,$ch);
    	$channels[$url]=$ch;
    	}
    $active=NULL; do{ $mrc=curl_multi_exec($multi,$active); } while($mrc==CURLM_CALL_MULTI_PERFORM);
    while($active && $mrc==CURLM_OK){
    	if(curl_multi_select($multi)==-1) usleep(rand($settings_parser['cookie_usleep_active_min'],$settings_parser['cookie_usleep_active_max']));
    		do{ $mrc=curl_multi_exec($multi,$active); } while($mrc==CURLM_CALL_MULTI_PERFORM);
    	}
    foreach($channels as $url=>$ch){
    	$content=trim(curl_multi_getcontent($ch));
    	curl_multi_remove_handle($multi,$ch);
    	}
    curl_multi_close($multi);

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