![]() |
Звёзды. звёзды (небесные в смысле)
В общем такое дело.
Хочу сделать космос с большим кол-вом звёзд (с очень большим колличеством). Создавать в цикле сферы это ухудшит на много скорость игры. И вот думаю что делать. Мож кто подскажет? Я сейчас думаю о материнских и т.п. объектов. Мож это поможет? Заранее спасибо. |
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 с натянутыми на нее текстурами. |
Re: Звёзды. звёзды (небесные в смысле)
20000 точек блиц тоже не выдержит.
|
Re: Звёзды. звёзды (небесные в смысле)
фон- скай сфера с текстурой
и 2 массива по 200 объектов. звезды и астероиды. система непрерывного полета: расставляются рандомно вокруг камеры. и проверяй в цикле на расстояние от камеры. если расстояние больше определенного. то: разворачиваешь объект на камеру (пойнт ентити) и двигаешь на 2 радиуса. Еще можно сделать эффект ускорения: скейлиш объект по квадрату(кубу) расстояния от камеры. |
Re: Звёзды. звёзды (небесные в смысле)
есть ещё вариант создать модель в максе. Звёзды.
Только маленькие сферы в огромном колличестве. Загрузить этот мешь + спрайты + сферы и думаю колличество будет норм. |
Re: Звёзды. звёзды (небесные в смысле)
Мне кажется играть в бога и тварить вселенную в блитце не очень удачная затея. Ты хоть поиграй в другие космические симуляторы посмотри как там всё. Никто нигде не захламляет всё пространство звёздами. И вообще мир на локации надо разбивать по системам или созвездиям.
Ты хоть космическую леталку делаеш или что? На кой чёрт тебе 20 тыщ звёзд? Главная звезда в центре системы в определённой локации, а всё остальное скай бокс надо делать. |
Re: Звёзды. звёзды (небесные в смысле)
Цитата:
Знаешь что такое опыт? Так вот я себе хочу получить опыт. Делая что получится. ставля цели и добиваясь их. На данный момент мне интересно как организовать огромное колличество объектов и чтоб ПК не тормозил от этого. Вот к примеру на данном этапе думаю о: -Выстреле при нажатию на кнопку; -О размытии; -И пламени из сопла. Если кто может помочь, с радастью приму помощь. заранее спасибо. |
Re: Звёзды. звёзды (небесные в смысле)
Чем больше объектов ставиш тем больше тормозит и ничё ты с этим не сделаеш, чем больше объектов тем выше должны быть характеристики компа на котором ты это запустиш.
А насчёт как сделать выстрел тебе сюда http://www.boolean.name/showthread.php?t=4123 И вообще ты что там делаеш? Скрины выложи в этой теме: http://www.boolean.name/showthread.php?t=4121&page=16 |
Re: Звёзды. звёзды (небесные в смысле)
для большого количества одинаковых обьектов лутче юзать
тогда geometry instancing , но апаратно он есть тока в directx 9 в принципе делается только локальная система обьектами остальное делается усложненой скайсферой размытие - простым blurом делается след от корабля - не сложными партиклами |
Re: Звёзды. звёзды (небесные в смысле)
след от корабля можно сюрфейсом, в котором просто меянются вертексы, позиция, цвет, текстурные координаты, таким же макаром можно делать шлейф от ракет.
|
Re: Звёзды. звёзды (небесные в смысле)
Ну насчет следа от коробля я еще одну идейку подкину!
Только несмейтись! Я брал бокс натягивал текстуру огня делал EntityAlpha при нажатии вперед бокс или даже можно целиндр делал ScaleE кагбуто огонь растягивается анимировал текстуру и получался огони (кросивый) а насчет следа от коробля виде дыма можно создовать спрайты в определенный промежуток времени фиксировать позицию коробля и создать спрайт... |
Re: Звёзды. звёзды (небесные в смысле)
Ясно. спасибо. Буду думать
|
Часовой пояс GMT +4, время: 22:49. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot