Rhinoceros
Учебник по созданию
мышки для компьютера.
Сразу же хочу оговориться, что
пример не мой, а нашего китайского друга Cafer J. http://www.geocities.com/~caferj/.
Поскольку человек китаец, то и учебник на
китайском. Можете представить насколько
достоверно я передаю его слова (точность
формулировок) если учесть, что китайский я вообще
не знаю, то есть совсем! Ну да ничего, картинок
много, да и ничего особо сложного нет! Итак,
вперед!
1. Кликаем на Curve: Interpolate Points и строим
кривую из 4-х точек, как показано на рисунке. |
2. Кликаем на Curve : Edge Tools - Rebuild
и
перестраиваем кривую до 8-ми контрольных точек,
вместо 6-ти. Диалоговое окно показано. |
3. Включаем режим
контрольных точек Control Points on
чтобы проверить преобразование,
выключаем его и делаем зеркальное отражение
построенной кривой Mirror
(желательно при выполнении этой операции и
дальнейших включить режим привязки к сетке Snap), В
данном случае автор рекомендует включить ObjectSnap
по концу об'екта и режим Ortho (перемешения только
по вертикали или горизинтали). |
4. Теперь "скругляем" угол,
получившийся при отражении кривой. Curve - Edge Tools - Match Выбираем в меню
способ обсчета - тангенс и применить к обеим
кривым - Average curves. |
6. Копируем
скорректированную кривую по оси Z на два шага
сетки Copy Скраваем
исходную линию. |
7. Лирическое
отступление: есть такая штука как
"горячие клавиши", так вот, по умолчанию (т.е.
скорее всего и у Вас), F10 - Control Points On, F11 - Control Pointa Off.
Советую запомнить, это гораздо быстрее, чем
кликать мышкой. Ждем F10
(Control points on) и корректируем положение контрольных
точек, обозначенных как 1-5. |
8. Жмем F11 (Control points off) и
делаем зеркальную копию полученной кривой : Не
забудьте включить Snap! |
9, Копируем кривую на один шаг сетки
вверх |
10.Теперь строим арку по
началу, концу и направлению: Arc: Start, End, Direction После
того, как Вы наметите начало и конец дуги (они
совпадают с концами вехней кривой), Rhino предложит
указать глубину выпуклости : Точка 3. Сделайте это
подобно указанному на рисунке. |
11. Ну чтож, теперь настало
время для создания первой поверхности! Строить
мы ее будем при помощи инструмента Loft
. Собственно, кликаем на иконку, долее Rhino
спросит, какие кривые учавствуют в построении.
Кривые нужно кликать в указанной
последовательности, иначе получится каша. Есть
еще один способ, просто выделяем все кривые, а
затем кликаем на иконке. Кстати, так получается в
большинстве случаев. |
12. Визуализируем при
помощи Shade. |
13. Дальнейшие действия
нашего друга китайца предсказуемы, но понять их
невозможно! Ну чтож, попровую об'яснить.
Кликаем на Edit Layers.
Выпадает меню, где наш друг все слои обозвал на
своем родном языке. Если проанализировать ЭТО,
можно предположить, что у нас 5 слоев, активный
верхний (напротив него галочка) и он
единственный, который показавается, остальные
скрыты (on-off). Т.е. все линии построения перенесены
во второй слой и выключены, а поверхность
находится в первом и видна. Кстати, очень
полезная фича, советую юзать ее как можно чаще,
бдет меньше путанницы. |
Лирическое
отступление: Иконка Object
properties используется для задания имени
об'ектам и перемещения их по слоям, свойств
отображения и рендера. Далее показано диалоговое
меню, открываемое после активации этой функции: |
14. Теперь будем строить
боковые и нижнюю поверхности верха мышки. Для
этого выделим нужные ребра, кликнув на Curve : From Objects - Duplicute Edge В
ответ на Ваши действия Rhino предложит указать,
какие именно ребра Вы хотите выделить. Нужно
кликнуть на все ребра (кстати, можно было
использовать Extract Border, но автор есть автор...). |
15.Следующим щагом мы
выделим два боковых ребра и скопируем их на один
шаг решетки вниз (ребра обозначены на рис. как 1 и
2). Далее применяем Loft между
этими ребрами. |
16.Теперь нужно сделать
копию полученной поверхности не меняя ее
положения. Проще всего это сделать применив
следующую комбинацию клавиш: Ctrl+C (копировать) Ctrl+V
(вствить). Далее, по уже описанной схеме одну из
поверхностей перекрашиваем и скрываем,
используя: |
17. Далее, полученные в п.14
ребра об'единяем, используя Join.
Физически эта операция ничего не меняет, просто
дальнейшие операции легче производить с
замкнутым контуром (да и на одну поверхность в
итоге будет меньше - на месте соединения боковых
ребер, при условии, что Вы все до этого момента
сделали верно). Далее копируем об'единенный
контур на один шаг сетки вниз. |
18.Выделяем исходный и
скопированный контуры и кликаем на:. Rhino передтем, как
сделать лофт-поверхность уточнит направление и
начальные точки обхода. В идеальном варианте у
Вас стрелки должны быть друг под другом и в одном
направлении. Если так не получилось (хотя очень
странно), то введите в командной строке A (automatic
flipdirection). Если и это не помогает, то необходимо
кликнуть на одну их точек вектора и передвинуть
на другое место, если направление не сходится, то
в коммандной строке наберите F
(flip - перевернуть) и жмете Enter. Теперь все, кликаем
правой кнопкой мышки и наслаждаемся результатом!
|
Просто наслаждаемся
картиной :) |
19. Об'единяем уже
известной командой кривые, построенные в самом начале урока. |
20.Выделяем два контура,
соответствуюшие низу и верху основания мышки и
применяем Loft. Действия
аналогичны п. 18. |
21. Выделяем полученную
поверхность и применяем модификатор Cap
planar holes (Закрыть плоские дыры).
После его применения образуется плоскость,
закрывающая дно мышки. Верхняя часть не
закроется, потому-что она не плоская. |
22. Все скрываем. Оставляем
только поверхности, образующие верх мышки.
Кликаем на
и попеременно кликаем на все поверхности, так,
чтобы все они стали выделены. Enter. Теперь у нас
один об'ект. |
23. Опять все скываем,
кроме поверхностей, образующих нижнюю часть
мышки. Присвоим им принадлежность к
определенному слою и сделаем его выключенным, в
ближайшее время он нам не понадобится. Можно на
все это дело полюбоваться :) |
24. Теперь будем
моделировать верхнюю часть мышки, т.е. кнопки. Для
этого включаем слой, где у нас находятся
об'единенные поверхности верхней части мышки.
Отделяем только верхнюю поверхность, применив Extract
surface. |
25. В виде Top строим
прямоугольник ,
разбиваем его на одиночные линии explode,
удаляем нижнюю прямую и достраиваем на месте
удаленной прямой дугу ,
как показано на рисунке. Не забудьте при
выполнении данной операции включить ObjectSnap по End и
Point! Далее, когда форма Вас устраивает, об'едените
их и скопируйте на
места предпологаемых кнопок copy. |
26. Теперь нужно
спроецировать построенные контуры на
поверхность. Для этого выделяем все три контура и
кликаем на Project
Curve to Surfase, далее Rhino попросит указать
поверхность, на которую нужно спроецировать: в ответ просто кликните на
поверхности и подтвердите решение (Enter or Right click
mouse). |
27. Отрежем поверхности по
спроецированным линиям. Кликаем на Split,
далее кликаем на поверхность (отрезаемый об'ект),
потом выделяем спроецированные линии
(отрезающий об'ект) и подтверждаем. Удаляем
вырезанные части. |
28.В виде Front, при
включенном ObjectSnap, строим дугу, например справа,
подобно тому, как показано на рисунке -
кликаем на. Далее не
выключая Osnap, копируем дугу в центр и влево.
Следите за Snap! |
29. Теперь заполним
пустоту на месте клавиш. Для этого поочередно для
каждой из трех "кнопок" выделите все кривые,
учавствующие в образовании поверхности, а затем
кликните на Surface - Patch. Выскочит
меню выбора. Поменяйте галочки и введите цифры,
как показано на рисунке, затем нажмите OK.
Построится поверхность. |
Теперь можно уменьшить
вписанные поверхности операцией Shrink Trimmed Sarface. |
30. В чем смысл этой операции понять
достаточно просто, проделав следующее: выделите
поверхности и нажмите F10 - появятся контрольные
точки. Далее кликайте на
Surface - Edit Tools - Shrink Trimmed Sarface. Укажите
поверхность. Контрольные точки сожмутся, т.е.
патч, образованный в предыдущем пункте,
уменьшится в размерах. |
Можно посмотреть на
полученный результат.
Здорово! Но нам нужно большее, давайте продолжим! |
Теперь будем
использовать инструмент Extend Curve. |
31. Для дальнейших
операций нам понадобится немного вытянуть
спроектированные кривые. Для этого кликаем на
Curve - Extend - Extend Curve, далее поочередно
выделяем кривые и вытягивем их на примерно
одинаковое расстояние, точность значения не
имеет! |
32. Теперь к вытянутым кривым применяем
достаточно интересный модификатор: Solid
- Pipe. Кликаем на иконке, указываем
кривую (по одной), в командной строке вводим
диаметр (в нашем случае 0.3), нажимаем Enter и
подтверждаем выполнение операции. |
33. После того, как мы
создали трубы, отрезаем то, что находится внури
нах. Кликаем на ,
указываем поверхность, которую нужно резать (это
верх мышки -1), затем отрезающий об'ект (это трубы
-2), подтверждаем операцию. |
34. Проделываем предыдущий пункт, но для всех
трех поверхностей, соответствующих кнопкам
мышки (отрезаемая поверхность -3, отрезающий об'ект
- 4). |
35. Удаляем отрезанные
поверхности. |
36. При выполнении
операции Split, иногда результирующие ребра не
представляют единое целое, что мешает выполнению
многих модификоторов. Единственное решение -
срастить разбитые ребра. |
Merge Edge - модификотор,
сращивающий ребра, достать его можно здесь: |
37.Для того, чтобы понять,
какие из ребер нухно перестроить, можно кликнуть
на Show Edges (иконка
расположена на том же меню Edge Tools), Rhino покажет Вам
все ребра поверхности, причем на некоторых будут
точки. Это и есть места разбитых ребер. Кликаем на
Analyze
- Edge Tools - Merge Edge, Rhino попросит указать
ребра, просто кликаем на нужных, если таковых не
осталось, выход из режима - Esc. |
38. Теперь можно смело
применять Surface - Blend . Кликаем на
иконке и выделяем ребра (первая пара 1 и 2), но не
спешите подтверждать действие, идем дальше! |
??:
Операция Surface - Blend имеет параметров: Section
and Degree. Нас интересует первый. Для
выбора редактирования PlanarSections
нужно в командной строке ввести P и указать Start
and End of line parralel to planar Sections (начало и
конец линии, паралельной к плоской секции). Вам
нужно просто кликнуть на ближних концах кривых,
учавствующих в операции. |
39. Применяем ко всем трем парам
кривых, с соблюдением условий, описанных выше. |
40.Об'единяем поверхности операцией и любуемся на полеченный результат . Совсем другое дело!!! |
41. Теперь попробуем
сформировать фронтальную плоскость мышки. Для
этого стороим дугу, поворяющую контур
предпологаемой поверхности. |
42. Вытягиваем построенную
дугу вверх, на растояие, превышающее высоту мышки
(предварительно раскрыв весь корпус мышки) Extrude
Straight. |
43. Теперь хотелось бы
отрезать несколько поверхностей по этой
плоскости. Самый простой способ - применить
булевскую операцию, но для этого нужно знать
направление нормалей у исходной плоскости.
Проверить это можно с помощью оператора DIR .
Направление белых стрелок и есть направление
нормалей. Нам необходимо, чтобы номали смотрели
по направлению к мышке, Скорее всего у Вас все
правильно, но если это не так, введите в командной
строке F , после
чего нормали перевернуться, затем нажмите Enter.
Скопируйте плоскость Ctrl-c + Ctrl-v. |
44. После того, как мы
проверили правильность учавствующих в операции
об'ектов, можно применить Boolean Difference.
Кликаем на , далее на
верхней части мышки, потом на плоскости,
подтверждаем действие. Повторить тоже с низом
мышки. |
?
45. Так, приступим к
приукрашиванию поверхностей. Для начала кликаем
на
Solid - Fillet Edge , выделяем ребра, в
командной строке вводим величину скругления -
0.28 и жмем Enter. |
Должно получиться так,
как показано на скриншоте: |
Любуемся на результат: |
46. Чтож, пора отделить
кнопки! Кликаем на , строим прямоугольник (1), длинна не имеет
значения, а ширина подбирается по-вкусу. Копируем
прямоугольник, вращаем и размещаем так, как
показано (примерно). |
47.Вытягиваем
прямоугольники . |
48. Вырезаем ненужное,
применив булевское вычитание (разность): в следующей
последовательности: Вырезаем (1) из всего, затем (2
и 3) из отрезанной передней части. |
49. Переходим к
доделыванию нижней части корпуса мышки. Кликаем
на Выделяем ребра (1 и2),
вводим в командной строке величину сглаживания
0.3, два раза подтверждаем операцию. |
50. Вытягиваем кривые у
основания мышки на небольшое расстояние: . (Если Вы их уже
убили, скопируйте ребро у основания Dublicate
Edge) |
51.При включенном ObjectSnap (End),
строим окружность на конце кривой Circle around Curve, кликаем на
иконку, далее на центре окружности (конец кривой),
вводим радиус 0,.5, жмем Enter. |
52. Так, теперь размножим
построенную окружность вдоль кривой
инструментом Array along Curve.
Кликаем на иконку, затем указываем исходый об'ект
(1), правый клик мышки, клик по пути (2), снова правый
клик, в выпадающем меню указываем количество
копий -3, ОК. |
53. Выделяем среднюю
окружность, немного увеличиваем ее Scale
3D в виде справа. |
54. Okay, теперь все готово
для построения поверхности. Кликаем на
Surface - Sweep 1 Rail, указываем путь (1), затем
кликаем поочередно на окружности (2-3-4), правый
клик мышки. Подгоняем векторы если нужно, правый
клик.. |
55. На выпадающей менюшке
ничего не меняем, Ок |
56. Отделяем боковые и
нижнюю плоскости Extract Surface.
Применяем Split между отделенными
поверхностями, где отрезающий об'ект -
сформированная из окружностей поверхность (2). |
57. Удаляем все ненужное
так, чтобы в результате осталось то, что видно на
рисунке: |
58. Выделяем ребра, которые
показаны на следующем рисунке: Duplicate
Edges. |
59. Об'единяем кривые
операцией . Смысл в
том, чтобы верхняя, нижняя и соединяющие их
кривые представляли собой единое целое (четыре
единых кривых в итоге). |
60. К подготовленным
кривым применяем Surface - Sweep 2
Rail, где направляющие (1-2), а профиль (3-4),
номера соответствуют порядку кликания по кривым. |
61. Об'единяем поверхности и применяем к ребрам, составляюших
контур нижней плоскости мышки, величини
сглаживания -0.3. |
62. Любуемся :))) |
63. Перемещаем нижнюю
часть мышки. Кликаем на , далее где-то поблизости к об'екту, вводим
величину смещения 0.15, правый клик, задаем
направление смещения - вверх, правый клик. |
Ну, вот, все и готово!
Можно еще раз полюбоваться! |
Вот что получается после
экспорта в 3DSMAX и последующего рендера. |
А это моя работа, рендер
в Rhino :). Как видите все реально! |
DenziL ,2000
Ваши отзывы и предложения слать мылом denzil@tomcat.ru