![]() |
Ответ: Организация системы частиц
Не помню тонкостей именно б3д, в общем случае алгоритм такой:
Здесь же пожно сделать маленький хак - не удалять вертексы, а помечать их как удалённые, полностью скрывать, а когда потребуется - призывать в другом месте. Способы скрывания - от альфы вершин до переноса координат вершин в далекие края. Другой возможный хак - отложенное удаление. Делаем как в верхнем случае скрытие вершин, и раз в X тактов помеченные на удаление (желательно в том такте, где нет большой нагрузки, допустим, делать это всё после основной игровой логики и предварительно замеряв время выполнения этой логики. Потом замерянное время выполнения сравниваем со среднестатистическим значением за последние 1000 кадров (навскидку), и если условия благоприятные (малое время выполнеия логики) - модифицируем сурфейс системы частиц) собственно удаляем. P.S. Пора мне завязывать со вложенными мыслями... Жалко нельзя в формате MindMap ответы писать)) |
Ответ: Организация системы частиц
Цитата:
сделай свой эмиттер из своей медии |
Ответ: Организация системы частиц
память линейно заполненна данными
видеокарта ее рисует надо смещать |
Ответ: Организация системы частиц
Спасибо большое всем за содействие. Ваша помощь дала мне хорошего пинка в работе :)
|
Ответ: Организация системы частиц
Вложений: 1
Привет всем!
Есть вопрос о количестве загружаемых частиц... У меня на компе получилось создать максимум = 13824 Вложение 13869 Вот код: Код:
Graphics3D 640,480,32,2 Возможно ли вопше создать больше, а если да то как? |
Ответ: Организация системы частиц
Примерно как-то так:
http://www.forum.boolean.name/showpo...9&postcount=52 Спрайты самые лаговые. Лучше использовать Квады и AddVertex / AddTriangle / AddMesh Уважаемый ABTOMAT это делал в world.bb, Function buildSide( |
Ответ: Организация системы частиц
Да спасибо... Я понял что ето возможно...
Если я создаю массив частиц хотя бы (25х24х24) - вилетает Memory access violation ... Попробую тогда квадами... |
Ответ: Организация системы частиц
Цитата:
|
Ответ: Организация системы частиц
Цитата:
|
Ответ: Организация системы частиц
Цитата:
|
Ответ: Организация системы частиц
Цитата:
Переставил "-" у "Un_ssp\Scale#" и с первым вертексом что то не то, но остальные нормально на камеру разворачиваются. :( |
Ответ: Организация системы частиц
Как вращать вертексы квада? С Sin и Cos получается совсем не то. :(
|
Ответ: Организация системы частиц
Вложений: 5
Попробовал сделать огонь в Particle AMT :) Вроде не плохо получается... :)
|
Ответ: Организация системы частиц
Цитата:
Пробывал играться с синусами и косинусами и скейлом в итоге ротацию настроил, но стоит только привязать квад ТФормВектор к камере так квад начинает беспорядочно крутиться в разные стороны... в общем не получается.:( Сделал ротацию текстуры, но это не выход, т.к. текстура вертится на всех квадах одинакого, а это совсем не гуд :( В системе частиц которую выложил Tormoz не пашет редактор под windows 7, хоть и можно конечно переписать функцию LoadEmitter в CreateEmitter :) , но если честно то хочется свою систему частиц в которой я как рыба в воде, но вот беда ротацию никак не настрою с ориентацией квада на камеру! |
Ответ: Организация системы частиц
Вообще у тебя есть вектор соединяющий камеру и точку квада. Значит есть плоскость перпендикулярная камере, в которой должен лежать твой квад. Находишь два единичных перпендикулярных вектора.
Условие перпендикулярности векторов (x1*x2+y1*y2+z1*z2)=0 Третий вектор перпендикулярный двум данным получается векторным умножением. И вот у тебя есть точка и два вектора. Позиции четырех вершин. 0 - у меня это была опорная точка, через которую проводились все манипуляции с квадом, как его перемещение, масштабирование и вращение. 1 - 0+первый вектор, 2-0+второй вектор, 3-0 плюс вектор1+вектор 2. Профит. Поворот тоже несложен. Если мыслить правильно и векторами, а не тригонометрией :) Потому как расчитать длину второго катета, шоб гипотенуза повернулась на угол от первого катета несложно, а направляющие векторы катетов у тебя есть :) Результат моих попыток квадов, вроде даже работает почти :) Тут я правда синусами делал :) Этот прием называется поворот осей координат. Код:
Graphics3D 640,480,0,2 |
Часовой пояс GMT +4, время: 13:33. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot