- Регистрация
- 20 Май 2024
- Сообщения
- 1
хочу показать как можно сделать чтобы частицы появлялись вокруг какой-либо оси(как из видео ниже), нам понадобятся знания тригонометрии.
I. теория:
Прежде чем мы перейдём к коду, для начало немного теории, как вообще работает окружность в тригонометрии?
синус - вертикаль
косинус - горизонталь
а - угол
синус и косинус измеряются в диапазоне от -1 до 1
ВАЖНО в синус и косинус нельзя присваивать угол, надо присвоить туда "радиан"
формула радиана(она нам пригодится):
rad = угол° ÷ 180 * PI
в качестве угла у нас будет переменная и в эту переменную мы будем всё время прибавлять число
также ролик ниже показывает как именно косинус и синус создают окружность:
II. реализация:
код будет состоять из 3-х событий: событие входа, функция(основная логика), цикл(воспроизводит функции)
в событии входа включаем цикл
теперь перейдём к самой функции:
1) "блок присв. переменную +=", ставим переменную "%selected%angel" и прибавляем 5 (пятёрка это дистанция между частицами, чем она выше тем больше дистанция)
2) "блок присв. переменную =", присваиваем переменной "%selected%radian" переменную "%selected%angel" (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
3) "блок присв. переменную / ", делим переменную "%selected%radian" на 180 (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
4) "блок присв. переменную * ", умножаем переменную "%selected%radian" на число PI (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
5)"блок присв. переменную синус ", устанавливаем "%selected%sin" нашу переменную с радианами "%selected%radian"
6)"блок присв. переменную косинус", устанавливаем "%selected%sin" нашу переменную с радианами "%selected%radian"
7) "блок присв. переменную установить значение в местоположении", в переменную от которой будет сохранятся результат "%selected%posPartiicle" ;
местоположение из которой будет браться координаты можете поставить любую координату в мире(можете также взять место игрока как у меня) ;
режим установки X(+=) ставим переменную "%selected%sin" ;
режим установки Y(+=) можете сюда ничего не ставить, но если место у вас от игрока то поставьте 1, это для того чтобы частицы были на уровне игрока ;
режим установки Z(+=) ставим переменную "%selected%cos"
8) "блок игровое действие частица" в местоположение ставим переменную "%selected%posParticle" и выбираете любой партикл
ну и в конце воспроизводим функцию в цикле(чем больше запускаемых функций, тем больше воспроизведётся частиц)
I. теория:
Прежде чем мы перейдём к коду, для начало немного теории, как вообще работает окружность в тригонометрии?
синус - вертикаль
косинус - горизонталь
а - угол
синус и косинус измеряются в диапазоне от -1 до 1
ВАЖНО в синус и косинус нельзя присваивать угол, надо присвоить туда "радиан"
формула радиана(она нам пригодится):
rad = угол° ÷ 180 * PI
в качестве угла у нас будет переменная и в эту переменную мы будем всё время прибавлять число
также ролик ниже показывает как именно косинус и синус создают окружность:
II. реализация:
примечание так как основной код будет выполнятся в цикле в заместо привычного плейсхолдера %player% мы будем ставить %selected%
код будет состоять из 3-х событий: событие входа, функция(основная логика), цикл(воспроизводит функции)
в событии входа включаем цикл
теперь перейдём к самой функции:
1) "блок присв. переменную +=", ставим переменную "%selected%angel" и прибавляем 5 (пятёрка это дистанция между частицами, чем она выше тем больше дистанция)
2) "блок присв. переменную =", присваиваем переменной "%selected%radian" переменную "%selected%angel" (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
3) "блок присв. переменную / ", делим переменную "%selected%radian" на 180 (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
4) "блок присв. переменную * ", умножаем переменную "%selected%radian" на число PI (нужно для нашей формулы радиан (rad = угол° ÷ 180 * PI) )
напомню мы конвертируем угл в радианы для того чтобы эти самые радианы поставить в синус и косинус
5)"блок присв. переменную синус ", устанавливаем "%selected%sin" нашу переменную с радианами "%selected%radian"
6)"блок присв. переменную косинус", устанавливаем "%selected%sin" нашу переменную с радианами "%selected%radian"
вы также можете через код умножить синус и косинус к примеру на 2, это увеличит радиус окружности
7) "блок присв. переменную установить значение в местоположении", в переменную от которой будет сохранятся результат "%selected%posPartiicle" ;
местоположение из которой будет браться координаты можете поставить любую координату в мире(можете также взять место игрока как у меня) ;
режим установки X(+=) ставим переменную "%selected%sin" ;
режим установки Y(+=) можете сюда ничего не ставить, но если место у вас от игрока то поставьте 1, это для того чтобы частицы были на уровне игрока ;
режим установки Z(+=) ставим переменную "%selected%cos"
8) "блок игровое действие частица" в местоположение ставим переменную "%selected%posParticle" и выбираете любой партикл
ну и в конце воспроизводим функцию в цикле(чем больше запускаемых функций, тем больше воспроизведётся частиц)
Последнее редактирование: