Below is a video showing how to conduct a simple lighting analysis with Radiance using the LiVi component of the VI-Suite. A simple analysis allows the prediction of Lux, Daylight Factor, Visible Irradiance and Full Irradiance.
Enjoy
Below is a video showing how to conduct a simple lighting analysis with Radiance using the LiVi component of the VI-Suite. A simple analysis allows the prediction of Lux, Daylight Factor, Visible Irradiance and Full Irradiance.
Enjoy
The video below details how to conduct a shadow mapping analysis with the VI-Suite. In this context shadow mapping is the prediction of how often points in space are in direct sunlight when the sun is above the horizon. Simulations with the VI-Suite can be done for any portion of the year and use any mesh geometry within the scene as the calculation points. The example image below shows an annual shadow map, with 4 calculations per hour, using the urban building geometry as the calculation points. One of the advantages of this approach is that once the simulation is complete the results are fully navigable in Blender.
I’ve just updated the VI-Suite to version 0.4.2. This version contains various bug fixes and an update to this version is recommended by downloading the complete zip file from http://arts.brighton.ac.uk/projects/vi-suite/downloads for your operating system.
One user-facing change is that if specifying a custom EPW weather file in the VI-Suite settings the Manual/EPW menu needs to be toggled in the location node to update the weather file list.
A couple of changes have been made to the wind rose creation capabilities in version 0.4. The colour mapping of the created wind rose can now be selected within the wind rose node and wind metrics can now be displayed within the 3D scene using the VI-Suite’s new display framework.
Video below. Enjoy.
There have been a couple of changes to the sun path capabilities in version 0.4. Sun paths can now be rotated, some sun characteristics can now be overlaid onto the 3D view in addition to the sun path hours and summer/equinox/winter sun azimuth ranges are now included in the sun path object.
Video below. Enjoy.
The VI Chart node can accept data from the VI Location, LiVi Simulation, EnVi Simulation, and Shadow Study nodes and offers 2D plotting of weather/results metrics with matplotlib. The tutorial video below details the options and operation of this node.
I am very happy to announce the general availability of VI-Suite version 0.4. Some user-preferences have been added in this version and the tutorial video below details these changes along with activating the VI-Suite and creating your first node. The video assumes you have downloaded the zip file for your platform from the main VI-Suite website and extracted the folder within to somewhere on your computer. Remember that the destination for the folder should not have any spaces in it so ‘/Users/ryan/Desktop’ would be fine but ‘/Users/ryan/My Folder’ would not.
In this, probably the last version 0.3 video tutorial, I cover parametric Radiance analysis with LiVi. As parametric analysis in the VI-Suite is done using Blender’s animation system I cover the very basics of setting up animation in Blender and the export, simulation and visualisation of the Radiance analyses.
Although it will a while before I release version 0.4 I will soon start putting up sneak-peak videos of what to expect in the next version.
A user asked me how to export the x, y, z co-ordinates of the LiVi sensor positions with the results to a comma separated file for further plotting or analysis. This capability will be enabled in version 0.4 with the “Results out” socket of the LiVi simulation node, but for now you can copy the python code below into Blender’s text editor and press the “Run Script” button at the bottom of the text editor window. This code will export the currently visualised results for the current frame to files in the project directory. These files are named ‘name_of_results_object.manualres’.
LiVi results data is stored within the mesh’s vertices and faces. To do this LiVi uses Blender’s Bmesh wrapper for the mesh data. So the first part of the code loops through results objects (line 3) creates a bmesh representation of each one (line 5) and transforms the bmesh (line 6) so that vertex and space positions are in global or world co-ordinates.
Line 7 designates either vertices or faces as the results points depending on the object ‘cpoint’ property (which is created on LiVi geometry export). Line 8 then checks that there are results available in the mesh and line 9 defines the cindex layer which stores whether a point in a mesh is a results point. Line 10 defines the resl layer which actually holds the results.
Line 11 generates the vertex or face positions for each results point and stores them in the variable posis. Line 12 and 13 then define the output file and writes the co-ordinates and the data to the file. The final line 14 clears the bmesh data from memory.
import bpy, bmesh, os scene = bpy.context.scene for o in [o for o in bpy.data.objects if o.type == 'MESH' and o.get('cpoint') and o.lires]: bm = bmesh.new() bm.from_mesh(o.data) bm.transform(o.matrix_world) geom = bm.verts if o['cpoint'] == '1' else bm.faces if geom.layers.float.get('res{}'.format(scene.frame_current)) and geom.layers.int.get('cindex'): cindex = geom.layers.int['cindex'] resl = geom.layers.float['res{}'.format(scene.frame_current)] posis = [v.co for v in bm.verts if v[cindex] > 0] if o['cpoint'] == '1' else [f.calc_center_bounds() for f in bm.faces if f[cindex] > 0] with open(os.path.join(scene['viparams']['newdir'], '{}.manualres'.format(o.name)), 'w') as resfile: resfile.write('\n'.join(['{0[0]}, {0[1]}, {0[2]}, {1}'.format(posis[gi], g[resl]) for gi, g in enumerate(geom) if g[cindex] > 0])) bm.free()
Indentation in Python is important so make sure the code in the Blender Text editor window looks like the screenshot below.
Below is a short video on how to use Radiance’s new Photon Mapping capability with the VI-Suite.