Size: a a a

Unity Floodилка

2020 August 29

P#

Pavel #------# in Unity Floodилка
Александр
блять ты троль?
Он предлогает исключить все занятые точки генерации
источник

ws

wano snegirееv in Unity Floodилка
get_value(x,y):
   return map[x][y]
источник

А

Александр in Unity Floodилка
Pavel #------#
Он предлогает исключить все занятые точки генерации
каким образом
источник

P#

Pavel #------# in Unity Floodилка
Александр
каким образом
Собирать сразу не занятые зоны
источник

А

Александр in Unity Floodилка
типа сгенерить список всех точек, рандомные из них заполнить деревьями например, и поудалять их из списка
источник

А

Александр in Unity Floodилка
а остальные доступны для спавна игрока
источник

P#

Pavel #------# in Unity Floodилка
Вернее не так, собрать список зонч и при использовании зоны исключать ее из списка
источник

P#

Pavel #------# in Unity Floodилка
Александр
а остальные доступны для спавна игрока
Да
источник

А

Александр in Unity Floodилка
да, получается что без ифов. Согласен, Вано прав
источник

А

Александр in Unity Floodилка
каюс
источник

А

Александр in Unity Floodилка
источник

C

Cartoon Cat in Unity Floodилка
почему бот идёт к одной точке а к другим точкам не идёт?
источник

ws

wano snegirееv in Unity Floodилка
Pavel #------#
Собирать сразу не занятые зоны
нет.
аждый такт мы спавним то, что указано на карте.

Когда на карте 0 - спавним объект 0
когда на карте -1 - спавним 1
когда на карте 2 - 2

т.е. либо
if val == 0:
  spawn(0)
elif val == 1:
  spawn(1)
либо:
spawn(val)
источник

P#

Pavel #------# in Unity Floodилка
Cartoon Cat
почему бот идёт к одной точке а к другим точкам не идёт?
Таков его выбор
источник

C

Cartoon Cat in Unity Floodилка
Cartoon Cat
почему бот идёт к одной точке а к другим точкам не идёт?
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.AI;

//скрипт заставляет объект патрулировать, т.е. тупо ходить туда-сюда по вейпоинтам в случайном порядке
public class ObjectsNavigation : MonoBehaviour //НЕ ЗАБУДЬТЕ ПЕРЕИМЕНОВАТЬ ФАЙЛ СКРИПТА В НАЗВАНИЕ КЛАССА
{
 //хранит папку точек
 [Tooltip("Перетащите сюда из иерархии родителя вейпоитов")]
 public Transform parentWaypoints; //создайте в иерархии пустой объект, и удочерите ему вейпоинты, по которым нужно ходить
 //Минимальная дистанция до вейпоита, когда объект посчитает, что дошел до нее
 float minDistance = 1f;
 //близко к 0 лучше не ставить, так как некоторые объекты никогда не достигнут вейпоинта,
 //если вейпоинт на земле, а центр объекта выше указанного вами расстояния

 //создаем переменную с навигационным мешем
 UnityEngine.AI.NavMeshAgent agent;

 //указывает на какую из точек сейчас идти (выбирается случайным образом в ToRandWaypoint())
 int randomWaypoint = 0;
 private Animator myAnimator;

 void Start()
 {
   //получаем в переменную навигационный меш
   agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
   myAnimator = GetComponent<Animator> ();
   ToRandWaypoint();
 }
   void Update()
   {
     //если дистанция до точки меньше минимально необходимой (т.е. мы пришли к точке)
     if (Vector3.Distance(transform.position, parentWaypoints.GetChild(randomWaypoint).transform.position) <= minDistance)
     {
       //отправляем к случайной точке
       ToRandWaypoint();
 }
}
     void ToRandWaypoint()
     {
       //выбираем номер случайной точки от 0 до числа количества вейпоинтов (дочерних объектов) в parentWaypoints
       randomWaypoint = Random.Range(0, parentWaypoints.childCount);
       //направляем агента в эту точку
       agent.destination = parentWaypoints.GetChild(randomWaypoint).transform.position;
       myAnimator.Play ("run");
     }
   }
источник

А

Александр in Unity Floodилка
wano snegirееv
нет.
аждый такт мы спавним то, что указано на карте.

Когда на карте 0 - спавним объект 0
когда на карте -1 - спавним 1
когда на карте 2 - 2

т.е. либо
if val == 0:
  spawn(0)
elif val == 1:
  spawn(1)
либо:
spawn(val)
так ифы же есть лол
источник

C

Cartoon Cat in Unity Floodилка
Cartoon Cat
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.AI;

//скрипт заставляет объект патрулировать, т.е. тупо ходить туда-сюда по вейпоинтам в случайном порядке
public class ObjectsNavigation : MonoBehaviour //НЕ ЗАБУДЬТЕ ПЕРЕИМЕНОВАТЬ ФАЙЛ СКРИПТА В НАЗВАНИЕ КЛАССА
{
 //хранит папку точек
 [Tooltip("Перетащите сюда из иерархии родителя вейпоитов")]
 public Transform parentWaypoints; //создайте в иерархии пустой объект, и удочерите ему вейпоинты, по которым нужно ходить
 //Минимальная дистанция до вейпоита, когда объект посчитает, что дошел до нее
 float minDistance = 1f;
 //близко к 0 лучше не ставить, так как некоторые объекты никогда не достигнут вейпоинта,
 //если вейпоинт на земле, а центр объекта выше указанного вами расстояния

 //создаем переменную с навигационным мешем
 UnityEngine.AI.NavMeshAgent agent;

 //указывает на какую из точек сейчас идти (выбирается случайным образом в ToRandWaypoint())
 int randomWaypoint = 0;
 private Animator myAnimator;

 void Start()
 {
   //получаем в переменную навигационный меш
   agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
   myAnimator = GetComponent<Animator> ();
   ToRandWaypoint();
 }
   void Update()
   {
     //если дистанция до точки меньше минимально необходимой (т.е. мы пришли к точке)
     if (Vector3.Distance(transform.position, parentWaypoints.GetChild(randomWaypoint).transform.position) <= minDistance)
     {
       //отправляем к случайной точке
       ToRandWaypoint();
 }
}
     void ToRandWaypoint()
     {
       //выбираем номер случайной точки от 0 до числа количества вейпоинтов (дочерних объектов) в parentWaypoints
       randomWaypoint = Random.Range(0, parentWaypoints.childCount);
       //направляем агента в эту точку
       agent.destination = parentWaypoints.GetChild(randomWaypoint).transform.position;
       myAnimator.Play ("run");
     }
   }
вот код
источник

P#

Pavel #------# in Unity Floodилка
Cartoon Cat
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.AI;

//скрипт заставляет объект патрулировать, т.е. тупо ходить туда-сюда по вейпоинтам в случайном порядке
public class ObjectsNavigation : MonoBehaviour //НЕ ЗАБУДЬТЕ ПЕРЕИМЕНОВАТЬ ФАЙЛ СКРИПТА В НАЗВАНИЕ КЛАССА
{
 //хранит папку точек
 [Tooltip("Перетащите сюда из иерархии родителя вейпоитов")]
 public Transform parentWaypoints; //создайте в иерархии пустой объект, и удочерите ему вейпоинты, по которым нужно ходить
 //Минимальная дистанция до вейпоита, когда объект посчитает, что дошел до нее
 float minDistance = 1f;
 //близко к 0 лучше не ставить, так как некоторые объекты никогда не достигнут вейпоинта,
 //если вейпоинт на земле, а центр объекта выше указанного вами расстояния

 //создаем переменную с навигационным мешем
 UnityEngine.AI.NavMeshAgent agent;

 //указывает на какую из точек сейчас идти (выбирается случайным образом в ToRandWaypoint())
 int randomWaypoint = 0;
 private Animator myAnimator;

 void Start()
 {
   //получаем в переменную навигационный меш
   agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
   myAnimator = GetComponent<Animator> ();
   ToRandWaypoint();
 }
   void Update()
   {
     //если дистанция до точки меньше минимально необходимой (т.е. мы пришли к точке)
     if (Vector3.Distance(transform.position, parentWaypoints.GetChild(randomWaypoint).transform.position) <= minDistance)
     {
       //отправляем к случайной точке
       ToRandWaypoint();
 }
}
     void ToRandWaypoint()
     {
       //выбираем номер случайной точки от 0 до числа количества вейпоинтов (дочерних объектов) в parentWaypoints
       randomWaypoint = Random.Range(0, parentWaypoints.childCount);
       //направляем агента в эту точку
       agent.destination = parentWaypoints.GetChild(randomWaypoint).transform.position;
       myAnimator.Play ("run");
     }
   }
Это выбор бота отстань от него
источник

А

Александр in Unity Floodилка
ага, навмеш понял
источник

А

Александр in Unity Floodилка
ливаю
источник