У статті наведено різні способи фонового сітки моделі.
Спосіб №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() |
Журналіст: Альона