- Регистрация
- 20 Май 2024
- Сообщения
- 1
хочу показать как можно сделать чтобы частицы появлялись вокруг какой-либо оси(как из видео ниже), нам понадобятся знания тригонометрии.
I. теория:
Прежде чем мы перейдём к коду, для начало немного теории, как вообще работает окружность в тригонометрии?
![Снимок экрана 2024-05-22 234202.png Снимок экрана 2024-05-22 234202.png](https://ruforum.mineland.net/data/attachments/7/7450-bd86e4284e11571fb5ab40a11c5090e2.jpg)
синус - вертикаль
косинус - горизонталь
а - угол
синус и косинус измеряются в диапазоне от -1 до 1
ВАЖНО в синус и косинус нельзя присваивать угол, надо присвоить туда "радиан"
формула радиана(она нам пригодится):
rad = угол° ÷ 180 * PI
в качестве угла у нас будет переменная и в эту переменную мы будем всё время прибавлять число
также ролик ниже показывает как именно косинус и синус создают окружность:
II. реализация:
код будет состоять из 3-х событий: событие входа, функция(основная логика), цикл(воспроизводит функции)
![2024-05-23_00.18.21.png 2024-05-23_00.18.21.png](https://ruforum.mineland.net/data/attachments/7/7451-fb00de8c0207b631877d57866ccb3238.jpg)
в событии входа включаем цикл
![2024-05-23_00.18.29.png 2024-05-23_00.18.29.png](https://ruforum.mineland.net/data/attachments/7/7452-6943b59f2cae4eefc43571f08d386810.jpg)
теперь перейдём к самой функции:
![2024-05-23_00.51.04.png 2024-05-23_00.51.04.png](https://ruforum.mineland.net/data/attachments/7/7453-cd15540a915d97cf4d2a2f2ec482c2b1.jpg)
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" и выбираете любой партикл
ну и в конце воспроизводим функцию в цикле(чем больше запускаемых функций, тем больше воспроизведётся частиц)
![2024-05-23_01.15.20.png 2024-05-23_01.15.20.png](https://ruforum.mineland.net/data/attachments/7/7454-3c4275a6374a8edf261ae2465851a599.jpg)
I. теория:
Прежде чем мы перейдём к коду, для начало немного теории, как вообще работает окружность в тригонометрии?
![Снимок экрана 2024-05-22 234202.png Снимок экрана 2024-05-22 234202.png](https://ruforum.mineland.net/data/attachments/7/7450-bd86e4284e11571fb5ab40a11c5090e2.jpg)
синус - вертикаль
косинус - горизонталь
а - угол
синус и косинус измеряются в диапазоне от -1 до 1
ВАЖНО в синус и косинус нельзя присваивать угол, надо присвоить туда "радиан"
формула радиана(она нам пригодится):
rad = угол° ÷ 180 * PI
в качестве угла у нас будет переменная и в эту переменную мы будем всё время прибавлять число
также ролик ниже показывает как именно косинус и синус создают окружность:
II. реализация:
примечание так как основной код будет выполнятся в цикле в заместо привычного плейсхолдера %player% мы будем ставить %selected%
код будет состоять из 3-х событий: событие входа, функция(основная логика), цикл(воспроизводит функции)
![2024-05-23_00.18.21.png 2024-05-23_00.18.21.png](https://ruforum.mineland.net/data/attachments/7/7451-fb00de8c0207b631877d57866ccb3238.jpg)
в событии входа включаем цикл
![2024-05-23_00.18.29.png 2024-05-23_00.18.29.png](https://ruforum.mineland.net/data/attachments/7/7452-6943b59f2cae4eefc43571f08d386810.jpg)
теперь перейдём к самой функции:
![2024-05-23_00.51.04.png 2024-05-23_00.51.04.png](https://ruforum.mineland.net/data/attachments/7/7453-cd15540a915d97cf4d2a2f2ec482c2b1.jpg)
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" и выбираете любой партикл
ну и в конце воспроизводим функцию в цикле(чем больше запускаемых функций, тем больше воспроизведётся частиц)
![2024-05-23_01.15.20.png 2024-05-23_01.15.20.png](https://ruforum.mineland.net/data/attachments/7/7454-3c4275a6374a8edf261ae2465851a599.jpg)
Последнее редактирование: