У статті наведено різні способи фонового сітки моделі.
Спосіб №1: Рендер сітки з допомогою опції Contour в mental ray
Налаштування фонового
1. Перейти у вкладку «Features».
2. Прокрутити її з MMB вниз і розкрити вкладку «Contours».
3. Включити опцію «Enable Contour Rendering».
4. Розгорнути розділ «Draw by Property Difference».
5. Включити опцію «all Around Poly Faces».
Примітка: Для фонового сітки необхідно виконати всі описані вище кроки.
Налаштування Maya 2014
За замовчуванням mental ray в Maya 2014 рендерить зображення за методом «Unified Sampling». Цей метод не підтримує рендер типу Contour, що характерно тільки для Maya 2014.
1. У вкладці Quality в розділі Sampling section увімкніть опцію «Legacy Sampling Mode», щоб контурні лінії почали рендеритись. При цьому Max Sample Level повинен складати 2.
Налаштування матеріалів
1. Для початку створіть Lambert білого кольору і назвіть його «mat_wireframe».
2. Перейдіть в Shading Group, наприклад: «lambert2SG», та перейменувати її в «mat_wireframeSG».
3. Розгорніть розділ «Contours» в розділі mental ray.
4. Увімкніть опцію «Contour rendering», встановіть колір чорний.
5. Призначте об’єкту матеріал і отрендерьте сцену.
6. При необхідності настроїти товщину лінії (зазвичай значення 0.5 виглядає цілком симпатично на рендері).
7. Тепер залишилося тільки застосувати матеріал на необхідні об’єкти, для яких потрібно отрендерить сітку, і натиснути на кнопку Render.
Примітка: Якщо ви рендерите в смуз меш превью (в режимі трієчки), mental ray отрендерит більш складну сітку. У таких випадках необхідно вибрати об’єкт і перейти в режим одинички, так mental ray отрендерит лоупольную версію моделі.
Спосіб №2: Рендер сітки з допомогою команди UV Snapshot
httpvh://www.youtube.com/watch?v=ZUFAtkVJdpg&NR=1
А цей спосіб варто робити тільки по відео. Він досить складний і не дуже логічний, але згадки варто хоча б для загального розвитку.
Спосіб №3: Maya Vector
1. Виділіть необхідні об’єкти та відкрийте налаштування фонового. Зі списку рендереров виберіть Maya Vector.
2. Перейдіть в налаштування рендерера.
3. Відключіть опцію Fill objects.
4. Відключіть опцію Show back faces.
5. Виберіть Include Edges у вкладці Edge Options.
6. Визначтеся з товщиною ребра. Зазвичай значення 0.5 виглядає цілком симпатично на рендері.
7. Виберіть Entire Mesh для Edge Style.
8. Натисніть на кнопку Render.
Спосіб №4: Maya Toon shader
1. Виберіть всі об’єкти і застосуйте до них Toon shader.
2. У налаштуваннях PFXToonShape вимкніть ProfileLines та Border Lines, увімкніть Crease Lines.
3. У вкладці Crease Lines вимкніть Hard Creases Only, для опції Crease Min/Max встановіть значення 0.
4. Визначтеся з товщиною ребра, яка залежить від того, наскільки ваша модель віддалена від камери.
5. Отрендерьте сцену з допомогою Maya Software.
Спосіб №5: Скрипт на Python
Спосіб для лінивих. За допомогою сценаріїв на Python, наведеного нижче, можна швидко і легко отримати такий же результат, як і в першому способі.
import pymel.core as pm import subprocess, os def findRenderCam(): «»» Finds current rendercam or returns «persp» return: Camera «»» for cam in pm.ls(cameras=True): if cam.renderable.get(): return cam pm.PyNode(«persp»).renderable.set(True) return pm.PyNode(«persp») def create_wireframe_RL(name=»wireframe»): «»» Creates wireframe material Creates wireframe layer Adds all geometry and rendercam to the renderlayer name: str layername «»» mat_name = «%s_mat» % name if not pm.objExists(mat_name): matNode = pm.shadingNode(«lambert», n = mat_name, asShader = True) matNode.setColor([1,1,1]) matSGNode = pm.sets(renderable=True, noSurfaceShader=True, empty=True, name=»%sSG» % mat_name ) matSGNode.miContourEnable.set(1) matSGNode.miContourColor.set([0,0,0]) matSGNode.miContourWidth.set(1.5) matNode.outColor >> matSGNode.surfaceShader if not pm.objExists(name): render_layer = pm.createRenderLayer(n = name) render_layer.setCurrent() render_layer.addMembers(pm.ls(geometry = True, cameras = True)) matSGNode.message >> render_layer.shadingGroupOverride def render_wireframe(name=»wireframe»): «»» Renders Renderlayer using Mental Ray Legacy options «»» pm.mel.miCreateDefaultNodes() renderGlobals = pm.PyNode(«defaultRenderGlobals») renderGlobals.currentRenderer.set(«mentalRay») renderGlobals.imageFormat.set(3) #Legacy Options miOptions = pm.PyNode(«miDefaultOptions») miOptions.miRenderUsing.set(2) pm.mel.miSetRenderUsingValue() miOptions.maxSamples.set(2) pm.PyNode(«miDefaultFramebuffer»).contourEnable.set(1) miOptions.contourPriData.set(1) #Camera Set options renderCam = «RENDER_CAM» if not pm.objExists(renderCam): renderCam = findRenderCam() [cam.renderable.set(renderCam == cam.name()) for cam in pm.ls(cameras=True)] pm.editRenderLayerAdjustment(pm.PyNode(renderCam).backgroundColor) pm.PyNode(renderCam).backgroundColor.set([1,1,1]) pm.runtime.RenderViewWindow() #Render Image f = pm.Mayatomr(pv = True, layer=»wireframe») f = os.path.normcase(f) os.system(«open %s» % f) subprocess.Popen(r explorer /select,»%s»‘ %f) #Reset to Unified Sampling miOptions.miRenderUsing.set(0) pm.PyNode(«miDefaultFramebuffer»).contourEnable.set(0) if __name__ == «__main__»: create_wireframe_RL() render_wireframe() |
Журналіст: Альона