Результаты поиска
|
|
Storm54 | Дата: Среда, 12 Марта 2014, 23:08 | Сообщение # 401 | Тема: Связь разных скриптов. |
постоянный участник
Сейчас нет на сайте
| Если нужно связать программно, то сначала нужно найти объект, а потом получить у него указатель на скрипт. Код YouScript script = GameObject.Find("ObjectName").GetComponent<YouScript>();
|
|
| |
Storm54 | Дата: Среда, 12 Марта 2014, 23:04 | Сообщение # 402 | Тема: Свой cast |
постоянный участник
Сейчас нет на сайте
| Не указал такой вариант, потому что это в корне неправильно. Например, если нужно во время игры изменять угол обзора бота, дальность видимости бота и другие факторы. Призма может попросту не вписаться. К тому же это работает не так уж и быстро. Особенно, если ботов много.
|
|
| |
Storm54 | Дата: Среда, 12 Марта 2014, 22:47 | Сообщение # 403 | Тема: Свой cast |
постоянный участник
Сейчас нет на сайте
| Тригонометрия в помощь. Есть разные алгоритмы, по которым можно получить точку пересечения примитивов и для каждого примитива алгоритм свой. В любом случае парой строчек кода здесь не обойдешься. Придется вручную перебирать все объекты на сцене, брать у них данные о коллайдере и использовать в своем алгоритме. Конечно, я могу ошибаться. Возможно класс Physics может немного облегчить эту задачу.
Из предыдущих тем я понял, что ты хочешь реализовать зону видимости бота в виде прямой треугольной призмы. Если да, то проверять с такой призмой все объекты - бессмысленно. Проще сравнить угол поворота бота с игроком. Если бот смотрит на игрока, то уже пускать до него обычные лучи, дабы отследить препятствия на пути к игроку. Ты же кидал видео, в котором была нужная тебе система AI. Там все сделано было на лучах. Так напиши такую же. Так же я тебе скидывал в ЛС свой вариант возможной реализации AI, который, на мой взгляд, добавил бы больше реалистичности ботам, т.к. там учитывалась еще и скорость реакции бота.
Сообщение отредактировал Storm54 - Среда, 12 Марта 2014, 22:48 |
|
| |
Storm54 | Дата: Среда, 12 Марта 2014, 17:10 | Сообщение # 404 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Цитата Хахаха,зато я dos и html хорошо знаю. Судя по тому, что ты написал: Ты вообще и понятия не имеешь, что такое DOS. Писать простенькие скрипты в батнике - ничего общего с дисковой операционной системой.
Сообщение отредактировал Storm54 - Среда, 12 Марта 2014, 17:11 |
|
| |
Storm54 | Дата: Среда, 12 Марта 2014, 11:27 | Сообщение # 405 | Тема: Проблема со Start Screen |
постоянный участник
Сейчас нет на сайте
| Экстрасенсы сейчас в отпуске, так что некому сказать, что именно у тебя не так не посмотрев на код. Могу только дать совет: Вообще не изменяй timeScale. Лучше сделай переменную, отвечающую за состояние игры и в зависимости от ее значения управляй всеми игровыми функциями.
|
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 23:45 | Сообщение # 406 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Цитата Это потому что скрипт привязан к main camera!! Причем тут это? В данном случае это не имет значения. Цитата А насчет геймдева уже реально четвертый год идет. Количество не показатель качества.
|
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 23:36 | Сообщение # 407 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Цитата Я вообще то спец по многим движкам...Стаж в геймдеве уже 4 года. А основы C scharp я знаю....Я уже несколько скриптов писал для проектов. Как сказал Станиславский: "Не верю!"
Если по теме: Не заметил, что в скрипте уже есть метод Start(), так что Код highscore = PlayerPrefs.GetInt("Highscore"); поставь туда.
Сообщение отредактировал Storm54 - Вторник, 11 Марта 2014, 23:38 |
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 23:31 | Сообщение # 408 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Поставь перед последней фигурной скобкой.
|
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 23:08 | Сообщение # 409 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Ясно. Попробуй так:
Код void Start() { highscore = PlayerPrefs.GetInt("Highscore"); }
void OnDestory() { PlayerPrefs.SetInt("Highscore",highscore); }
В теории все должно работать.
Сообщение отредактировал Storm54 - Вторник, 11 Марта 2014, 23:09 |
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 22:59 | Сообщение # 410 | Тема: Пишу AI. Кто хочет присоеденяйтесь |
постоянный участник
Сейчас нет на сайте
| Хотелось бы взглянуть на код лоадера ОС
|
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 22:48 | Сообщение # 411 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Что именно не работает? Данные не сохраняются?
Сообщение отредактировал Storm54 - Вторник, 11 Марта 2014, 22:54 |
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 22:32 | Сообщение # 412 | Тема: Проблема со Start Screen |
постоянный участник
Сейчас нет на сайте
| Код public void StopGame() { GetComponent<SpriteRenderer>().enabled = true; Time.timeScale = 0; enabled = true; }
void Update() { if(Input.GetKeyDown(KeyCode.Space)) { GetComponent<SpriteRenderer>().enabled = false; Time.timeScale = 1; enabled = false; } }
Теперь при вызове метода StopGame() можно останавливать игру. При нажатии пробел игра запускается. И так до бесконечности.
Сообщение отредактировал Storm54 - Вторник, 11 Марта 2014, 22:36 |
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 22:25 | Сообщение # 413 | Тема: Скриптирование |
постоянный участник
Сейчас нет на сайте
| Нехорошо лепить все в один файл.
|
|
| |
Storm54 | Дата: Вторник, 11 Марта 2014, 00:57 | Сообщение # 414 | Тема: Пишу AI. Кто хочет присоеденяйтесь |
постоянный участник
Сейчас нет на сайте
| Цитата Povstalez (  ) пишу на C#) Мне интересно, как ты умудряешься писать ОС на языке, использующем .NET Framework? Это ОС работающая на винде?
Сообщение отредактировал Storm54 - Вторник, 11 Марта 2014, 00:57 |
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 22:06 | Сообщение # 415 | Тема: смена объекта1 на объект2 |
постоянный участник
Сейчас нет на сайте
| Если интересует именно процесс смены одного объекта на другой, то будет примерно так:
Код GameObject.Instantiate(Resources.Load("object2"),transform.position,transform.rotation); gameObject.Destroy();
Это при условии, что скрипт висит на объекте 1, а префаб с именем "объект 2" находится в папке "Resources" проекта.
|
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 22:01 | Сообщение # 416 | Тема: Текстурирование материалов по скрипту |
постоянный участник
Сейчас нет на сайте
| Цитата Возникнет куча проблем. К примеру, первое что пришло на ум, физика. Попадаешь пулей в один объект разрушаются все. Это только на первый взгляд. Я уверен проблем будет очень-очень много. На мой взгляд это самый оптимальный вариант для статики. Кстати, объекты же можно и не соединять. Главное, чтобы они одну и ту же развертку использовали. Тогда можно будет вытворять с объектами все, что угодно.
Цитата Или 2048 и 1024 - разницы практически никакой? Если не подходить вплотную и не приглядываться, то никакой. А для более детального отображения объекта(когда игрок подходит очень близко) можно использовать LOD - включать объект, на котором материал с текстурами высокого разрешения.
|
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 21:08 | Сообщение # 417 | Тема: профайлинг |
постоянный участник
Сейчас нет на сайте
| GUI 40% Все просчеты выполняются в OnGUI ?
|
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 20:00 | Сообщение # 418 | Тема: Текстурирование материалов по скрипту |
постоянный участник
Сейчас нет на сайте
| Цитата И как? Ведь lod действет лишь на каждую модель. А об общем lod-e я не слышал Можно в каком-нибудь 3ds максе загрузить все объекты, объединить их и создать текстурную развертку. Тогда эти объекты будут использовать один материал.
Цитата Почему так много - карта нормалей, спекулар, цвет и все это в одной текстуре. Ну так сделать 3 атласа: дифуз, нормал и спекуляр. Если каждая текстура будет с разрешением 1024x1024, то можно будет в такой атлас запечь больше 4-х текстур. Это уже уменьшает количество материалов в разы. Что касается размера текстуры. Может я и ошибаюсь, но размер текстуры незначительно влияет на производительность(у меня в играх при любой детализации текстур разница фпс очень мала) Тут будет влиять только аппаратное ограничение видеокарты и размер видеопамяти. Но сейчас видеокарты загружают текстуры очень больших размеров ( 16384х16384 ), а может уже и больше.
Сообщение отредактировал Storm54 - Воскресенье, 09 Марта 2014, 20:08 |
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 17:51 | Сообщение # 419 | Тема: Текстурирование материалов по скрипту |
постоянный участник
Сейчас нет на сайте
| Нужно смотреть, сколько одновременно текстур видно в кадре. У меня ~100 текстур. GTX 570 стабильно выдает не ниже 100 кадров (разрешение 1920x1080) Можно создавать мета-текстуру, которая будет содержать в себе несколько обычных текстур, создать на основе этой текстуры материал и накладывать на объекты. Правда я так никогда не делал. Вообще таких серьезных проблем с производительностью лично у меня не возникало, хотя железо не топовое. Лучше в последствии поиграться с LOD - маленькие объекты полностью выключать, а большие объекты объединить в один и создать для него общую текстурную развертку.
|
|
| |
Storm54 | Дата: Воскресенье, 09 Марта 2014, 15:48 | Сообщение # 420 | Тема: Blast America |
постоянный участник
Сейчас нет на сайте
| Мне трейлер понравился
|
|
| |