Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Выбор изометрии и переход 3D->2D (http://www.flasher.ru/forum/showthread.php?t=85675)

Скрипун 27.09.2006 22:11

Выбор изометрии и переход 3D->2D
 
Вложений: 1
Делаю игру. Пришло время выбирать изометрию (если это так правильно называется)... Посмотрел игру "Козаки", там вот такая (рис2), почитал Гурского там изометрия примерно такая (рис1)...
Что бы вы посоветовали и какие градусы(игра танчики)?
И как потом с разчетов 3D перейти к 2D ?

expl 27.09.2006 23:41

Субьективно конечно лучше №2, потому что №1 противоестественная кака-я то, и пересчет не на много сложнее
Переводятся координаты как-то так(функция возвр. пару координат):
Код:

Graph.XYZtoXY=function(x,y,z){
        //var camera=_global.Graph.camera;
        //x-=camera.x0
        //y-=camera.y0
        //var xx=x;
        //x=xx*camera.cos-y*camera.sin;
        //y=xx*camera.sin+y*camera.cos;
        return [x*7-y*7+275, x*5+y*5-z*10+300];
}

Меняя 7-ки и 5-ки добиваемся приемлемой изометрии
Еще плюс в пользу 2-го способа:
Ясен пень объекты не будут истинно трехмеными (флеш не потянет)
Значит придется рисовать несколько положений объектов
В 1-м случае представить как будет выглядеть объект, повернутый на 45 градусов гораздо сложнее...
как это выглядит в действии:здесь (второй сверху)
Вобщем вот так

expl 27.09.2006 23:50

хотя... ИМХО для танчиков удобней будет вобще прямую проекцию сделать
(return [x, y*0.7+z]) игроку просто удобней будет, ну тобишь как у Гурского только без смещения. Но если есть желание отличиться - то №2 =)

Скрипун 27.09.2006 23:52

Пример супер! ТОлько вот поле имеет галимый вид...
И отрывок кода нажаль я не понял... И что мне с того что я подберу "5" и "7", мне просто надо моему типа дизайнеру (3Д макс) под каким углом выдавать рисунки (примерно 20 штук (20 видов) танка, это когда он поворачивает)... вот.

Скрипун 27.09.2006 23:57

А там еще проблема: коефициент искажения! Какой он для случая 2?

ПС. убедили 2 лучше :)

miramax 28.09.2006 00:12

Я , как главный программер, на этом проекте, выбрал №2. Т.к. в математической модели изометрии на 2d плоскости можно воспроизвести многие 3d фичи.
http://reality.allkmv.ru/index.php?p...iti=1231440484 -
вот это для дизайнеров было опубликовано, там ещё слева внизу статьи с PixelTutorials

miramax 28.09.2006 00:19

В классической изометрии измерения X, Y, Z соотносятся как 1:1:1.

на мониторе , по горизонтали получаем реальные расстояния на плоскости XOY,
а по вертикали (с применением tg 0.5) получаем расстояния на плоскости XOY составляющие 1/Math.sqrt(2) от начальных.

Nirth 28.09.2006 00:20

1 мне нравится больше, использовалось во многих RPG

miramax 28.09.2006 00:24

Может кто-то помнит игру Nox. Хороший пример изометрии.

expl 29.09.2006 23:21

Мож позновать, но лучше, чем никогда :confused:
Цитата:

И отрывок кода нажаль я не понял... И что мне с того что я подберу "5" и "7", мне просто надо моему типа дизайнеру (3Д макс) под каким углом выдавать рисунки (примерно 20 штук (20 видов) танка, это когда он поворачивает)... вот.
Ты ж в роде про перевод координат спрашивал - надо ведь както нарисованное в 3D Max на экране размещать, короче визуально будет понятней:
рисунок
http://nt021.narod.ru/isometr.jpeg
Цитата:

А там еще проблема: коефициент искажения! Какой он для случая 2?
Эт уже начертательная геометрия, попробуй google
Цитата:

ТОлько вот поле имеет галимый вид...
Дык, тут все трехмерное, флеш и так еле вытягивает, а про рельефное или текстурное поле можно вобще забыть =(


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.