22 Сентября 2024, 16:18:56
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Клонирование объектов
Клонирование объектов
(Прочитано 23531 раз)
  [1] 2
Печать
kyard | ** | Пользователь | Сообщений: 76 | « 20 Июля 2009, 16:32:42 »
Клонирование объектов |
0
Я прочитал что For Loop в сочетании с массивом мощная вещь но не смог пример реализовать. Модель импортирована из 3ds max 9
через MilkShape 3D 1.8.2 в .X формате.
Мне нужно не только размножить объект, но и чтобы можно было  передвигать каждую копию как самостоятельную. Такое возможно?
mixey | ** | Пользователь | Сообщений: 74 | «Ответ #1 20 Июля 2009, 21:08:32 »
Re: Клонирование объектов |
1
Ты сначала изучи простые примеры и пойми принцип работы с массивами!

Вот здесь все что нужно, для начала http://guest3d.wohlnet.ru/g3d/?q=node/37

Цитировать
Мне нужно не только размножить объект, но и чтобы можно было  передвигать каждую копию как самостоятельную. Такое возможно?

Можно, можно! Но с оговоркой на то, что ты хочешь сделать и для чего, а то метод может быть не оправданным!
kyard | ** | Пользователь | Сообщений: 76 | «Ответ #2 21 Июля 2009, 09:47:24 »
Re: Клонирование объектов |
2
В своей игре планировал разместить сундуки. Вот и спрашиваю про то какими методами можно это сделать.
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #3 21 Июля 2009, 11:35:28 »
Re: Клонирование объектов |
3
Я прочитал что For Loop в сочетании с массивом мощная вещь но не смог пример реализовать.

Ну а что именно ты там не смог реализовать? в чём оказалась проблема?
kyard | ** | Пользователь | Сообщений: 76 | «Ответ #4 21 Июля 2009, 12:03:23 »
Re: Клонирование объектов |
4
Проблема в том, что пример для стандартных объектов Q3D, а у меня экспортированный в .X формате и там другие блоки. Это во-первых, а во-вторых размножить объекты я смог, но как каждую копию перемещать отдельно от остальных!?

*Конкретно: 4 объекта, перемещаются как одно целое! Как их разделить?*
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #5 21 Июля 2009, 13:51:09 »
Re: Клонирование объектов |
5
Проблема в том, что пример для стандартных объектов Q3D, а у меня экспортированный в .X формате и там другие блоки.
Это ровным счётом ни на что не влияет. Разная у вас геометрия объекта, а тебе должен быть интересен блок с Motion матрицей. Вот именно его надо воспроизвести из примера.

Это во-первых, а во-вторых размножить объекты я смог, но как каждую копию перемещать отдельно от остальных!?

*Конкретно: 4 объекта, перемещаются как одно целое! Как их разделить?*
Ну раз они перемещаются все вместе, значит и координаты ты им одновременно меняеш, логично? Значит у тебя в цикле для отрисовки объекта должно присутствовать смещение для каждого конкретного объекта. И при каждом проходе цикла, для каждого объекта должно браться именно его смещение, например выбираться из масива по номеру прохода.
kyard | ** | Пользователь | Сообщений: 76 | «Ответ #6 22 Июля 2009, 07:41:28 »
Re: Клонирование объектов |
6
DimiS спасибо тебе что объяснил. В общих чертах я тебя понял (просто я еще не углублялся в массивы). Вот еще два вопроса:
1.Можно будет перемещать объекты  в окне анимации (я имею виду копии)?
2.Если тупо копировать папки и цеплять их к рендеру(что я и делаю)как это повлияет на систему?
DimiS | **** | Старожил | Сообщений: 284 | «Ответ #7 22 Июля 2009, 10:39:22 »
Re: Клонирование объектов |
7
1.Можно будет перемещать объекты  в окне анимации (я имею виду копии)?
Я честно говоря не очень дружу с квестовым редактором по части окна анимации. Там есть какие то странные условия, при которых можно перемещать объекты из окна анимации -- к объекту должна быть подключена именно Motion матрица, к ней векторы, к котрым обязательно Envelope на каждую координату. Это из моих наблюдений, может я чего не уловил.
Вобщем когда мне надо было разместить несколько одинаковых объектов, то я просто двигал один экземпляр такого объекта подключив к нему всю ту муть. Разместив экземпляр как мне надо было для одного из объектов, я сохранял значения позишен и ротейшен векторов в массив. Потом я передвигал экземпляр в позицию для следующего объекта, и сохранял позишен и ротейшен с новым индексом, и т.д. А в цикле отрисовки уже обращялся к этим данным по индексу.

2.Если тупо копировать папки и цеплять их к рендеру(что я и делаю)как это повлияет на систему?
Вопроса не понял, какие папки? Если ты имееш ввиду копирование одного и того же объекта несколько раз, то это черевато двумя последствиями. Во первых увеличится вес твоей проги, но это решаемо -- во всех местах где используется одна и та же Object Data разместить ссылки на один ченнел. Вторая проблема -- если у тебя применяется какая то логика к этим объектам, то когда тебе понадобится её изменить ты должен будеш внести одинаковые исправления во всех N копиях. Это может выглядеть пока пустячной проблемой, но потом ты поймёш Улыбающийся
kyard | ** | Пользователь | Сообщений: 76 | «Ответ #8 22 Июля 2009, 14:13:11 »
Re: Клонирование объектов |
8
1.Можно будет перемещать объекты  в окне анимации (я имею виду копии)?
Я честно говоря не очень дружу с квестовым редактором по части окна анимации. Там есть какие то странные условия, при которых можно перемещать объекты из окна анимации -- к объекту должна быть подключена именно Motion матрица, к ней векторы, к котрым обязательно Envelope на каждую координату. Это из моих наблюдений, может я чего не уловил.
Вобщем когда мне надо было разместить несколько одинаковых объектов, то я просто двигал один экземпляр такого объекта подключив к нему всю ту муть. Разместив экземпляр как мне надо было для одного из объектов, я сохранял значения позишен и ротейшен векторов в массив. Потом я передвигал экземпляр в позицию для следующего объекта, и сохранял позишен и ротейшен с новым индексом, и т.д. А в цикле отрисовки уже обращялся к этим данным по индексу.

2.Если тупо копировать папки и цеплять их к рендеру(что я и делаю)как это повлияет на систему?
Вопроса не понял, какие папки? Если ты имееш ввиду копирование одного и того же объекта несколько раз, то это черевато двумя последствиями. Во первых увеличится вес твоей проги, но это решаемо -- во всех местах где используется одна и та же Object Data разместить ссылки на один ченнел. Вторая проблема -- если у тебя применяется какая то логика к этим объектам, то когда тебе понадобится её изменить ты должен будеш внести одинаковые исправления во всех N копиях. Это может выглядеть пока пустячной проблемой, но потом ты поймёш Улыбающийся

Спасибо, я это учту
redis | ** | Пользователь | Сообщений: 89 | «Ответ #9 28 Июля 2009, 13:43:15 »
Re: Клонирование объектов |
9
Мне вот какой момент интересен: если в проекте будет ну просто не преличное кол-во блоков это сильно повлияеет на производительность ? если да то в процентах можете указать, примерно конешно.
kyard | ** | Пользователь | Сообщений: 76 | «Ответ #10 07 Августа 2009, 15:50:48 »
Re: Клонирование объектов |
10
Похоже ни кто не знает ответ на этот вопрос
Viik | **** | Старожил | Сообщений: 302 | «Ответ #11 07 Августа 2009, 21:52:39 »
Re: Клонирование объектов |
11
В процентах от чего? От веса винчестера на котором храниться проект? )))

Каждый ченел это скомпилрованная функция, чем больше ченелов тем больше вызовов функции, чем больше вызовов функции тем больше нагрузка на проц и память. Как именно и какое количество ченелов повлияет на производительность зависит от самих ченелов и от компа.
Dr.Akula | ** | Пользователь | Сообщений: 68 | «Ответ #12 09 Августа 2009, 11:07:14 »
Re: Клонирование объектов |
12
Всем привет!!!
у меня возник такой вопрос на эту тему
Я хочу зделать простенькую игру, с звездолетам в космасе, что та вроде дендивскай галактики, и застрял на выстрелах.
Хател зделать так, для пули взять кубик привязать к ниму ForLoop, к ForLoop кнопку чтобы кагда нажимаем пуля копировалась перед звездалетам, Motion кубика задать  движение вперед. насловах вроди все проста, а зделать нипалучается.   В замешательстве
Памагитнте плиззз, жилательно примером. Подмигивающий
redis | ** | Пользователь | Сообщений: 89 | «Ответ #13 09 Августа 2009, 16:47:57 »
Re: Клонирование объектов |
13
Вот сдесь я выкладывал пример с ии и там стрельба заодно есть http://guest3d.wohlnet.ru/forum/index.php?topic=764.0 , на мой взгляд если делать каждую пулю отдельным обьектом то потом будет проще коллизию проверять
Dr.Akula | ** | Пользователь | Сообщений: 68 | «Ответ #14 09 Августа 2009, 20:21:42 »
Re: Клонирование объектов |
14
Спасибо!!! супер, почти идеально Смеющийся
Всем рекомендую  Подмигивающий Подмигивающий Подмигивающий Подмигивающий Подмигивающий Подмигивающий 
 
  [1] 2
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Логика > Клонирование объектов
Перейти в: