Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Моделирование (http://www.trainsim.ru/forum/forumdisplay.php?f=25)
-   -   Speed Tree (http://www.trainsim.ru/forum/showthread.php?t=9368)

Pofig 15.02.2010 17:17

[URL=http://radikal.ru/F/i073.radikal.ru/1002/04/6e60cb65b188.jpg.html][IMG]http://i073.radikal.ru/1002/04/6e60cb65b188t.jpg[/IMG][/URL]
Всякая мелочь и маленькая сосенка весом в 2100 поликов.
[url]http://ifolder.ru/16426100[/url]
Дерево сейчас гляну...

bizzonchik 15.02.2010 18:03

Кустики как я понимаю для станций?))) Красиво...
Вот посмотри скрин:
[URL=http://keep4u.ru/full/2b40ac167c1d38c6717b5f88066363a0.html][IMG]http://keep4u.ru/imgs/s/2010/02/15/2b/2b40ac167c1d38c6717b5f88066363a0.jpg[/IMG][/URL]
Дерево справа остается в листьях, а слева исчезает...

Pofig 15.02.2010 18:14

[url]http://ifolder.ru/16426988[/url] дерево 2 на замену.Настройки у 1 и 2 одинаковые но у 2го было 3 текстуры листьев,а у 1го одна.Сделал аналогично у 2го,надеюсь не забуду и больше так не напортачу.

Combine 15.02.2010 18:22

[QUOTE]Combine а что плохого в скрипте?[/QUOTE] То, что его будет несколько сотен тысяч одновременно на карте. Игра упадет, я гарантирую это.

TRam_ 15.02.2010 20:52

можно конечно пересмотреть public native GameObject Router.GetGameObject ( int uniqueId ) всё, что имеет хоть какой-то скрипт , из одного объекта. Другое дело, что на деревья uniqueId может не хватить

dim-dim456 15.02.2010 21:30

Эх понять бы хоть что нибудь из выше написанного:o

TRam_ 15.02.2010 21:57

[QUOTE]Эх понять бы хоть что нибудь из выше написанного[/QUOTE]понимать следует так -

1) возможно, существует лимит на количество скриптованных объектов на карте (?)
2) возможно, 1 скриптовый объект, даже "вечно спящий", требует столько же оперативы и процессора сколько 20-30 деревьев (?)

проверить эти 2 вещи надо, так как в случае реальности хотя бы одного из этих пунктов идея как-то оскриптовывать дертевья летит к ч**** . Даже, если выполнение всей активной работы будет возложено на единственный объект (а деревья просто будут добавляться к списку скриптованных объектов для того, чтобы этот объект мог деревья найти)

Combine 15.02.2010 22:25

[QUOTE]Другое дело, что на деревья uniqueId может не хватить[/QUOTE] Четырех миллиардов хватит. На самом деле, я знаю как это сделать (скрипт на деревтья), но у меня нет времени. Правило сессии, которое при запуске включает нужный меш дерева, если кому интересно.

genesis 15.02.2010 22:31

Любой GameObject участвует в роутере, ему транслируются сообщения как минимум. Ставить в скенери скрипты, которые и без того напрочь забиты нашими костылями просто глупо, если только конечно ФПС ниже единицы не начал нас устраивать.

Pofig 15.02.2010 22:35

[URL=http://radikal.ru/F/i063.radikal.ru/1002/86/045260087b25.jpg.html][IMG]http://i063.radikal.ru/1002/86/045260087b25t.jpg[/IMG][/URL]
Специально для [B]bizzonchik[/B]а,кустики под которые не нужно подсаживать траву :)
[url]http://ifolder.ru/16431430[/url]

TRam_ 15.02.2010 22:39

[QUOTE]Любой GameObject участвует в роутере, ему транслируются сообщения как минимум[/QUOTE]если все деревья (тип scenery) в роуте окажутся инициализированными MeshObject'ами, то никаких скрипов дереву не надо. Всё найдётся либо через uniqueId, либо методом Combine (если он оличается).

Если всё-таки это не так, то добавляя 2 строки в конфиг

script MeshObject.gs
class MeshObject

мы получаем именно такое дерево какое нужно (никаких gs файлов естественно не нужно). Кстати для теста производительности можете попробовать

genesis 15.02.2010 22:43

MeshObject это уже GameObject, со всеми его фичами и более того, с контроллером мешей, я не вижу никакого решения.

TRam_ 15.02.2010 22:51

елементарное решение.

Правило (либо объект) при переходе в режим машиниста перебирает uniqueId от 1 (0 - сама трс) до тех пор пока не упрётся в неинициализированные объекты.

Каждый полученный GameObject проверяет на принадлежность TrainzGameObject, если да - берёт его Asset, из Asset-а - конфиг. В конфиге проверяет по некому уникальному тегу, дерево ли это с поддержкой смены мешей. Если да, то преобразует исходный GameObject в MeshObject, и через SetFXAttachment вешает на него нужную мешь дерева.

займёт это секунд 20-30 зависания при переходе в режим "машинист"(если деревьев много), но в дальнейшем никак на производительность влиять не будет.

а использую идею технологии "z skin" (html-asset'ы со ссылками в конфигах на меши) можно сделать автоматический поиск установленных деревьев и ставить только те, которые есть в наличии

Combine 15.02.2010 22:53

И вообще, нафига оно надо?

genesis 15.02.2010 22:57

[QUOTE=TRam_;154680]елементарное решение.
[the big lie]
[/QUOTE]
Являясь GameObject'ом и находясь в списке роутера тысячи твоих деревьев будут [I]каждый кадр[/I] участвовать в распределении потоков и трансляции мессеждей, [B][U]каждый объект каждый кадр[/U][/B]. Ты все еще не понимаешь что сделает с фреймрейтом увеличение численности геймобжектов в сотню раз?


Текущее время: 22:58. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim