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)

G.A.D 31.07.2009 02:06

Mini map
 
На сколько я знаю есть нескольо способов создания мини карты..
Я пользуюсь следующим:
создаю вторую камеру и направляю её вниз
пример:
PHP код:

mmc CreateCamera()
   
CameraViewport mmc,width-mmz,height-mmz,mmz,mmz
PositionEntity mmc
,EntityX(pl),100,EntityZ(pl
   
RotateEntity mmc,90,EntityYaw(pl),EntityRoll(pl

но он не очень производительный!
как можно по другому создать?

Knightmare 31.07.2009 02:08

Ответ: Mini map
 
Рисовать примитивами схематично.

G.A.D 31.07.2009 02:12

Ответ: Mini map
 
Knightmare можете разъеснить весь алгоритм

Knightmare 31.07.2009 02:17

Ответ: Mini map
 
Ох е. Как все запушено.
У тебя есть карта (ландшафт) и информация о всех объектах на ней (если нет - закрыть это окно, отрыть IDE, Ctrl+A, Del, написать код заново). Исходя из этой информации можно примитивами (прямоуголькники, точки, по желанию маленькие картинки) изобразить карту схематично (рисуем ландшафт сперва, травку зелеными точками, песок - желтыми, поверх рисуем всякие деревья, скалы другими цветами, потом всякие строения, юнитов). Если не ошибаюсь принцип этого проходят на уроках географии в 5 классе.
З.Ы. Ландшафт также можно представить картинкой цветной и соответственно рисовать поверх тока здания/юниты. Короче зависит от ситуации.

G.A.D 31.07.2009 02:22

Ответ: Mini map
 
Спасибо,но ты Меня совсем убил!Я имел ввиду ни это!
Как в прямоуголник вписать точку нахождения унита на карте

Knightmare 31.07.2009 02:24

Ответ: Mini map
 
Координаты есть? Перевести тогда их в другую систему, не?
З.Ы. В конце концов, есть гугл. Он знает. Даже код.

G.A.D 31.07.2009 02:27

Ответ: Mini map
 
Он знает не понятный код!Я второй способ не понимаю
вот накидал но точки нету
PHP код:

rect h-200,w-200,200,200,0
plot EntityX
(pl),entityZ(pl

точки вообще нету

NitE 31.07.2009 02:33

Ответ: Mini map
 
сам незнал как делать миникарту - теперь стало интересно. после минуты поиска нашел
Цитата:

Translating from 3D to 2D coordinates is simple.

CameraProject will project a 3D coordinate (entityx, entityy and entityz of each entity) into 2D coordinates.

Get the result using ProjectedX() and ProjectedY()
You may want to "feed" CameraProject an x and z in place of an x and y (swap them around or shuffle until happy) to return 'useful' ProjectedX() and ProjectedY() coords.

So, divide these results to fit a smaller rectangle, and offset to draw where you want in your minimap.

G.A.D 31.07.2009 02:36

Ответ: Mini map
 
тоже находил но куб был не в месте мини карты

Knightmare 31.07.2009 02:49

Ответ: Mini map
 
Есть куб. У него есть координаты. Есть точка отсчета (0, угол карты, вше дело). Расчитываем координаты относительно этой точки. Переводим в систему карты (например вся карта в мировых координатах от (0.0, 0.0, 0.0) до (1000.0, 0.0, 1000.0), у нас миникарта имеет масштаб 1:10, т.е. тпо делим на 10 координаты куба, было (500.0, 0.0, 240.0) полчили (50, 24) на миникарте). Рисуем примитив. Повторять для каждого объекта. Упрощать/оптимизировать под свои нужды.
З.Ы. Мето перевода довльно грубый, но суть отражает.

G.A.D 31.07.2009 02:51

Ответ: Mini map
 
спасибо Knightmare сейчас попробую написать

G.A.D 31.07.2009 18:50

Ответ: Mini map
 
PHP код:

CameraProject (cam,EntityX(pl),EntityY(pl),EntityZ(pl))

UpdateWorld 
RenderWorld
Rect 0
,0,200,200,0
Rect ProjectedX
()/5,ProjectedY()/5,20,20
FLIP 

Координаты объекта по середине квадрата!что не так?

Knightmare 31.07.2009 18:52

Ответ: Mini map
 
Сожги себя.
Нахрен здесь проецирование НА ЭКРАН?!

IGR 31.07.2009 19:04

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

Нахрен здесь проецирование НА ЭКРАН?!
+1 !!

для простоты зделай перса своего центром радара !!
- радар размером 100 рх на 100 рх, т.е. перс будет стоять в точке радара 50,50 !!
- бери кусок реального мира запихуй в радар !! для этого нужен масштаб 1 рх радара = 10 единиц блицовских !!
- таким образом в радар попадут все обекты которы находятся в (-500, 500 поХ) и (-500, 500 поZ) !!
для их отображения возьми какие-то спрайтики или картинки и русуй в координатах соответсвующих !!

also: http://forum.boolean.name/showthread.php?t=4064&highlight=%CA%E0%F0%F2%E0+%F 0%E0%E4%E0%F0

G.A.D 31.07.2009 22:28

Ответ: Mini map
 
а что за render to texture разве в блице он есть?


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

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