Need a 3D artist to produce some product models

Hi,

We need a modeller to create a 3D model of a mug for us with an image mapped onto the front and back of the mug as per the below image. The size of the image will typically be 600x700px and the same image will appear on both the front and back of the mug.

We will be exporting the resulting model into Panda3D so we can use a Python script to load the model, switch in a different texture image each time we render the model, render the model and then output a picture of the resulting rendered image. If you’ve got experience of using Panda3D in this way (or any other 3D rendering engine that can run in a headless Linux environment, as we’ll be using dedicated render nodes that we don’t want to install X11 onto) then that would be a huge bonus. I’ve included the sample code we’ve been using to give an idea of the sort of thing we’ll be doing:

import direct.directbase.DirectStart
from pandac.PandaModules import *
from panda3d.core import Texture
from panda3d.core import BillboardEffect
from panda3d.core import Camera
from panda3d.core import TextNode
from direct.gui.OnscreenText import OnscreenText
from direct.showbase.DirectObject import DirectObject
from direct.task.Task import Task
 
class MyApp(DirectObject):
 
    def __init__(self):


        m = loader.loadModel("mug_1.egg")
        m.reparentTo(render)        
        
        plight = DirectionalLight('plight')
        plight.setColor(VBase4(0.8, 0.8, 0.8, 1))
        plnp = render.attachNewNode(plight)
        plnp.setPos(100,-150,10)
        plnp.lookAt(m)
        render.setLight(plnp)


        alight = AmbientLight('alight')
        alight.setColor(VBase4(0.5, 0.5, 0.5, 1))
        alnp = render.attachNewNode(alight)
        render.setLight(alnp)
        
        tex = loader.loadTexture('ttu.png')
        tx = TextureStage('poster')
        tx.setMode(TextureStage.MReplace)
        m.setTexture(tex,1)
        
#        base.disableMouse()
        camera.setPos(10,0,20)
        camera.setY(camera,-100)
        
        base.graphicsEngine.renderFrame()
        base.win.saveScreenshot("screenshot_1.jpg")
app = MyApp()
run()




If this works out we’ll likely want to commission further 3D models such as t-shirts, coasters, iphone cases and suchlike which will behave in a similar way.

Thanks!

Andrew

What will this be used in? Game, website, etc.?

Hi Andrew,
you know that you can run blender in headless mode as well?

blender --background --python myscript.py

You can prepare a scene in blender and just change the material texture and render in the script.

This is a 3D printed cup I’ve made for my cousin, with an image mapped and embossed



if you want I can provide the blender script

I’d like to apply for the modelling position.

Here is our web portfolio.

www.studioegan.com

I didn’t realise Blender could be run headless - that might be a simpler way to do things than have to use an additional library. I’m no 3D artist but I’d be very interested in seeing the script so I can have a play - thanks!

Andrew

Andrew,

Here’s my thoughts…

Yes, you can run blender without a user interface to render images. I’m thinking that’s what you mean by ‘headless’. Sticking with blender and it’s cycles render engine will give you better results than panda3D could. Panda3D is a game engine, it will render images fast, but not as realistic like blender’s cycles renderer will. Here is the trade off: fast render = less quality, slow render = better quality. So what do you need?

Since you are running linux, make sure the artist you hire has linux experience, windows only users might have problems with this project, because of file name/paths are different between the two operating systems.

A python script, within the .blend file can handle all the renders you need. A simple script, where you, the end user, would have to edit file names for the textures, would be easy to write. A script that would have a UI to set up the textures within blender, would require more programming. Since you appear to be a linux user, opt for the first option, and just edit a file changing the texture names as needed.

So I grabbed a coffee cup that I made before, tweaked it a bit, added a texture, and did a quick product style render. About an hour of work.


Yes, I do have linux experience and would develop this on a linux machine, so it would work ‘right out of the box’. I have written several custom python scripts for my own usage, but never one to handle this switching of textures. I think the script you’ll need would be easy to write, but I haven’t written one yet…

If interested in my skills, please respond…

Randy

Hi, I have already done python script for batch rendering texture previews in cycles. Assuming that only images are changing I can provide almost realtime solution for photorealistic rendering of cup.

Regards,
ziel

I dont think you would actually need to re-render the mug each time you swap out the logo. Using render passes and material indexes, I believe, you can just simply swap out the image in the compositing stage. Pretty sure anyway…

Yeah, that’s what I meant.

Thanks to everyone that has replied or PM’d me so far. If I haven’t personally responded to you then please don’t take offense!

Andrew