![]() |
Звёзды. звёзды (небесные в смысле)
В общем такое дело.
Хочу сделать космос с большим кол-вом звёзд (с очень большим колличеством). Создавать в цикле сферы это ухудшит на много скорость игры. И вот думаю что делать. Мож кто подскажет? Я сейчас думаю о материнских и т.п. объектов. Мож это поможет? Заранее спасибо. |
Re: Звёзды. звёзды (небесные в смысле)
CreateSprite ( [parent] )
|
Re: Звёзды. звёзды (небесные в смысле)
Цитата:
Цитата:
|
Re: Звёзды. звёзды (небесные в смысле)
может просто извернуть десяток сфер разного радиуса с нанесеннвми на них текстурами звездного неба?
если уж надо спрайтами, то лучше все ето дело запихнуть в один/два меша, а то тормозить будет. |
Всётаки тормозит=(
Цитата:
Надо посмотреть |
Re: Звёзды. звёзды (небесные в смысле)
Юзай партиклы;)
|
Re: Звёзды. звёзды (небесные в смысле)
Цитата:
|
Re: Звёзды. звёзды (небесные в смысле)
Вот какая система может быть: сначало делаешь обычный skybox(или skyshere=) ) кладешь на нее тексу звездного неба и скалишь ее так чтоб границы совпадали со вторым значением в команде camerarange, то есть с дальностью видимости. Далее делаешь свою систему ЛОДа. На словах она будет такой: если объект ближе чем значение дальности видимости, то показываем спрайт. Если звезда будет слишком близко, чтоб ее можно было рассмотреть, то показываем вместо спрайта сферу.
|
Re: Звёзды. звёзды (небесные в смысле)
Цитата:
|
Re: Звёзды. звёзды (небесные в смысле)
Всегда звёзды это текстура скай бокса. нинадо ничего лишнего грузящего комп выдумывать.
|
Re: Звёзды. звёзды (небесные в смысле)
Crystal, а если недо к этой звезде подлететь?
А если ето космический симулятор, и там от одной звезды до другой пролетаеш за 10 секунд, при этом "пролетая" окола 10 других звезд? |
Re: Звёзды. звёзды (небесные в смысле)
Скай боксами там не отделаться.
Я хочу сделать такой эффект что ты реально летишь по звёздному небу который напичкан звёздами, Звёздной пылью, каметами, астеройдами. а в дали естественно будет бокс с текстурой звёзд. Пока что нашёл такой выход. Создаю 10'000 спрайтов звёзд + 10'000 сфер разного цвета и радиуса и размещаю их рандомно. Вроде у меня не очень тормозит. и мне 20 тыс маловато) Хочу больше но когда делаешь больше 10 тыс объектов одного типа то он выдаёт ошибку рендинга. ЧТобы всё не очень тормозило делаю у камеры фог. |
Re: Звёзды. звёзды (небесные в смысле)
АФИГЕТЬ КАМРАД!!!
Это же похоронит рендер не тока блица, но и любого другого движка ко всем чертям! Размерность 3д? То есть летать можно во всех трех направленях, или достаточно в 2-ух? Какая нах разница, что ты делаеш фог? все равно ВСЕ эти 20000 оюъектов должны быть проверенны (каждый их вертес причем), на расстояние до камеры. Алгоритм такой: есть список объектов - которые следует удалить есть список всех звезд - если звезда дальше определнного расстояние, то запихиваем ее в первй список. каждая звезда это спрайт и сфера, что из показывать, а что спрятать определяеш через расстояние (Проверяеш ето естественно не каждый такт) далее. у тебя есть массив!( не type) точек, с 20000 тысячью надо выжимать помаксимуму. типа такого starpos#(40000,3). Далее, джопустим за 1 игровой цикл проверяеш 1000 таких точек, если они появились достаточно близко к камере, то стаивш на ето место звезду. |
Re: Звёзды. звёзды (небесные в смысле)
Цитата:
спс. |
Re: Звёзды. звёзды (небесные в смысле)
Вот пару способов:
1) Звезды будут не сферами, а точками со светимостью и если игрок приближеться к такой точки на дистанцию реиндеренга то трансформировать точьку в сферу и текстуру. 2) Сделать сферу на границе реиндеренга и генерировать текстуру на сферу по вектору от препологаемой звезды. Т.е. Вы будите видеть не саму звезду а ее проекцию на сферу. Но как тока вы приблизитесь к объекту на растояние видимости то прекращать отрисовывать объект на сфере а уже в сцену прорисовывать CreateSprite с натянутыми на нее текстурами. |
Часовой пояс GMT +4, время: 20:43. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot