Помогите перевести код

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Помогите перевести код

Сообщение DirectXManiac » 01.07.2006 (Сб) 14:59

Мне нужно сделать камеру как в гонках чтоб она не точно следовала за машиной а как бы имела скорость и т.д. Такое движение называеться PurchaseFollowing. У меня есть код на DirectX 7 и его надо перевести на DirectX8. Я мучался но не нашёл порочку функций! Помогите, кто сможет. Вот код:
Код: Выделить всё

Sub PurchaseFollowing(MeshObject As Mesh, RelativeEndPosition As D3DVECTOR, LookAtInMesh As D3DVECTOR, CameraSpeed As Single, Optional ExponentialSpeed As Boolean = True, Optional MaxCameraSpeed As Single = 100, Optional AvoidObject As Boolean = False)
     
   Dim RelPos As D3DVECTOR, Direct As D3DVECTOR, Direction As D3DVECTOR, EndV As D3DVECTOR, a As D3DVECTOR
   RelPos = MTransform(Mesh(MeshObject.GetMeshIndex).Features.Matrix, RelativeEndPosition)
   Direct = VSubtract(RelPos, StartPos)
   CameraSpeed = CameraSpeed * VModulus(Direct)
   If CameraSpeed > MaxCameraSpeed Then CameraSpeed = MaxCameraSpeed
   If CameraSpeed <= 0 Then Exit Sub
   'If Direct.y < SystemFrame / 1000 Then Direct.y = 0
   
   Direction = VNormalize(Direct)
   a = StartPos

   EndV = VAdd(StartPos, VScale(Direction, SystemFrame * CameraSpeed / 1000))
  ' If LocalScene.Collide(a, EndV) = False Or AvoidObject = False Then
  '  StartPos = EndV
  ' Else
  '  StartPos = a
  ' End If

   RelPos = MTransform(Mesh(MeshObject.GetMeshIndex).Features.Matrix, LookAtInMesh)
   EndPos = RelPos
   DirectX.ViewMatrix ViewMatrix, StartPos, EndPos, Vector(0, 1, 0), 0
End Sub

StartPos - позиция камеры, EndPos - точку на которую смотрит камера.
Остальное я так думаю понятно...
Помогите очень прошу!
#define ROFL 0xDDDD

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 01.07.2006 (Сб) 22:53

вот
надеюсь я понял что тебе нужно
все что надо находится в функции SetupMatrices

зы там много мусора так что извени 8)
как то тож занимался гоночками :)
У вас нет доступа для просмотра вложений в этом сообщении.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 01.07.2006 (Сб) 23:04

Сорри за оффтоп:
Не хочешь вспомнить??? Я просто набираю команду:
http://bbs.vbstreets.ru/viewtopic.php?t=26638
Пример помог! Только надо разобраться что к чему! Спасибо!
#define ROFL 0xDDDD


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList