Редактор 3D-объектов
10.09.2007 Иван ЗыковДля создания простых 3d-объектов не нужно создавать сложного редактора, и поэтому не нужны сотни модификаторов и интерфейсных элементов. В идеале можно обойтись 3-4 инструментами. Сформулировал необходимые требования, текстурирование не учел, это отдельная тема. Если вы видели какие-то удобные фишки в других редакторах, скажите.
Во первых должны быть оси, на основе которых можно будет алигноваться.

Рисование формы объекта. При рисовании линии/простой геометрической формы отображается ее размер. Линии изначально располагаются вдоль осей. При рисовании равносторонняя форма обозначается диагональным пунктиром.

Возможно выделение и выдавливание поверхности. Выдавливаемая поверхность параллельна своему родителю.

При ведении курсором по линиям/граням подсвечивается их центр.

Линия, разрез плоскости ведется параллельно соседним граням, перпендикулярно грани, от которой ведется или снапиться к точкам. Кроме того в снапинге учитываются углы в 90, 45, 30 градусов.


Выделяться для перемещения могут поверхности, линии граней, точки. Их перемещение происходит с учетом осей или соседних граней. Т.е. в этом случае грань перемещается вниз-вверх. Если бы куб был наклонен, то грань перемещалась бы с учетом угла его граней. При близости к соседней параллельной грани они снапятся. Если отпустить кнопку мыши образуют единую грань.

Естественно может выделяться по нескольку точек-граней-поверхностей.


Выдавливание образует новый ряд поверхностей. Для простого увеличения размера поверхность достаточно перетащить. Поверхность можно масштабировать относительно ее центра или любого из углов. В этом случае относительно нижнего правого.

Разрезание поверхностей происходит относительно ее угла наклона. Т.е. линия разреза рисуется на ней.

Несколько соседних поверхностей выдавливаются относительно общего центра. Не имеющие общих граней - каждый относительно своего.

Поверхность и линию можно скопировать и вставить. При соединении плоскости ее точки снапятся к ближайшим точкам. Так же как и грани к граням.

Линии и точки тоже можно выдавливать. При этом они образуют поверхность (треугольник или прямоугольник).

Выдавливание внутрь при пересечении с противоположной стороной объекта образует сквозной проем. В этом случае выдавливания за пределы объекта нет.

И естественно дробление поверхностей на прямоугольники-треугольники автоматическое.

Самое главное в простых 3d-редакторах - снаппинг и алигнование относительно осей и собственных точек, поверхностей и граней.

10.09.2007 в 13:24
Привет! Давно наблюдаю за созданием “Альтернативы”.
По поводу редактора.
10.09.2007 в 13:26
По поводу редактора.
Как вы собираетесь сделать корректные булевы операции?
10.09.2007 в 13:41
>Как вы собираетесь сделать корректные булевы операции?
Их просто не будет.
10.09.2007 в 18:52
На предпоследней картинке, создано отверстие - это и есть булева операция.
Да еще же можно сделать так, что будет пересечение объекта самого себя, придется как то объединять(тоже булева операция)… что тогда? :)
10.09.2007 в 20:23
От себя добавлю: 1. нужны фаски (чтобы имитировать скругленные углы) - можно супер-фаску, чтобы, типа сразу скругление за счет дробления заданным количеством…
10.09.2007 в 20:34
>sergart Says:
Фаски это наше все, но они увеличат кол-во полигонов, что нежелательно. Лучше сделать программную обработку грани или работать текстурой.
>Super Man Says:
Если это реализовано в простых редакторах, то и Вова это сможет, я уверен. Или он это уже сделал, спросить пока не могу.
11.09.2007 в 13:54
Будем надеяться на качественный редактор! ;) Удачи!
11.09.2007 в 13:59
Фаски в части случев будут делаться с использованием smoothing groups, они уже реализованы. В остальных случаях будут промоделиваться или игнорироваться.
12.09.2007 в 14:22
Советую сделать импорт моделей таких как *.3ds, *.obj, *.ma. Но с ограничением полигонов например в 500 треугольников. Просто вы сейчас изобретаете велосипед(мини редактор), а многие люди например умеют моделлить в 3d studio max, Maya и т.д. им будет проще сделать модельку с лимитом в 500 треугольников и просто импортировать через сервер в ваш внутренний формат.
12.09.2007 в 14:27
Хотелось бы подискусиировать по теме “Оптимизация честной Z-сортировки 12.07.2007 Антон Волков” (почему там не отвечают? наверно мотрите только последние темы). Вы меня уж извините я тут недавно… Просто интересный у вас проект.
12.09.2007 в 14:29
>Хотелось бы подискусиировать по теме “Оптимизация честной Z-сортировки 12.07.2007 Антон Волков”
Волкова пока нет. Приедет - подискусиируете :)
12.09.2007 в 14:32
>Просто вы сейчас изобретаете велосипед(мини редактор), а многие люди например умеют моделлить в 3d studio max, Maya
У нас уже есть импортер из 3ds. Что касается mesh-редактора - это лишь малая часть. Модели нужно текстурировать, объединять, держать в библиотеках, скриптовать и пр.
12.09.2007 в 19:03
Ок, буду ждать Волкова :)
На счет импортера это конечно хорошо… но лутше бы побольше форматов(очень удобно) ;)
15.09.2007 в 06:43
Приехал. Подискутировал. :)
16.09.2007 в 11:04
Волкову привет!
Чем дольше смотрю на ваш проект, тем больше дух захватывает.
Мне очень понравилась идея этого редактора. Его простота. Если вы сумеете сохранить ее, то эта может стать стать самоценным популярным проектом и выйти за рамки самой игры, для которой создается.
Глядя на ваше описание редактора, не могу с собой не согласиться! :)
16.09.2007 в 17:50
- 2 шт. пожалуйста. заверните.
Очень многие продукты начинались с куда меньшего функционала.
Вы уж упритесь поплотнее, чтобы стать круче 3д макса.
удачи,
iv
16.09.2007 в 18:33
Прочитав предложение “Если вы видели какие-то удобные фишки в других редакторах, скажите” хотел тут же написать, что по простоте использования идеальным является SketchUp, но прочитав тему внимательнее понял, что у вас практически такой же интерфейс.
Правда, там есть ещё и такая фишка, как выдавливание (вдавливание) линии.
Поэтому отрезание угла там делается в два движения:
1. нарисовать линию на грани;
2. опустить угловую линию.
17.09.2007 в 20:51
мне как-то показали простенький 3д редактор http://www.sketchup.com/ (google).
может он будет вам полезен.
21.09.2007 в 13:15
прям http://www.wings3d.com/
24.09.2007 в 11:36
Да это скетчап и есть. По крайней мере скрин в предыдущем посте очнь напоминает то что получается в нем. И фичи все описанные один в один.
24.09.2007 в 13:46
Wings3D посмотрел. Необычный подход к моделингу. Кое что взял на заметку. Спасибо!
2devilfish: Не удивительно. Иван тяготеет к скетчапу. Поэтому это отразилось на его видении редактора. Многие из нашей команды больше привычны в 3DS MAX, так что, я думаю, финальный редактор будет сочетать в себе разные подходы.
08.02.2011 в 02:49
То что ребята делают вполне понятно и заслуживает уважения. Смысл в том что Adobe уже давно могли встроить аппаратную поддержку во Flash. Это их стратегическое упущение и вот почему:
1) У них громадный рынок.
2) И есть ресурсы.
Но они ступили и теперь быстро навёрстывают упущенное потому как конкуренты наступают на пяты. Например Unity3D там 95% того что сейчас делают ребята из Альтернативы и Adobe уже есть, но вот только рынок Unity3D в сравнении с Adobe детский сад. Посему ребята хотелось бы сказать что вы чертовски угадали тренд!
По поводу редактора хочу добавить что для примера лучше возьмите IDE Unity3D и тогда вы откушаете очень большой кусок рынка у них поскольку множество аниматоров так или иначе умеют работать с Flash, но они вынуждены юзать Unity3D поскольку там уже почти всё что нужно есть. Так обратите внимание на мой пост и удачи вам в нелёгком бою!