|
3D-программирование Вопросы, касающиеся программирования 3D мира |
10.11.2009, 22:32
|
#31
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Mini map
Позиция текстуры должна рассчитываться по пзиции персонажа. Синхронно двигать перса и текстуру есть полнейший бред. Тут не нужно много ума. Простое преобразование координатных систем (3D мир => 2D карта).
|
(Offline)
|
|
10.11.2009, 22:44
|
#32
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
Знаю прямоугольник координат мира и прямоугольник текстуры, как мне сопоставить координаты?
|
(Offline)
|
|
10.11.2009, 22:48
|
#33
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Mini map
CameraProject camera,x#,y#,z#
|
(Offline)
|
|
10.11.2009, 22:53
|
#34
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
тоесть я получаю центр своего уровня, тоесть мира этой командой (CameraProject camera,x#,y#,z#) и потом позиционирую свою миникарту согласно полученным координатам?
|
(Offline)
|
|
10.11.2009, 23:45
|
#35
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
Но ведь персонаж вовсе не в центре карты.
непонимаю
|
(Offline)
|
|
10.11.2009, 23:49
|
#36
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Mini map
короче - чти хелп
3D Graphics -> Camera -> ...
|
(Offline)
|
|
11.11.2009, 00:09
|
#37
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Mini map
Зочем что-то проецировать? Тут математика за 3 класс:
х_координата_на_карте# = (мировая_х_координата# - начало_координат_х#) / ширина_мира# * ширина_карты#
y_координата_на_карте# = (мировая_y_координата# - начало_координат_y#) / высота_мира# * высота_карты#
Кто не понял - учебник за 3 класс, раздел о дробях и долях. Потом по этим координатам делаем чо надо.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.11.2009, 00:12
|
#38
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
Knightmare спасибо, а вот с математикой у меня туго, уж простите, 2-
|
(Offline)
|
|
11.11.2009, 00:18
|
#39
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
а ктонибудь так уже делал миникарту?
|
(Offline)
|
|
11.11.2009, 11:32
|
#40
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
неполучается спозиционировать миникарту
|
(Offline)
|
|
11.11.2009, 15:02
|
#41
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Mini map
неполучается спозиционировать миникарту
|
объекты на миникарте не получается ??
что не получается ?? покажите код, может чем-то поможем !!
|
(Offline)
|
|
11.11.2009, 15:32
|
#42
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 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
короче походу совсем запутался, а ведь нужно еще чтобы миникарта поворачивалась и двигалась по диагонали и под любым углом.
|
(Offline)
|
|
11.11.2009, 16:16
|
#43
|
Нуждающийся
Регистрация: 29.08.2009
Адрес: Україна, Донецьк
Сообщений: 71
Написано 13 полезных сообщений (для 45 пользователей)
|
Ответ: Mini map
Не двигай карту отдельно, привяжи координаты текстуры к персонажу. Ты ж через UVW делаешь? Если да то будет работать. Но не проще ли через 2д делать?
З.ы. судя по тому, как быстро вы нашли решение к первому вопросу, просто удивительно, что вы сами не смогли пока справиться)
|
(Offline)
|
|
11.11.2009, 16:31
|
#44
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: Mini map
Как привязать, непонимаю пока?
|
(Offline)
|
|
11.11.2009, 16:32
|
#45
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Mini map
a=b
Ваше сообщение слишком короткое. Оно должно быть не менее 4 символов.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:57.
|