[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Вопросы по Newton Wrapper для Blitz3D
ELIASДата: Пятница, 28 Ноября 2008, 19:52 | Сообщение # 1
Начинающий
Группа: Пользователи
Сообщений: 14
Награды: 0
Замечания: 0%
Статус:
Привет всем!
Делаю физику и 3д аркаде-платформеру на ньютоне.
Проблем вообще много, но в принципе думаю что уже больше половины для физ движка моей игры сделано...а может и нет! dry

А щас такая проблема:
Мне нужно загрузить сразу много однотипных объектов, и каждый после создания физики нужно ещё и переместить на нужное место, естественно делаю это через циклы for-next.
Вот так выглядит код:

Code

Dim world(100)
Dim worldcoll(100)

For i=1 To 10
   world(i)=LoadMesh("World.b3d")
   phLevelBuildBegin()
   LevelAddMesh(world(i))
   worldcoll(i) = phLevelBuildEnd()
   phBodySetPos(worldcoll(i),1000*i,0,0)
   phBodySetMat(worldcoll(i),wmat)
   PositionEntity(world(i),1000*i,0,0)
Next

и игра с таким кодом вылетает с ошибкой "memory access voilitation"...
причем, если убрать строку "phBodySetPos(worldcoll(i),1000*i,0,0)" - всё будет работать...
Также можно не удалять эту сроку, а сделать цикл в один проход - то есть пишем "For i=1 To 10" - всё будет работать!

Именно в "phBodySetPos()" - вся проблема... bash

Чё за фигня не могу понять!!! fool

Сообщение отредактировал ELIAS - Пятница, 28 Ноября 2008, 20:31
 
ELIASДата: Суббота, 29 Ноября 2008, 12:34 | Сообщение # 2
Начинающий
Группа: Пользователи
Сообщений: 14
Награды: 0
Замечания: 0%
Статус:
Jack, всё что ты сказал я так и делаю уже давно...Только формат я правда новый не придумывал, б3д та и пользуюсь))) sad Всё выше лишь для примера, в простом коде легче разбирать правда? wink
А про
Quote
А ты уверен, что phLevelBuildEnd() возвращает объект?
- даже блин не знаю...

А позиционировать каждый физ объект мне просто необходимо, так как я делаю уровни для своей игры в своем мапедиторе из повторяющихся объектов - вот так!

Сообщение отредактировал ELIAS - Суббота, 29 Ноября 2008, 13:48
 
ELIASДата: Воскресенье, 30 Ноября 2008, 14:56 | Сообщение # 3
Начинающий
Группа: Пользователи
Сообщений: 14
Награды: 0
Замечания: 0%
Статус:
Quote
Создаешь формат фалов, в котором тупо подряд записаны координаты треугольников, из которых состоит своя сцена.

Это че так легко???... А где создать такой формат? макс-скриптом чтоли? Это ж я так понимаю плагин надо для макса писать...
Вообще это было бы классно...И занимали бы такие модельки совсем немного, ничего лишнего, и блитцу такую штуку обрабатывать легче)))
Но реально представления не имею никакого как создать свой формат! Подскажите плиз...

А про идею всего мира как одной физ-модели незнаю что сказать... Не тормозно ли ето будет? Я то хотел в своей игре сделать чтобы физ-объекты на только в определённом радиусе от игрока обрабатывались...

 
tjslashДата: Понедельник, 16 Марта 2009, 11:50 | Сообщение # 4
Продвинутый
Группа: Участники
Сообщений: 132
Награды: 0
Замечания: 0%
Статус:

Профессия: студент
Команда: Йа один((
Проектов: "Blood Life"
Помогите пожалуйста с физической моделью игрока и управлением им... Целый день мучаюсь уже...
Можно небольшой примерчик, если не затруднит.
 
tjslashДата: Понедельник, 16 Марта 2009, 19:13 | Сообщение # 5
Продвинутый
Группа: Участники
Сообщений: 132
Награды: 0
Замечания: 0%
Статус:

Профессия: студент
Команда: Йа один((
Проектов: "Blood Life"
Загружаю уровень LoadAnimMesh:
Code

  For i=0 To all_walls
  x.StaticObj=New StaticObj
  a$="wall"
  walls(i)=FindChild(map, a$+i)  
  EntityType walls(i), TypeWall
  x\body = phBodyCreateBox(MeshWidth#(walls(i)),MeshHeight#(walls(i)),MeshDepth#(walls(i)),0)  
  phBodySetPos (x\body,(EntityX#(walls(i), True)),(EntityY#(walls(i), True)),(EntityZ#(walls(i), True)))
  phBodySetRot(x\body,EntityPitch#(walls(i), True),EntityYaw#(walls(i), True),EntityRoll#(walls(i), True))
  phBodySetMat(x\body,matStatic)
  Next

А у физического объекта стены высота меньше... Т.е. можно на определенной высоте пролететь сквозь стену... Никто не подскажет как решить данную проблему?

ЗЫ:
Еще имеется одна проблема. Не могу пройти в некоторые дверные проемы, идентичные тем через которые я пройти как раз таки могу... Подскажите плиз ошибку...

 
tjslashДата: Вторник, 17 Марта 2009, 13:57 | Сообщение # 6
Продвинутый
Группа: Участники
Сообщений: 132
Награды: 0
Замечания: 0%
Статус:

Профессия: студент
Команда: Йа один((
Проектов: "Blood Life"
Quote
А у физического объекта стены высота меньше... Т.е. можно на определенной высоте пролететь сквозь стену... Никто не подскажет как решить данную проблему?

ЗЫ:
Еще имеется одна проблема. Не могу пройти в некоторые дверные проемы, идентичные тем через которые я пройти как раз таки могу... Подскажите плиз ошибку...

Проблема выяснилась, а вот решение найти не могу...
При загрузке уровня LoadAnimMesh'ем и прописыванием Child'ам физики, физический объект Child'а по оси Y ниже на MeshHeight#(walls(i))*0.5...
Никто не знает как можно физический объект центровать?

 
  • Страница 1 из 1
  • 1
Поиск: