Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.11.2010, 17:38
demy вне форума Посмотреть профиль Отправить личное сообщение для demy Найти все сообщения от demy
  № 1  
Ответить с цитированием
demy
 
Аватар для demy

Регистрация: Sep 2009
Сообщений: 105
Отправить сообщение для demy с помощью ICQ
По умолчанию Ходить по сцене

Доброго времени суток.
Начала работу над псевдо-3д во флеше. Выбор относительно API остановила на Альтернативе. По изучала ее, сделала первые уроки, пару других вещей.
С AS 3.0 знакома хорошо.
В общем, идея такова:
создаем в ArchiCAD-е здание, импортируем его в 3ds max, там еще дорабатываем и далее грузим модель с флеша.
В результате, человек будет ходить по комнатам, возможно, открывать двери.
Отсюда вопрос - как нормально организовать ограничение перемещения - нельзя идти сквозь стены и т.д.? И вообще, есть ли советы по организации этой самой ходьбы? (или нет ничего лучше, чем поставить зрителя внутрь - по-моему lookAtXYZ - и просто сделать симпл контроллер)
Ах, да, Альтернатива 7я - свежевышедшая.

Старый 09.11.2010, 00:26
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 2  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
А почему это псевдо 3D? Альтернатива это не псевдо 3D.
Зачем столько заморочек ArchiCAD, потом 3D Max? Можно сразу всё в 3D Max'e сделать и экспортировать в формат который понимает альтернатива.
Сейчас в альтернативе нет коллизий(столкновение), по этому нет физики, так что ходить не получится по домику. Хотя выкрутиться можно, есть способ который не даст проходить сквозь стены. Нужно сделать 2D разметку(карту) комнат и поместить туда 2Dобьект который будет детектить 2D коллизи и не сможет выйти за стены на 2D карте, потом координаты 3Dобьекта который должен ходить по дому привязываеш к 2Dобьекту который ходит по карте и всё управляем 2Dобьектом... 3Dоьект будет двигаться так-же как и 2Dобьект. Думаю, всё понятно?

Старый 09.11.2010, 00:46
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Пока альтернатива - "псевдо 3d", в смысле софтовый рендер.
Коллизии (ограничение перемещения ) не сложно и самому написать.
Посмотрите, например, как сделана в демке стратегия карта проходимостей.
Пускайте невидимый объект, за ним следящую камеру (хотя можно и просто камеру перемещать). объект уже проверяйте на столкновения. Могут конечно возникнуть разные косяки при сложных конфигурациях..
Например, камера за стенкой от ведомого объекта может оказаться при повороте угла зрения.
__________________
Отряд Котовскага

Старый 09.11.2010, 10:37
demy вне форума Посмотреть профиль Отправить личное сообщение для demy Найти все сообщения от demy
  № 4  
Ответить с цитированием
demy
 
Аватар для demy

Регистрация: Sep 2009
Сообщений: 105
Отправить сообщение для demy с помощью ICQ
Sintesis
Цитата:
Зачем столько заморочек ArchiCAD, потом 3D Max? Можно сразу всё в 3D Max'e сделать...
Это просто для удобства - помещение мне проще в АрхиКАДе набросать.

Котяра
Спасибо за идею - надо попробовать.

Старый 09.11.2010, 12:32
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 5  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Если в здании будет всего 1 этаж, можно свести все к проверке пересечения отрезка и окружности.
Стены-отрезки можно из 3dmax экспортить.
__________________
while(1) {}

Старый 09.11.2010, 12:45
demy вне форума Посмотреть профиль Отправить личное сообщение для demy Найти все сообщения от demy
  № 6  
Ответить с цитированием
demy
 
Аватар для demy

Регистрация: Sep 2009
Сообщений: 105
Отправить сообщение для demy с помощью ICQ
Так, а из макса портируем в колладу, а ее что, как простой xml грузить, потом - в парсер?

Позже
Код AS3:
private function xmlLoaded(event:Event) {
	if ((event.target as URLLoader) != null ) {
		var resp:XML=new XML(event.target.data);
		var parser:ParserCollada = new ParserCollada();
		parser.parse(resp);
                for each (var obj:Object3D in parser.objects) {
			container.addChild(obj);
		}
	}
}
Вроде работает... буду разбираться, простите за флуд

P.S: Двери из АрхиКАДа нещадно глючат, накладываясь на стены и косяки (в прямом смысле слова "косяки") - их стоит переделать в Максе.
Кстати, всем огромное спасибо - все быстро и прекрасно работает


Последний раз редактировалось demy; 09.11.2010 в 16:03.
Старый 13.11.2010, 13:53
PikseL вне форума Посмотреть профиль Отправить личное сообщение для PikseL Посетить домашнюю страницу PikseL Найти все сообщения от PikseL
  № 7  
Ответить с цитированием
PikseL
 
Аватар для PikseL

Регистрация: Oct 2006
Адрес: Russia, Tyumen
Сообщений: 130
Отправить сообщение для PikseL с помощью ICQ Отправить сообщение для PikseL с помощью Skype™
Цитата:
Сообщение от Котяра Посмотреть сообщение
Пока альтернатива - "псевдо 3d", в смысле софтовый рендер.
Отлично! Из этого следует, что и Quake I тоже "псевдо 3д" - там тоже софтверный рендер.

demy, почитайте про матрицы и векторы и их применение в 3-мерных вычислениях и вы легко сможете сами вычислять коллизии и много еще чего .

Старый 25.11.2010, 14:25
demy вне форума Посмотреть профиль Отправить личное сообщение для demy Найти все сообщения от demy
  № 8  
Ответить с цитированием
demy
 
Аватар для demy

Регистрация: Sep 2009
Сообщений: 105
Отправить сообщение для demy с помощью ICQ
Почитала матрицы и вектора - как они могут помочь конкретно в вычислении коллизий?

Старый 25.11.2010, 18:39
forhaxed вне форума Посмотреть профиль Отправить личное сообщение для forhaxed Найти все сообщения от forhaxed
  № 9  
Ответить с цитированием
forhaxed

Регистрация: Jun 2009
Сообщений: 35
Можно как вариант использовать физический движок, например Box2D. Человек - окружность, стены - абсолютные твердые тела. Более того, с физикой дверей заморочек не будет вообще.

Старый 25.11.2010, 19:37
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 10  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
Цитата:
А почему это псевдо 3D? Альтернатива это не псевдо 3D.
Зачем столько заморочек ArchiCAD, потом 3D Max? Можно сразу всё в 3D Max'e сделать и экспортировать в формат который понимает альтернатива.
Сейчас в альтернативе нет коллизий(столкновение), по этому нет физики, так что ходить не получится по домику. Хотя выкрутиться можно, есть способ который не даст проходить сквозь стены. Нужно сделать 2D разметку(карту) комнат и поместить туда 2Dобьект который будет детектить 2D коллизи и не сможет выйти за стены на 2D карте, потом координаты 3Dобьекта который должен ходить по дому привязываеш к 2Dобьекту который ходит по карте и всё управляем 2Dобьектом... 3Dоьект будет двигаться так-же как и 2Dобьект. Думаю, всё понятно?
Поддерживаю - 100% Сам делал примерно так в игрухе - не пожалел. Каждому 3д объекту создаю 2д. 2д объект прячет в себе 3д объект, координаты связаны, причем можно сопоставить как угодно, например у меня было так - 3дХ == 2дХ и 3дZ == 2дY.

Но я делал параллельно 3д миру, некий 2д мир в котором определялись все коллизии. Всяко шустрее чем бокс2д этот.

В вашем случае можно сделать типа битмап карту - вид сверху - стены черным цветом, там где ходить можно белым. Ну и проверять будущее положение(т.е. то куда вы хотите пойти) getPixel(x + dx, y + dy) проверять цвет. Если черный цвет то ходить нельзя, а если белый то можно.
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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