Puybaret
Expert
France
Joined: Nov 7, 2005
Post Count: 9423
Status:
Offline
|
|
Re: Simulate sun position and lights/shadows
|
is it possible to simulate the sun position, according to the date and time, and have the lights/shadows visible in the house? No yet
Is it possible to implement such feature through the plugins mecanism? You could create a plugin based on the existing PhotoPanel and PhotoRenderer classes, then change the sundir direction depending on your wish. If you want to see where will go the sun through window panes, you should also modify PhotoRenderer class in such a way it doesn't create any SunFlow object for panes because SunFlow isn't able to compute light going through panes yet. This can be achieved easily. At line 313, replace:
if (appearance != null) { texCoordGeneration = appearance.getTexCoordGeneration(); appearanceName = "shader" + uuid; boolean mirror = shapeName != null && shapeName.startsWith(ModelManager.MIRROR_SHAPE_PREFIX); exportAppearance(appearance, appearanceName, mirror, noConstantShader); }
by :
if (appearance != null) { if (shapeName != null && shapeName.startsWith(ModelManager.WINDOW_PANE_SHAPE_PREFIX) && isDoorOrWindowChild(shape)) { return; } texCoordGeneration = appearance.getTexCoordGeneration(); appearanceName = "shader" + uuid; boolean mirror = shapeName != null && shapeName.startsWith(ModelManager.MIRROR_SHAPE_PREFIX); exportAppearance(appearance, appearanceName, mirror, noConstantShader); }
and add the following method:
/** * Returns <code>true</code> if the given <code>node</code> * is a part of a door or a window. */ private boolean isDoorOrWindowChild(Node node) { Object userData = node.getUserData(); if (userData instanceof HomePieceOfFurniture) { return ((HomePieceOfFurniture)userData).isDoorOrWindow(); } else { Node parent = node.getParent(); if (parent != null) { return isDoorOrWindowChild(parent); } else { return false; } } }
Another way could be to design the house in SweetHome3D, export it, re-import it in Blender, and write a script for Blender (as I'm a python developer, this last step would be easier for me, but I don't know if the export/import step is easy or not). Importing to Blender a home exported with 3D view > Export to 3D view menu item works well too. Have a look to user's guide for an example. 
----------------------------------------
Emmanuel Puybaret, Sweet Home 3D creator
|
[Mar 15, 2010, 6:55:51 PM]
|
|
[Link]
|
|