Message 1 of 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi,
I'm trying to create a script what projects a texture from a mesh to a target mesh ( the two mesh have different UV ). The script usually bakes a red texture, however if I bake a texture manually and after this try execute the script it creates the correct texture.
I use Scanline Renderer to render the texture.
Could somebody help me with this issue?
-- Initialize Variables
oldMesh = selection[1] -- $House
newMesh = selection[2] -- $House_New
size = 1024
diffTexName = (getDir #export + "\\" + newMesh.name + "_D.jpeg")
-- Add Tesselation
addModifier newMesh (tessellate()) ui:on
tess = newMesh.modifiers[#Tessellate]
tess.faceType = 1
tess.tension = 0
tess.iterations = 1
-- Set The Renderer To Scanline
myRenderer = Default_Scanline_Renderer()
renderers.current = myRenderer
myRenderer.shadows = false
-- Create Diffuse Map
be1 = diffusemap()
be1.fileType = diffTexName
be1.fileName = filenameFromPath diffTexName
be1.outputSzX = be1.outputSzY = size -- set the size of the baked map
be1.filterOn = true -- enable filtering
be1.shadowsOn = false -- disable shadows
be1.lightingOn = false -- disable lighting
be1.enabled = true -- enable baking
-- Setup BakeProperties
newMesh.INodeBakeProperties.removeAllBakeElements()
newMesh.INodeBakeProperties.addBakeElement be1
newMesh.INodeBakeProperties.bakeEnabled = true -- enabling baking
newMesh.INodeBakeProperties.bakeChannel = 1 -- channel to bake
newMesh.INodeBakeProperties.nDilations = 8 -- expand the texture a bit (padding)
-- Add Projection Modifier
addModifier newMesh (Projection()) ui:on
AddPModObjects newMesh false false objList:#(oldMesh)
newMesh.modifiers[#Projection].resetCage()
newMesh.modifiers[#Projection].displayCage = true
newMesh.modifiers[#Projection].pushValue = 0.025
newMesh.modifiers[#Projection].pushCage 0.025
newMesh.modifiers[#Projection].MapChannel = 1
newMesh.INodeBakeProjProperties.enabled = true
-- Bake Texture
select newMesh
render rendertype:#bakeSelected vfb:off progressBar:true outputSize:[size,size]
-- Remove Projection
for index = newMesh.modifiers.count to 1 by -1 do
if ((classOf newMesh.modifiers[index]) == Projection) do
deleteModifier newMesh index
Solved! Go to Solution.