Воскресенье, 17 Ноября 2024, 15:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Отрисовка веревки
НохчиДата: Среда, 21 Марта 2012, 22:30 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
Вот задался таким вопросом, как собственно отрисовывать веревку в игре, это же мягкое тело очень сильно меняющее свою форму. Речь идет о 2D. Годятся любые теоретические выкладки biggrin

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)
Некропостим по прежнему
Во-первых тема вроде с первой страницы, другие я кажется не открывал, а если весь раздел обновляется медленно, так не лично я в том виноват, а во-вторых именно мой пост - первый в этой теме, содержащий ссылку на готовое решение, а не совет велосипедных дел мастера.


Не всё так плохо, как оно есть на самом деле.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг