Отрисовка веревки
|
|
Нохчи | Дата: Среда, 21 Марта 2012, 22:30 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| Вот задался таким вопросом, как собственно отрисовывать веревку в игре, это же мягкое тело очень сильно меняющее свою форму. Речь идет о 2D. Годятся любые теоретические выкладки
UPD Это должно было быть в форуме "Общие обсуждения программистов". Просьба перенести.
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Среда, 21 Марта 2012, 22:32 |
|
| |
allxumuk | Дата: Среда, 21 Марта 2012, 22:47 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Можно использовать физический движок и создать Н-ное количество связанных тел. Примеров в сети множество.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
BASS | Дата: Среда, 21 Марта 2012, 22:48 | Сообщение # 3 |
independent developer
Сейчас нет на сайте
| Это физика мягких тел, друг мой. Здесь важен коэффициент жёсткости тела. Закон Гука: Модуль силы упругости прямо пропорционален модулю значения изменения длины тела. Т.е., F=k|x| (k-коэфф. жесткости, x-изменение длины тела). Сила, скорее всего, равна силе тяжести F=mg (m-масса верёвки, g-ускорение свободного падения,g=9.8). Зная массу и длину верёвки, можно вычислить её удлинение:x=mg/k. Прогибаться верёвка будет по дуге, не помню соотв. формул.
Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
|
|
| |
Нохчи | Дата: Среда, 21 Марта 2012, 22:51 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| allxumuk, BASS, речь идет не о расчете ее изгибов, а именно отрисовке.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
BASS | Дата: Среда, 21 Марта 2012, 22:53 | Сообщение # 5 |
independent developer
Сейчас нет на сайте
| А где собственно проблема? Рисуешь согласно изгибам.
Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
|
|
| |
Нохчи | Дата: Среда, 21 Марта 2012, 22:55 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| То есть как? Мы не можем заранее создать изображения для всех возможных вариантов изгиба веревки.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
ezheka | Дата: Среда, 21 Марта 2012, 22:56 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Рисовать веревку как обьект, состоящий из множества мелких связанных частей. allxumuk сказал уже об этом. Если присмотришься, в большинстве игр именно так и сделано.
текущее
|
|
| |
Нохчи | Дата: Среда, 21 Марта 2012, 22:58 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Хмм, ок. Буду пробывать. Тема актуальна.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
allxumuk | Дата: Среда, 21 Марта 2012, 22:59 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Quote (Нохчи) речь идет не о расчете ее изгибов, а именно отрисовке. Ну так берёшь координаты тел, из которых состоит верёвка, и рисуешь линии от одной точки к другой. Грубо говоря.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
qazer | Дата: Четверг, 22 Марта 2012, 13:18 | Сообщение # 10 |
Borey Games
Сейчас нет на сайте
| Басс, сила не равна силе тяжести, по крайней мере не в этом случае. Можно применить только если на веревке подвешен груз. Сама себя веревка не удлинит.
Сообщение отредактировал qazer - Четверг, 22 Марта 2012, 13:23 |
|
| |
BASS | Дата: Четверг, 22 Марта 2012, 14:27 | Сообщение # 11 |
independent developer
Сейчас нет на сайте
|
Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
|
|
| |
Тритон | Дата: Среда, 18 Апреля 2012, 11:49 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Quote (Нохчи) Вот задался таким вопросом, как собственно отрисовывать веревку в игре, это же мягкое тело очень сильно меняющее свою форму. Речь идет о 2D. Годятся любые теоретические выкладки Цепная линия тебе поможет. Кстати, пойдёт и без изменения и в 3D: сама линия плоская, так что достаточно за x взять расстояние вдоль прямой, соединяющей точки крепления, а y ориентировать по местной вертикали.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Среда, 18 Апреля 2012, 12:01 |
|
| |
Тритон | Дата: Среда, 18 Апреля 2012, 11:53 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Quote (allxumuk) Ну так берёшь координаты тел, из которых состоит верёвка, и рисуешь линии от одной точки к другой. Грубо говоря. Зачем? Задача давно решена аналитически.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
allxumuk | Дата: Среда, 18 Апреля 2012, 11:58 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Quote (ShadowZi) Некропостим по прежнему
Тритон, чтобы такого не случалось, составляй предложения правильно: "Если кому-то ещё интересно, вот пример -ссылка-".
Quote (Тритон) Зачем? Задача давно решена аналитически. А если нужно будет не только нарисовать, но и применить? Создай цепь и пусть болтается.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
Тритон | Дата: Среда, 18 Апреля 2012, 11:58 | Сообщение # 15 |
постоянный участник
Сейчас нет на сайте
| Quote (ShadowZi) Некропостим по прежнему Во-первых тема вроде с первой страницы, другие я кажется не открывал, а если весь раздел обновляется медленно, так не лично я в том виноват, а во-вторых именно мой пост - первый в этой теме, содержащий ссылку на готовое решение, а не совет велосипедных дел мастера.
Не всё так плохо, как оно есть на самом деле.
|
|
| |