Технологии

Решено

Игра на 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

тогда вот ссылки на код на форме и на код загрузки модели

http://rghost.ru/38323009

http://rghost.ru/38323019

Дополнение автора от май 27, 2012 г., 23:05:59

вот весь проект… там много недочетов и в 3D моделях да и в коде..

http://rghost.ru/38323111

Дополнение автора от май 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

  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    поясните на счет:

    — OpenGL — какие конкретно библиотеки используете?

    — в каком формате предоставлены 3d модели?

    — «уже экспортированы в програмную среду» — Вы уже можете воспроизвести 3d сцену с простейшими движениями?

    ps варианты по «физике» зависят от того что уже у Вас есть

    май 27, 2012 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    ну для начала давайте уточним — если модель 3д каркасная с рендерингом поверхностей на лету, то примитивы по движению обьектов будут управляться той же библиотекой, которая выполняет рендеринг

    тогда останется подобрать библиотеку по физике и примеры по ней

    по этому вопрос сводится к следующему — чем Вы открывает ase? и подразумевает ли этот формат динамику вообще?

    ps OpenGL это вообще то API а не библиотека )))

    май 27, 2012 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    вообще то текст не читаем (((

    а еще — самое важное в операторах

    using

    )))

    май 27, 2012 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    а еще лучше архив проекта + библиотеки (или ссылки) + хоть одну модель

    смогу подсказывать предметно

    ps вся связь через сайт, это строго

    май 27, 2012 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    скачиваю, но посмотрю уже завтра

    на будущее — можно вложения в письмо по внутренней почте сайта ))

    есть еще чат

    эксперт не может обратится первым, но клиент может обратиться к эсперту

    если открыть профиль эксперта — будут кнопки типа «обратиться в чат» и «написать письмо»

    об огрехах в коде… — не боги горшки обжагают ;)))

    май 27, 2012 г.
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    с тебя модель

    проект я собрал, но модели нет

    а вообще здесь ключевое слово Tao

    ты используешь библиотеку Tao — одну единственную

    так вот в ней есть полноценная поддержка физики - Tao.PhysFs

    осваивай ))

    и все получится

    ps хотя я бы не стал опираться на такую старую библиотеку

    откуда такой выбор? ты хочешь совместимости с linux?

    почему старая — последняя редакция ровно 3 года назад

    http://sourceforge.net/projects/taoframework/files/The%20Tao%20Framework/ 

    для OpenSource проекта 3 года без движения… это плохой признак

    pps модель нашлась )))

    а работа с физикой в основах описана тут

    http://www.esate.ru/page/uroki-OpenGL-c-sharp/

    май 28, 2012 г.
    Ответ понравился автору
    Лучший ответ по мнению автора
  • Андрей FaceOff - аватарка

    Андрей FaceOff

    1-й в Технологиях

    читай ответы внимательно:

    1 — я делал примечание выше — модели нашлись

    2 — для работы с физикой в этом фреймворке есть конкретный раздел Tao.PhysFs, тебе не надо самостоятельно вычислять все координаты. изучай эту библиотеку...

    другой вопрос — то что не надо все вычислять полностью, не отменяет что тебе надо достаточно хорошо понимать как это все вычисляется

    3 — я тебе кинул ссылку на учебный материал http://www.esate.ru/page/uroki-OpenGL-c-sharp/ 

     

    май 28, 2012 г.

Похожие вопросы

счетчик нажатий на кнопку.

декабрь 11, 2011 г.

Технологии