Пятница, 25.05.2012, 19:04

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Страница 1 из 11
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity3D » ObjUtility - простая сортировка дочерних объектов
ObjUtility - простая сортировка дочерних объектов
pixeyeДата: Среда, 01.02.2012, 21:09 | Сообщение # 1
Red Winter Software
Сообщений: 918
Сейчас на сайте
ObjUtility





Инфо

Написан для использования на движке Unity3d на C#.

О чем скрипт

Часто возникает ситуация, что у человека имеется сложный объект состоящий из множества дочерних объектов. При этом может возникнуть ситуация когда человеку нужно активировать конкретный список объектов незатрагивая остальные. В unity есть такой замечательный метод как SetActiveRecursively, однако он включает/выключает родитель-объект и все вложенные объекты, что неудобно.

Данный скрипт позволяет сортировать дочерние объекты ( и не только ) в группы по смысловому значению. В последствии можно активировать/деактивировать группы объектов одной строчкой кода.

Список методов

  • AddObjects(string id, GameObject obj0.....6)
    Где string id - название группы объектов.
    obj0....6 - объекты которые надо добавить в группу.
  • manualAddObjects(string id, List<GameObject> obj)
    Если нужно добавить в группу больше 6 объектов, то нужно создать List<GameObject> игровых объектов предварительно.
  • ClearAll()
    Убивает все группы объекта
  • ClearTable(string id)
    Очистить выбранную группу
  • OverrideTable(string id,List<GameObject> obj)
    Перезаписать выбранную группу на новый list игровых объектов
  • ActivateObject(string id)
    Активирует выбранную группу объектов
  • DeactivateObject(string id)
    Деактивирует выбранную группу объектов


Как пользоваться пошагово

1. Добавить скрипт в ваш проект. Назвав его objUtility.cs

2. В начале скрипта где вы хотите использовать objUtility добавить
using System.Collections.Generic; (На тот случай если нужно будет переписывать группу или вы планируете добавлять больше 6 объектов за раз )

3. Добавить objUtility в нужный скрипт.
objUtility objUtil; (пример, название может быть любым)

4. Инициализировать его, например в Start()
objUtil = new objUtility();

5. Добавить объекты
objUtil.AddObjects("head",eyes,face,nose);

6. Например деактивировать.
objUtil.DeactivateObject("head");

Скачать objUtility
objUtility.cs

PS

Совместимость с JS скриптами не проверялась, при необходимости можно легко переписать под JS, или попросить меня, хотя думается мне такие маленькие штуки тут себе много кто пишет;-)

завершенный проект:
RGB defense
Thrower2
Thrower
Rune
я в твиттере:
Твит-твит
Карьера на проектах в роли гейм дизайнера.
Клик


Сообщение отредактировал pixeye - Среда, 01.02.2012, 21:09
 
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity3D » ObjUtility - простая сортировка дочерних объектов
Страница 1 из 11
Поиск:

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