forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Mini map (http://forum.boolean.name/showthread.php?t=8809)

Knightmare 10.11.2009 22:32

Ответ: Mini map
 
Позиция текстуры должна рассчитываться по пзиции персонажа. Синхронно двигать перса и текстуру есть полнейший бред. Тут не нужно много ума. Простое преобразование координатных систем (3D мир => 2D карта).

Артем Валерьевич 10.11.2009 22:44

Ответ: Mini map
 
Знаю прямоугольник координат мира и прямоугольник текстуры, как мне сопоставить координаты?

NitE 10.11.2009 22:48

Ответ: Mini map
 
CameraProject camera,x#,y#,z#

Артем Валерьевич 10.11.2009 22:53

Ответ: Mini map
 
тоесть я получаю центр своего уровня, тоесть мира этой командой (CameraProject camera,x#,y#,z#) и потом позиционирую свою миникарту согласно полученным координатам?

Артем Валерьевич 10.11.2009 23:45

Ответ: Mini map
 
Но ведь персонаж вовсе не в центре карты.

непонимаю

NitE 10.11.2009 23:49

Ответ: Mini map
 
короче - чти хелп
3D Graphics -> Camera -> ...

Knightmare 11.11.2009 00:09

Ответ: Mini map
 
Зочем что-то проецировать? Тут математика за 3 класс:
Код:

х_координата_на_карте# = (мировая_х_координата# - начало_координат_х#) / ширина_мира# * ширина_карты#
y_координата_на_карте# = (мировая_y_координата# - начало_координат_y#) / высота_мира# * высота_карты#

Кто не понял - учебник за 3 класс, раздел о дробях и долях. Потом по этим координатам делаем чо надо.

Артем Валерьевич 11.11.2009 00:12

Ответ: Mini map
 
Knightmare спасибо, а вот с математикой у меня туго, уж простите, 2-

Артем Валерьевич 11.11.2009 00:18

Ответ: Mini map
 
а ктонибудь так уже делал миникарту?

Артем Валерьевич 11.11.2009 11:32

Ответ: Mini map
 
неполучается спозиционировать миникарту

IGR 11.11.2009 15:02

Ответ: Mini map
 
Цитата:

неполучается спозиционировать миникарту
объекты на миникарте не получается ?? ;)

что не получается ?? покажите код, может чем-то поможем !! :)

Артем Валерьевич 11.11.2009 15:32

Ответ: Mini map
 
Запутался я, вобщем код такой, вместе с персонажем гружу карту, цепляю к камере, позиционирую, накладываю текстуру карты:

Код:


minimap=LoadAnimMesh("TesData\tesBitmap\Tes_mapa01\minimap2.b3d",a.MatchMan\cam)
PositionEntity minimap,EntityX(a.MatchMan\cam)-.35,EntityZ(a.MatchMan\cam)+1.75,EntityY(a.MatchMan\cam)+.01
;PositionEntity minimap,GW%+2,GH%+3,+1
ScaleEntity minimap,.02,.02,.02
EntityOrder minimap,0
mapM=FindChild ( minimap,"Object01")
 
 
minimaptex=LoadTexture("TesData\tesBitmap\Tes_mapa01\minimap.png")
EntityTexture mapM, minimaptex,0,0
mapspeed#=0

затем в цикле при обновлении персонажа я пишу:

Код:


If UP Then:walksnd=True
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate Tesey,2,Pers_speed#,1,0
EndIf
mapspeed#=mapspeed#+.0001*dt
MoveEntity a.MatchMan\PiwotPers,0,0,.01*dt
;PositionTexture minimaptex,0,+Pers_speed#
;PositionEntity a.MatchMan\Piwotcam,Sin( MilliSecs() )*.005 +.005,Sin( MilliSecs() )*.2 +.2,0
 
;EndIf
 
Else If DN Then:walksnd=True
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate Tesey,2,Pers_speed#,1,0
EndIf
mapspeed#=mapspeed#-.0001*dt
 
u_position#=1
v_position#=1

затем ниже:

Код:


x#=EntityX (a.MatchMan\PiwotPers)
y#=EntityY (a.MatchMan\PiwotPers)
z#=EntityZ (a.MatchMan\PiwotPers)
CameraProject(a.MatchMan\cam,x#,y#,z#)

и в конце функции :

Код:


Next
PositionTexture minimaptex,ProjectedX()/2,ProjectedY()/2 
EndIf
End Function


короче походу совсем запутался, а ведь нужно еще чтобы миникарта поворачивалась и двигалась по диагонали и под любым углом. :dontknow:

Ky3R_94 11.11.2009 16:16

Ответ: Mini map
 
Не двигай карту отдельно, привяжи координаты текстуры к персонажу. Ты ж через UVW делаешь? Если да то будет работать. Но не проще ли через 2д делать?

З.ы. судя по тому, как быстро вы нашли решение к первому вопросу, просто удивительно, что вы сами не смогли пока справиться)

Артем Валерьевич 11.11.2009 16:31

Ответ: Mini map
 
Как привязать, непонимаю пока?

NitE 11.11.2009 16:32

Ответ: Mini map
 
a=b

Ваше сообщение слишком короткое. Оно должно быть не менее 4 символов.


Часовой пояс GMT +4, время: 16:05.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot