Технологии
Решено
Игра на C#+OpenGL - вопрос №278047
Помогите!!! платформа C#+ OpenGL… имеются уже 3d модели экспортированные в программную среду… надо создать физику полета мяча от ноги футболиста( примитивную ) а также так чтобы футболист двигался с мячом… небольшую анимацию для движения футболиста… буду очень благодарен кто поможет...
Дополнение автора от май 27, 2012 г., 22:22:28
Формат для моделей Ase. Библиотеки FreeGlut, Devil, OpenGL. На сцене к сожалению нет пока никаких движений… это ка краз нужно создать а для начала хотелось бы узнать как реализовать такую композицию правильно… у меня имеется модель мяча и футболиста, мне нужно загрузить их на сцену таким образом что бы в дальнейшем использовать их для создания движения тоесть футболист движется и расстается с мячом ударяя его в ворота… при э
том учесть некоторые условия для полета мяча чтобы он был более менее реалистичен...
Дополнение автора от май 27, 2012 г., 22:26:13
Дополнение автора от май 27, 2012 г., 22:27:20
На сцене не все текстуры наложено но это будет упорядочено позже… для меня главное создать движения на данной сцене и можно достаточно примтивные
Дополнение автора от май 27, 2012 г., 22:52:28
объявляем
anModelLoader Stadium = null;<br /> anModelLoader Player = null;<br /> anModelLoader Ball = null;
загружаем
Stadium = new anModelLoader();<br /> Player = new anModelLoader();<br /> Ball = new anModelLoader();<br /><br /> Stadium.LoadModel("Stadium.ASE");<br /> Ball.LoadModel("Ball.ASE");<br /> Player.LoadModel("Player.ASE");
Код загрузки в отдельном файле он достаточно большой...там загружаются вершины полигоны...текстуры
Теперь отрисовать правильно бы...а то у меня вот такое там<br /><br />
Gl.glLoadIdentity();<br /> Gl.glColor3ub(0, 0, 0);<br /><br /> Gl.glPushMatrix();<br /> <br /> Gl.glTranslatef(0, -0.015f, -0.35f);<br /> Gl.glRotated(-60, 50, 0, 0);<br /> if (Stadium != null)<br /> Stadium.DrawModel();<br /> <br /> Gl.glTranslatef(1, -0.015f, -0.35f);<br /> Gl.glRotated(0, 1, 0, 0);<br /> if (Ball != null)<br /> Ball.DrawModel();<br /> Gl.glPopMatrix();<br /> Gl.glPopMatrix();<br /> Gl.glFlush();<br /> <br /> AnT.Invalidate();<br /> }
Дополнение автора от май 27, 2012 г., 23:01:17
тогда вот ссылки на код на форме и на код загрузки модели
Дополнение автора от май 27, 2012 г., 23:05:59
вот весь проект… там много недочетов и в 3D моделях да и в коде..
Дополнение автора от май 28, 2012 г., 08:40:07
Модели предоставить в формате ase? или какие они в 3d maxе? насчет использования такой библиотеки… скачал что под руку попалось)… а насчет физики почитав понял, что надо использовать уравнение движение параболы...
тоесть получается мы объявим переменные Для начальных координат мяча
X=0 Y=0 Z=0;
g 9.8
угол a по дкаким углом брошен мяч
t время
v скорость начальная
а дальше в функции опишем расчет координат получившихся
x=v*t*cos a
y=v*t*sin a — g*t*t/2
но это для двухмерного мира… как переложить это в трехмерный те нужна координата
ну а потмо мне нужно это переложить для объектов
Родион май 27, 2012 г.
-
Всего ответов: 7
-
поясните на счет:
— OpenGL — какие конкретно библиотеки используете?
— в каком формате предоставлены 3d модели?
— «уже экспортированы в програмную среду» — Вы уже можете воспроизвести 3d сцену с простейшими движениями?
ps варианты по «физике» зависят от того что уже у Вас есть
-
ну для начала давайте уточним — если модель 3д каркасная с рендерингом поверхностей на лету, то примитивы по движению обьектов будут управляться той же библиотекой, которая выполняет рендеринг
тогда останется подобрать библиотеку по физике и примеры по ней
по этому вопрос сводится к следующему — чем Вы открывает ase? и подразумевает ли этот формат динамику вообще?
ps OpenGL это вообще то API а не библиотека )))
-
вообще то текст не читаем (((
а еще — самое важное в операторах
using
)))
-
а еще лучше архив проекта + библиотеки (или ссылки) + хоть одну модель
смогу подсказывать предметно
ps вся связь через сайт, это строго
-
скачиваю, но посмотрю уже завтра
на будущее — можно вложения в письмо по внутренней почте сайта ))
есть еще чат
эксперт не может обратится первым, но клиент может обратиться к эсперту
если открыть профиль эксперта — будут кнопки типа «обратиться в чат» и «написать письмо»
об огрехах в коде… — не боги горшки обжагают ;)))
-
с тебя модель
проект я собрал, но модели нет
а вообще здесь ключевое слово Tao
ты используешь библиотеку Tao — одну единственную
так вот в ней есть полноценная поддержка физики - Tao.PhysFs
осваивай ))
и все получится
ps хотя я бы не стал опираться на такую старую библиотеку
откуда такой выбор? ты хочешь совместимости с linux?
почему старая — последняя редакция ровно 3 года назад
http://sourceforge.net/projects/taoframework/files/The%20Tao%20Framework/
для OpenSource проекта 3 года без движения… это плохой признак
pps модель нашлась )))
а работа с физикой в основах описана тут
Лучший ответ по мнению автора -
читай ответы внимательно:
1 — я делал примечание выше — модели нашлись
2 — для работы с физикой в этом фреймворке есть конкретный раздел Tao.PhysFs, тебе не надо самостоятельно вычислять все координаты. изучай эту библиотеку...
другой вопрос — то что не надо все вычислять полностью, не отменяет что тебе надо достаточно хорошо понимать как это все вычисляется
3 — я тебе кинул ссылку на учебный материал http://www.esate.ru/page/uroki-OpenGL-c-sharp/
Похожие вопросы
При попытке компиляции кода на Visual Studio 2013 вылетает сообщение "Системе не удается найти указанный путь". Что это значит и что делать? Спасибо! ОС - Windows 7, 32 bit.
май 30, 2014 г.
В каком сегменте хранятся статические переменные? <p>В каком сегменте хранятся статические...
декабрь 28, 2012 г.