| 
	
		
		
			| Результаты поиска |  |  |  | 
| Valentinus | Дата: Пятница, 21 Ноября 2008, 16:00 | Сообщение # 1 | Тема: OGRE |  | был не раз Сейчас нет на сайте | подтверждаю.  во-первых ОГР не для новичков, садиться на него можно только при очень хорошем знании и наличия опыта программирования на С++.   во-вторых, нужно хорошо знать английский, ибо русских туторов очень мало, а качество их в плане обучения очень низкое. Единственная книга по ОГРу "Pro OGRE 3D Programming" Gregory Junker (дай бог ему здоровья!) будет вашим единственным толковым помощником.   в-третих даже знание английского еще не гарантирует легкого освоения ОГРа, и особенно- плагинов к нему (а они вам потребуются, даже не сомневайтесь). Принятый там за правило doxygen - "генереж" документации из исходников - это пипец. В теории все шоколадно: программист пишет в программе комментарии, на основании которых автоматически генерится файл справки. На практике получается полная жопа (да простят меня модераторы!) - по простому перечню функций и классов очень трудно понять архитектуру плагина, и как его использовать.   В-четвертых, ОГР делается и поддерживается "на общественных началах", поэтому бывает вопосы повисают на форуме без ответа, что разработка нужного плагина заброшена уже пару лет, и т.д.   в-пятых, понимание только собственного формата mesh для моделей, что в конечном итоге приводит к необходимости возиться с различными плагинами для экспорта, которые не всегда выдают то что вам нужно.   и в-шестых, все-таки не рекордные показатели производительности.   Ну а чтобы не заканчивать этот пост на грустной ноте, замечу о плюсах ОГРа: кросс-платформенность, бесплатность, наличия плагинов для подключения физики, генерации ландшафтов, скриптов партиклов и многое-другое 
 Автоматический анализатор читаемости Ваших веб-страниц:
 http://IC4U.ru?from_gamecreating
 |  |  |  |  |  | 
| Valentinus | Дата: Пятница, 24 Октября 2008, 00:24 | Сообщение # 2 | Тема: переместить объект и сразу узнать- пересекается ли он с кем? |  | был не раз Сейчас нет на сайте | вот пример: 
 Code  
 Graphics3D 640, 480
 SetBuffer BackBuffer()
 
 Const TypeC1 = 3, TypeC2 = 4
 
 Global player=CreateSphere()
 PositionEntity player,10, 0.1, 0
 TurnEntity player,0,40,0
 EntityRadius player, 1.5
 EntityType player, TypePlayer
 
 cam=CreateCamera(player)
 light=CreateLight(1)
 PositionEntity light, 1,1,1
 
 Floor1=CreatePlane()
 PositionEntity Floor1,0,-1,0
 EntityColor Floor1,111,0,0
 
 Global cub1=CreateCube()
 EntityColor cub1,0,111,0
 
 PositionEntity cub1,3, 0.1, 5
 TurnEntity cub1,0,0,0
 EntityRadius cub1, 1
 EntityType cub1, TypeC1
 
 Global cub2=CreateCube()
 EntityColor cub2,0,0,111
 
 PositionEntity cub2, 9, 0.1, 5
 ScaleEntity cub2, 0.9,0.9,0.9
 TurnEntity cub2,0,0,0
 EntityRadius cub2, 1
 EntityType cub2, TypeC2
 
 Collisions TypeC1, TypeC2, 3, 2
 
 ecub1% = EntityCollided(cub1, TypeC2)
 
 UpdateWorld
 RenderWorld
 
 Text 400,0,"cub1 EntityCollided(): "+ecub1,True,False
 
 While Not KeyDown( 30 )
 Wend
 
 ;PositionEntity cub2,3.5, 0.1, 5
 MoveEntity cub2, -5.5, 0, 0
 ;UpdateWorld
 ecub1% = EntityCollided(cub1, TypeC2)
 
 While Not KeyDown( 1 )
 
 ecub2% = EntityCollided(cub1, TypeC2)
 
 If KeyDown(30) MoveEntity cub1, -0.11, 0, 0
 
 If KeyDown(200) MoveEntity cub1, 0, 0, 0.11
 If KeyDown(208) MoveEntity cub1, 0, 0, -0.11
 If KeyDown(203) TurnEntity cub1, 0, 2, 0
 If KeyDown(205) TurnEntity cub1, 0, -2, 0
 
 ecub3% = EntityCollided(cub1, TypeC2)
 
 UpdateWorld
 RenderWorld
 
 Text 400,0,"after jump EntityCollided(): "+ecub1,True,False
 
 Text 400,20,"current (before move) EntityCollided(): "+ecub2,True,False
 
 Text 400,40,"current (after move)  EntityCollided(): "+ecub3,True,False
 
 Flip
 Wend
 End
 
 
 на плоскости два кубика, задана их коллизия, вверху экрана пишется результат EntityCollided()   сначала они не пересекаются: EntityCollided выдает как и положено 0   нажимаем клавишу "А" - один кубик переносим в точку пересечения с другим, и сразу смотрим EntityCollided   увы! все тот же ноль!   даже если между перемещением и EntityCollided вставить Update World результат не меняется.   странно, что даже если в этот момент покрутить (клавишами) кубик внутри другого- никаких коллизий, однако стоит вывести кубик в сторону и "ткнуть" в другой- коллизии начинают фиксироваться!   теперь алгоритм блитца мне вообще непонятен...  
 Автоматический анализатор читаемости Ваших веб-страниц:
 http://IC4U.ru?from_gamecreating
 
 
 Сообщение отредактировал Valentinus - Пятница, 24 Октября 2008, 12:54 |  |  |  |  |  | 
| Valentinus | Дата: Четверг, 23 Октября 2008, 16:34 | Сообщение # 3 | Тема: переместить объект и сразу узнать- пересекается ли он с кем? |  | был не раз Сейчас нет на сайте | пробую Blitz3D.  вопрос: количество столкновений которые выдает EntityCollided() подсчитывается каждый раз при перемещении объекта, или только вовремя исполнения UpdateWorld?   то есть могу я _между_ отрисовками одного кадра (UpdateWorld/RenderWorld) несколько раз переместить объект, найдя позицию, где он ни с кем не пересекается?   вопрос проистекает из того, что вызывать UpdateWorld несколько раз (перед отрисовкой) невозможно, так как по этой команде Blitz обновляет анимацию- то есть когда сцена наконец отрисуется- пропустится несколько кадров. Хотелось бы переместить объект и сразу узнать- пересекается ли он с кем нибудь в этой точке или нет. 
 Автоматический анализатор читаемости Ваших веб-страниц:
 http://IC4U.ru?from_gamecreating
 |  |  |  |  |  | 
| Valentinus | Дата: Четверг, 09 Октября 2008, 11:45 | Сообщение # 4 | Тема: Посоветуйте движок, что-то типа блитца |  | был не раз Сейчас нет на сайте | Quote (vergil010) а вот что может blitz http://www.youtube.com/watch?v=uuccl9ywyKQ впечатлило, несмотря на "застывшую" флору. а исходники этого ролика можно где-то скачать?
 
 Автоматический анализатор читаемости Ваших веб-страниц:
 http://IC4U.ru?from_gamecreating
 
 
 Сообщение отредактировал Valentinus - Четверг, 09 Октября 2008, 11:45 |  |  |  |  |  
 |