danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

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

split97 split97

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

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Unity

Оптимизация

Скрипты

  1. Не стоит использовать *GetComponent* слишком часто - это довольно затратная функция, поэтому старайтесь избегать её применения, но бояться её не нужно :) Если все же есть такая необходимость, то получайте нужный скрипт заранее внутри Start, если не планируете добавлять его динамически.
  2. Кэшируйте переменные внутри Update! К примеру возьмём два блока кода:
privat int i;
void Update() {
	for (i = 0; i < 10; i++) {
		...
	}
}
void Update() {
	for (int i = 0; i < 10; i++) {
		...
	}
}

Оба примера идентичны по функционалу, но первый вариант является более грамотным.

  1. Использование Co-routines. Насколько мы знаем, Update() функция вызывается каждый кадр, поэтому если нам позволяет вызывать функцию каждые 5 секунд, лучше использовать Co-routines.
  2. GUI - дорогое удовольствие, особенно для мобильных устройств. Не злоупотребляйте рисованием GUI.
  3. Создавать новые переменные(прим. new Rect) в циклах - опасно.
  4. CompareTag быстрее чем прямое сравнение( object.tag == "nametag")

CompareTag compiles to fewer CIL instructions than the direct comparison, for sure: it probably results in a single call to the CompareTag internal function, while the other alternative will need a call to the tag getter function (to get the tag string) and another call to the string comparison function, all of this in CIL (the interpreted language used in .NET applications). Since the tag string must be returned by the getter function, space must be allocated, what takes extra time.
Anyway, the difference probably is very small, but may become significant if a lot of CompareTags is used in Update or OnCollision/TriggerStay, and/or the target machine is a mobile device.

Сцена

  1. Туман жрёт очень много ресурсов.
  2. Большой ландшафт тоже дорогой. 200х200 вполне хватает. Увеличение параметра PixelError увеличит и производительность.
  3. Освещение тоже сильно давит на процессор, особенно на мобильных устройствах.
  4. Старайтесь сделать так, чтобы у вас было как можно меньше материалов и текстур.
  5. Использование физики отъедает значительный кусок пирога памяти - это и ежу понятно.
  6. Ресурсы(Шейдеры, текстуры, модели...), адаптированные под мобильные устройства неплохо экономят FPS и память.
  7. Отключайте события/физику/циклы вне поля зрения игрока. Отследить это можно функциями OnBecameVisible и OnBecameInvisible.

P.S. Помимо всего этого можно играться с настройками графики, крутить ползунки, сжимать текстуры, и т.д.

Смотрите также:


Комментарии



  • 1
  • 2 (Текущая страница)

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

  • 1
  • 2 (Текущая страница)
Справка