Render.ru

Подскажите что я делаю не так.

twice2005

Активный участник
Рейтинг
5
#1
Что бы селать внешнюю стену здания,
Делаю контур с использованием PE Courve (для получения входных арок), потом дублирую контур переношу внутрь на толщину стены и выполняю Loft, затем формирую внешнюю и внутреннюю поверхность стены с помощью Planar. Внешняя поверхность формируется нормально, при формировании внутренней (по второму контуру) Maya 6.0 выдает ошибку:
Error: planar Trim Surface 8 (Planar Trim Survace Node): failed to compute the result.
В результате в Outliner появляется поверхность в свойствах которой в размерах стоят нули, поверхность не отображается в окнах проекций.
Провел еще эксперимент, удалил внутренний контур с поверхностью и снова сделал копию внешнего контура, выполнил Planar, поверхность создалась нормально, затем я созданную поверхность и контур начинаю перемешать внутрь здания, для формирования внутренней поверхности стены и в некоторый момент она изчезает и появляется вышеуказанная ошибка.
Подскажите что я делаю не так.
Система Win XP SP2, P4 3,2 2Gb, ATI Radeon Mobility x600.
 

twice2005

Активный участник
Рейтинг
5
#2
Хочу попробовать такой прием:
One thing a lot of the books don' t tell you is to delete the history on the curves after you rebuild them, or close them, etc. And if you have duplitace with instancing on, it might be causing the problem also. I just basically drew what you have there with using only one curve. Then I closed the curve, duplicated it, deleted history on both curves and then lofted and planar. No trim surfaces either, although it's okay since the object doesn't deform.

http://forums.cgsociety.org/showthread.php?t=39792&highlight=planar+trim+curves
 

twice2005

Активный участник
Рейтинг
5
#3
Вот похоже ответ на вопрос про Planar Trim
http://forums.cgsociety.org/showthread.php?t=87322
 

malbred 8555

Активный участник
Рейтинг
5
#4
сложно читать так... Ты кинь картинку того, что нужно получить,
И если тебе не принципиален способ получения такого объекта, то тогда можно написать как такое сделать
 

malbred 8555

Активный участник
Рейтинг
5
#5
file -f -new;
// Result: ./untitled //
CreateNURBSSquare;
nurbsSquarePreset(0,0,0,0,0,1,0,1,1,1,3,1);
nurbsSquare -c 0 0 0 -nr 0 1 0 -sl1 1 -sl2 1 -sps 1 -d 3 -ch 1 ; objectMoveCommand;
CreateNURBSCircle;
circle -c 0 0 0 -nr 0 1 0 -sw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;
scale -r 0.283813 0.283813 0.283813 ;
move -r 0 0 0.0905894 ;
hilite nurbsCircle1 ;
hilite -u nurbsCircle1 ;
select -r nurbsCircle1 ;
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 20 -d 3 -tol 0.01 "nurbsCircle1";
// Result: nurbsCircle1 rebuildCurve1 //
// Undo: doMenuNURBComponentSelection("nurbsCircle1", "controlVertex")
// Undo: rebuildCurveCallback OptionBoxWindow|formLayout64|tabLayout2|formLayout66|tabLayout3|columnLayout79 1 ""
select -r nurbsCircle1.ep[3:5] ;
doDelete;
// Undo: doDelete
select -cl ;
select -r nurbsCircle1.ep[2] nurbsCircle1.ep[6] ;
DetachCurve;
detachCurve -ch 1 -cos on -rpo 1 nurbsCircle1.ep[2] nurbsCircle1.ep[6];
// Result: detachedCurve1 nurbsCircle1 detachCurve1 //
select -cl ;
select -r nurbsCircle1 ;
doDelete;
select -r detachedCurve1 ;
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 12 -d 3 -tol 0.01 "detachedCurve1";
// Result: detachedCurve1 rebuildCurve1 //
hilite detachedCurve1 rebuildCurve1 ;
select -r detachedCurve1.cv[0] detachedCurve1.cv[14] ;
move -r 0 0 0.411142 ;
select -d detachedCurve1.cv[0] detachedCurve1.cv[14] ;
hilite -u detachedCurve1 ;
select -r detachedCurve1 ;
performRebuildCurve( 0, "");
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 12 -d 3 -tol 0.01 "detachedCurve1";
// Result: detachedCurve1 rebuildCurve2 //
// Result: performRebuildCurveSet 1 1 0 0.01 12 3 1 0 0 1 0 1 0.05 //
hilite detachedCurve1 rebuildCurve2 ;
select -d ;
hilite -u detachedCurve1 ;
select -r detachedCurve1 ;
// Undo: SelectToggleMode
// Undo: SelectToggleMode
// Undo: RepeatLast
// Undo: SelectToggleMode
// Undo: move -r 0 0 0.411142
select -r detachedCurve1.cv[0:1] detachedCurve1.cv[13:14] ;
move -r 0 0 0.103932 ;
select -r detachedCurve1.cv[0] detachedCurve1.cv[14] ;
move -r 0 0 0.302625 ;
select -d detachedCurve1.cv[0] detachedCurve1.cv[14] ;
hilite -u detachedCurve1 ;
select -r detachedCurve1 ;
performRebuildCurve( 0, "");
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 12 -d 3 -tol 0.01 "detachedCurve1";
// Result: detachedCurve1 rebuildCurve2 //
// Result: performRebuildCurveSet 1 1 0 0.01 12 3 1 0 0 1 0 1 0.05 //
select -r topnurbsSquare1 ;
hilite topnurbsSquare1 ;
// Warning: Edit UV Mode is not enabled on topnurbsSquare1. UVs will not be selectable. //
// Warning: Edit UV Mode is not enabled on topnurbsSquare1. UVs will not be selectable. //
// Warning: Edit UV Mode is not enabled on topnurbsSquare1. UVs will not be selectable. //
hilite -u topnurbsSquare1 ;
select -r topnurbsSquare1 ;
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 4 -d 3 -tol 0.01 "topnurbsSquare1";
// Result: topnurbsSquare1 rebuildCurve3 //
select -r topnurbsSquare1.ep[2] ;
doDelete;
select -r topnurbsSquare1.ep[2] ;
move -r -0.0305682 0 0 ;
select -r topnurbsSquare1.ep[1] ;
move -r 0.0320966 0 0 ;
select -cl ;
select -r topnurbsSquare1.ep[1:2] ;
DetachCurve;
detachCurve -ch 1 -cos on -rpo 1 topnurbsSquare1.ep[1] topnurbsSquare1.ep[2];
// Result: detachedCurve2 detachedCurve3 topnurbsSquare1 detachCurve2 //
// Undo: DetachCurve
select -r topnurbsSquare1 detachedCurve1 ;
select -cl ;
select -r topnurbsSquare1 ;
// Undo: select -r topnurbsSquare1
// Undo: select -cl
// Undo: select -r topnurbsSquare1 detachedCurve1
select -r topnurbsSquare1 detachedCurve1 ;
select -r topnurbsSquare1 ;
// Warning: Some items cannot be moved in the 3D view. //
select -r topnurbsSquare1.u[0.799726868363119] ;
// Undo: select -r topnurbsSquare1.u[0.799726868363119]
select -r topnurbsSquare1.ep[2] ;
DetachCurve;
detachCurve -ch 1 -cos on -rpo 1 topnurbsSquare1.ep[2];
// Result: detachedCurve2 topnurbsSquare1 detachCurve2 //
select -r topnurbsSquare1.ep[1] ;
DetachCurve;
detachCurve -ch 1 -cos on -rpo 1 topnurbsSquare1.ep[1];
// Result: detachedCurve3 topnurbsSquare1 detachCurve3 //
select -r detachedCurve3 ;
doDelete;
select -r detachedCurve1 detachedCurve2 ;
hilite detachedCurve1 detachedCurve2 ;
select -r detachedCurve1.ep[12] detachedCurve2.ep[0] ;
// Error: No curves selected to attach. You must select pairs of curves. //
select -d detachedCurve1.ep[12] detachedCurve2.ep[0] ;
hilite -u detachedCurve1 detachedCurve2 ;
select -r detachedCurve1 detachedCurve2 ;
hilite detachedCurve1 detachedCurve2 ;
select -r detachedCurve1.cv[14] detachedCurve2.cv[0] ;
// Error: No curves selected to attach. You must select pairs of curves. //
// Error: No curves selected to attach. You must select pairs of curves. //
select -d detachedCurve1.cv[14] detachedCurve2.cv[0] ;
hilite -u detachedCurve1 detachedCurve2 ;
select -r detachedCurve1 detachedCurve2 ;
select -cl ;
select -r detachedCurve1 detachedCurve2 ;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1" "detachedCurve2" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve1 attachCurve1 //
select -cl ;
select -r detachedCurve2 ;
doDelete;
select -r detachedCurve1attachedCurve1 ;
select -r topnurbsSquare1 detachedCurve1 detachedCurve1attachedCurve1 ;
AttachCurve;
// Warning: Only 2 curves should be selected to attach. The last 2 selected curves will be used. //
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1" "detachedCurve1attachedCurve1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2 attachCurve1 //
// Undo: RepeatLast
select -cl ;
select -r topnurbsSquare1 detachedCurve1 detachedCurve1attachedCurve1 ;
// Warning: Only 2 curves should be selected to attach. The last 2 selected curves will be used. //
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1" "detachedCurve1attachedCurve1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2 attachCurve1 //
// Undo: AttachCurve
select -cl ;
select -r detachedCurve1 ;
select -tgl topnurbsSquare1 ;
AttachCurve;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1" "topnurbsSquare1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2 attachCurve1 //
select -tgl rightnurbsSquare1 ;
AttachCurve;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1attachedCurve2" "rightnurbsSquare1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2attachedCurve1 attachCurve2 //
select -tgl bottomnurbsSquare1 ;
AttachCurve;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1attachedCurve2attachedCurve1" "bottomnurbsSquare1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2attachedCurve1attachedCurve1 attachCurve3 //
select -tgl leftnurbsSquare1 ;
AttachCurve;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1attachedCurve2attachedCurve1attachedCurve1" "leftnurbsSquare1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1 attachCurve4 //
select -tgl detachedCurve1attachedCurve1 ;
AttachCurve;
attachCurve -ch 1 -rpo 0 -kmk 1 -m 0 -bb 0.5 -bki 0 -p 0.1 "detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1" "detachedCurve1attachedCurve1" ;
// Warning: Doing attach with history on may result in odd behaviour in the future when the objects are modified. //
// Result: detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1attachedCurve1 attachCurve5 //
move -r 0 0 -0.0601959 ;
move -r -0.364938 0 0 ;
select -r detachedCurve1 ;
pickWalk -d up;
// Result: detachedCurve1 //
doDelete;
select -r detachedCurve1attachedCurve1 ;
doDelete;
select -r detachedCurve1attachedCurve2 ;
doDelete;
select -r detachedCurve1attachedCurve2attachedCurve1 detachedCurve1attachedCurve2attachedCurve1attachedCurve1 detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1 ;
doDelete;
select -r leftnurbsSquare1 ;
doDelete;
select -r topnurbsSquare1 rightnurbsSquare1 ;
doDelete;
select -r bottomnurbsSquare1 ;
doDelete;
select -r detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1attachedCurve1 ;
extrude -ch true -rn false -po 0 -et 0 -upn 1 -length 1 -rotation 0 -scale 1 -dl 3 "detachedCurve1attachedCurve2attachedCurve1attachedCurve1attachedCurve1attachedCurve1" ;
// Result: extrudedSurface1 extrude1 //
select -r extrudedSurface1 ;
select -r extrudedSurface1 ;
// Warning: Some items cannot be moved in the 3D view. //
select -r extrudedSurface1.v[0.991997377078379] ;
planarSrf -ch 1 -d 3 -ko 0 -tol 0.01 -rn 0 -po 0 "extrudedSurface1.v[0.991997377078379]";
// Result: planarTrimmedSurface1 planarTrimSurface1 //
select -r extrudedSurface1 ;
select -r extrudedSurface1 ;
hilite extrudedSurface1 ;
hilite -r extrudedSurface1 ;
hilite -u extrudedSurface1 ;
select -r extrudedSurface1 ;
hilite extrudedSurface1 ;
hilite -u extrudedSurface1 ;
select -r extrudedSurface1 ;
// Warning: Some items cannot be moved in the 3D view. //
select -r extrudedSurface1.v[0] ;
Planar;
planarSrf -ch 1 -d 3 -ko 0 -tol 0.01 -rn 0 -po 0 "extrudedSurface1.v[0]";
// Result: planarTrimmedSurface2 planarTrimSurface2 //
Незнаю то или не то 8)
 

hermione

Активный участник
Рейтинг
5
#7
twice2005, я начала изучать майю недавно, так вот наткнулась на подобное.
Правда у меня наоборот: не рисуется наружный планар, а внутренний - на месте...:((
Перенесла кривые на некоторое расстояние от стен комнаты (т.е. контуры просто висят в воздухе), так вот: в одном месте простаранства оба планара по кривым строятся, а в другом - нет. Пока еще не поняла, в чем фишка...
 

twice2005

Активный участник
Рейтинг
5
#8
Вчера то же самое получилось в 7 Мая, по первому контуру создает планар, по второму получается плоскость (видна в оутлайнере)но если посмотреть ее свойства там в размере стоят нули.
Могу показать картинку на которой видна возникшая ситуация, неужели никто не знает как победить?
 

hermione

Активный участник
Рейтинг
5
#9
twice2005 Написал:
-------------------------------------------------------
> Вчера то же самое получилось в 7 Мая, по первому
> контуру создает планар, по второму получается
> плоскость (видна в оутлайнере)но если посмотреть
> ее свойства там в размере стоят нули.
> Могу показать картинку на которой видна возникшая
> ситуация, неужели никто не знает как победить?

У мя получилось так:
Раньше я строила часть точек кривой с "привязкой к точке" (придерживая кл. V) а часть с "привязкой к сетке" (придерживая кл. X). Так было указано в самоучителе.
Потом попробовала всю кривую строить с "привязкой к сетке". В итоге планары без проблем построились...
 

twice2005

Активный участник
Рейтинг
5
#10
Я тоже строил с привязкой к сетке потому что так проще добиться прямых линий. Завтра выложу саму сцену. Вообще замотало это шаманство, вместо того что бы моделить сидишь и решаешь кроссворды. Может конечно руки кривые, но когда я учился фотошопу такого не было.
А с экструдией наличников у тебя получилось? У меня например внизу получились утолщения, да и сами наличники к низу (к полу ) расширяются, причем и в учебных примерах такая же фигня. Попытался скорректировать основание маштабированием точек в режиме vertex, после этого начал выдавать предупреждение что профиль по которому строится наличник находится не на кривой (пути по которому строиться наличник) утолщения внизу так и не смор победить.
 

hermione

Активный участник
Рейтинг
5
#11
twice2005 Написал:
-------------------------------------------------------
> А с экструдией наличников у тебя получилось? У
> меня например внизу получились утолщения, да и
> сами наличники к низу (к полу ) расширяются,
> причем и в учебных примерах такая же фигня.
> Попытался скорректировать основание
> маштабированием точек в режиме vertex, после этого
> начал выдавать предупреждение что профиль по
> которому строится наличник находится не на кривой
> (пути по которому строиться наличник) утолщения
> внизу так и не смор победить.

Наличник получился с первого раза...
Правда не поняла как его приставить к двери идеально, кроме как вручную тянуть по оси. Я думаю должна быть какая-то функция, чтобы его сразу вплотную придвинуть к стене. А то вручную - можно чуть недодвинуть или наоборот...
 

twice2005

Активный участник
Рейтинг
5
#14
Отключение истории не помогло. Сцена здесь:
twice2005@mail.ru
pass: twice
Странно что другие не сталкивались с такой проблемой, неужели только у меня ручки кривенькие :)
 
Рейтинг
34
#15
Хмм....странно, но только что убил твою копию кривой, сделал свою, отодвинул, сделал планар. Твоя вторая кривая почему-то не давала его сделать, причина непонятна...
 

twice2005

Активный участник
Рейтинг
5
#16
Значит твое дублирование кривой отличается от моего. Я вчера пробовал продублировать кривую отключив историю, не помогло. Сегодня еще посмотрю hypergraph. Вчера прочитал что планар строится только по "новой" кривой, возможно что то в параметрах копирования, может где то связь или история создания сохраняется. Без решеня этой проблемы нет смысла дальше работать.
 
#17
Ко всему вышесказанному:
1. Продолжать работать смысл есть всегда!
2. При ближайшем рассмотрении вашей проблемы выяснилось следующее:
Если взять курву, с которой не считается результат и потягать ея взад вперед, обнаружится, что результат периодически возникает... (то же самое, кстати, и с первой кривой) Это бывает в двух случаях (во всяком случае по моим данным) ,первое если контрольные пойтны расположены не пленарно, и второй случай, если два или более пойнта находятся в одних координатах. В этом случае MAYA пытается оттриммить сурфейс по сегменту курвы, имеющему нулевую длину, что и приводит к некорректным результатам (хотя, строго говоря, это ошибка не фатальная, и во многих случаях позволительная). Выход довольно прост.
Первый. Избавиться от некорректных кривых, построив нормальные.Для этого надо попытаться понять идеологию майских кривых. MAYA позволяет легко и непринужденно строить кривые ЛЮБОЙ формы корректно.
Второй. Если в лом изучать MAYA подробно, то в твоем случае можно дублировать не кривую и строить по ней пленар, а сдублировать сам сурфейс или сдублировать кривую, построить пленар, подвигать её по одной оси до получения результата, выделить результат и убить историю. То же выход. Но очень сильно советую все-таки изучить приемы работы с майскими курвами, дабы не обретать не нужных проблем в будущем. Удачи!
 

twice2005

Активный участник
Рейтинг
5
#18
Я тоже вчера пытался установить закономерность двигая кривую, к сожалению выявить закономерность мне не удалось. Что неккоректного может быть в построении кривой? Строю по привязкам к сетке, прямые углы по трем четырем точкам, замыкаю кривую с помощью Curve Open/Close, строю в одной проекции (т.е. в одной плоскости) большего в книжке я не нашел.
"Это бывает в двух случаях (во всяком случае по моим данным) ,первое если контрольные пойтны расположены не пленарно, и второй случай, если два или более пойнта находятся в одних координатах. В этом случае MAYA пытается оттриммить сурфейс по сегменту курвы, имеющему нулевую длину, что и приводит к некорректным результатам (хотя, строго говоря, это ошибка не фатальная, и во многих случаях позволительная)" Можно это пояснить, я еще не освоил терминологию настолько хорошо что бы это понять. Как контрольные точки не находятся на одной плоскости если я строил кривую в одной проекции? Что значит что точки находятся в одних координатах? Как сегмент кривой может иметь нулевую длину? И почему это зависит от перемещения кривой в одной плоскости (вдоль одной оси координат)
 

Seerge

Активный участник
Рейтинг
19
#19
возможно проблема как раз в том, что ты ее open/close, потому что:

"A periodic curve is also a loop with a seam, but it has two unseen spans at the end of the curve that overlap the first two spans. The unseen spans help maintain continuity along the seam.
For example, suppose you create a circle primitive with four spans (sections). A circle primitive is a periodic curve. If you display the circle's edit points, you'll see only four spans. There are actually six spans, but the last two overlap the first two."

Автор: help

Т.е. если у нас кривая периодическая, то она вовсе не закрыта наглухо. Майя просто перекрывает начальный и конечный сегменты еще дополнительными. Посему и проблема может быть, если у тя кривая периодик.

 
Сверху