Exotic Matter Support

Marcus Nordenstam August 20, 2012 32 News And Information / Announcements

Naiad 0.6.1 Release Notes

These are the release notes of Naiad 0.6.1.(43) - the final Naiad release.  As of these release notes, all Naiad development stops.  Naiad 0.6.1 is available for download from the Exotic Matter FTP site, for existing customers only. Please email marcus@exoticmatter.com for login details if you do not have them.

Download Instructions

  • Once inside the FTP site, please visit the Naiad 0.6.1 folder and go into the Binaries subfolder to download the Naiad binaries for Linux and/or Windows 7.
  • You can also download the full source code for the Naiad Buddies and the Naiad Clients from the SourceCode subfolder.
  • If you see the errors relating to libai.so on Linux - this is due to the Naiad Buddy for Arnold.  If you do not have arnold, please remove the offending buddy from the installation $NAIAD_PATH/server/body-io/BodyIO-Arnold.so.  Similarly, errors at startup for other buddies (such as vray, 3delight, or prman can be fixed by removing the appropriate bodyio plugin).

New Standard Operators

  • HD (experimental) - allows a selective uprezzing of a lower-resolution fluid body (an "SD" body).
  • Aerodynamics (experimental) - fast gas/smoke/fire solver operator (can, however, exhibit some grid artifacts)
  • Hydrodynamics (experimental) - fast liquid solver operator (but does not always converge)
  • Particle-Mesh4 - 4th-generation particle surfacing code (fixed many of the Particle-Mesh3 artifacts, yet sacrificing none of the great detail)
  • Body-Read - read various file formats and make a corresponding body (or bodies)
  • Sphere-Mesh - make a volume body directly from a sphere
  • Tile-Expand - add more tiles around a body

Changes to Existing Standard Operators

  • Dynamics (no more energy spikes etc - see General Improvement at the bottom)
  • Body-Write / Body-Terminal
  • Combust (burn map, NEL expressions, etc)
  • Drag (accepts NEL expressions)
  • Particle-Splash-Emit (emission radius, pure ballistic)

New Naiad Buddies

  • The Naiad Buddy for Alembic (Compiled for Linux only; full source-code available for Windows)
  • The Naiad Buddy for Houdini 12 BGEOs (mesh, particles, and volumes)
  • The Naiad Buddy for V-Ray (mesh and particle export)
  • The Naiad Buddy for 3DS Max

Updates to Existing Naiad Buddies

  • The Naiad Buddy for Krakatoa - PRT reading now implemented in Body-Read
  • The Naiad Buddy for Arnold - using Body-Io mechanism

Bug Fixes

  • Under some circumstances, parameters with sliders would get incorrectly clamped - this has been fixed.
  • Crashing when using certain NEL expressions have been fixed.
  • Particle IDs were inconsistent and duplicates were possible - this has been fixed.
  • Naiad Studio crashed when invalid parameter references were present.

General Improvements

  • Overall, Naiad 0.6.1 is a more optimized, memory-lean, and awesome version of the Naiad 0.6 release.
  • The Dynamics operator had severe problems with very thin layers of fluid in contact with a moving solid.  This would cause violent "explosions" and   "energy spikes" where fluid particles would go flying off in unnatural ways.  This has been one of the long-standing problems with the Naiad solver -   and we are pleased to announce the issue has been fixed!   The underlying numerical codes have been redesigned and rewritten, eliminating this artifact.
  • Particle-Wet-Emit had problems where wet particles were "left floating around" in space.. This op has been rewritten and behaves significantly better now.
  • 64-bit integer support for point and triangle channel import
  • The documentation has been overhauled to ensure all the operator docs are correct and up-to-date.  The Application Notes have been expanded to include Houdini buddy 12 docs.

API Changes

  • All BodyIo classes must implement the "format" method to return the string name of the file-format for which the body-io plugin was written.
  •  BodyIo class now has a setTimeBundle() method that allows the body-io plugin to know current time, frame, time-step etc.
  •  BodyReader class has new bodySig() functions to lookup the signature of a particular body (without necessarily loading the whole body).
  • Nb::createField1f now requires a tile-layout.
  • Nb::setNaiadPath has been added back (was somehow lost in Naiad 0.6)
  • Nb::Tile class now has built-in local-to-global cell coordinate conversion functions: ci(), cj(), ck().  These can be used to map a tile-local coordinate such as the lower-left corner of the tile (0,0,0) to the corresponding global cell coordinate (ci,cj,ck).  Very useful!
  • Nb::TileLayout::cell(ci,cj,ck) has been upgraded to handle non-existent tile locations.  This function's signature is now:

     cell(const int ci, const int cj, const int ck, bool& noTile) const;

   If no tile exists at the global cell coordinate (ci,cj,ck), then "noTile"
   is set to TRUE, and the function returns -1.  If a tile does cover
   (ci,cj,ck) then the function returns the cell index and noTile is FALSE.

Marcus Nordenstam February 08, 2012 1 Media / User Projects

Exotic Matter has released a new Naiad Demo Graph showcasing using the Naiad Ocean Toolkit (NOT) to drive a fluid simulation for waves that interact and splash against collision volumes (rocks etc).

For download and more info, please visit the Exotic Matter webpage:


Marcus Nordenstam January 31, 2012 News And Information / Announcements

Naiad 0.6 Service Update ( Released

This is a maintenance release for all those on a current maintenance plan.

  • Older graphs containing the now obsolete Field-Constant operator, are now auto-upgraded to the new Field-Constant-Vector op.
  • Field-Vortex now actually works instead of erroring about a missing "Origin" parameter. (Special thanks go to Framestore's great team for spotting this early).
  • Field-Constant-Float was incorrectly attempting to read its parameter as vector instead of a floating-point scalar.  This has been fixed.
  • Last but definitely not least, Mesh-Decimate's camera/view-based decimation is now revised and works better than ever.

Naiad is available for download as usual from our website: www.exoticmatter.com/download-naiad

Happy simming!

Team Exotic

Marcus Nordenstam January 18, 2012 News And Information / Announcements

Naiad Ocean Toolkit

The powerful new Naiad Ocean Toolkit (NOT) allows you to run high-speed procedural ocean modeling right inside the Naiad graph. Using the new operators NOT-Ocean and NOT-Deform, you can generate huge vistas of wavy seas, and apply such wave deformations onto any other Naiad mesh body in the graph. Please keep an eye on our website (training section), for upcoming demo files showing all you can do with NOT.

Better Pipeline Integration/Support

Naiad 0.6 introduces the new Body-Io Architecture, replacing the old set of file-format specific ops (prt-write, bgeo-read/write, etc). The new Body-Io ops are:

  • Body-Write
  • Mesh-Read
  • Particle-Read

We have also added native RIB generation operators for particles and meshes. Some of the notable features include Naiad channel-to-Renderman-primitive-variable translation and subdivision surface support.

All existing buddies now released in binary form in installer, but source is also available on github - but idea is not to need to compile yourself - esp. on windows.

Naiad Getting Started User’s Guide

There is an updated Getting Started Guide for Naiad on our website (in the Training/User Guides section). We recommend you read through this guide (in PDF format), since it contains in great detail information regarding the new features and interfaces in Naiad Studio, as well as an overview of the Naiad graph and associated basic concepts.

New Application Notes

Included in the Naiad Studio online Help View are several new important Application Notes.

  • Application Note 4: Collisions
  • Application Note 8: Particle Transport
  • Application Note 9: Render Naiad Meshes Using Renderman or 3Delight
  • Application Note 10: Render Naiad Particles Using Renderman or 3Delight
  • Application Note 11: Using the Naiad Buddy for Krakatoa
  • Application Note 12: Using the Naiad Buddy for Maya

Naiad Studio Updates

Naiad Studio has been largely rewritten with a brand-new architecture and many internal designs making it ready for the future requirements of Naiad. Here are some of the new features and highlights of Naiad Studio 0.6:

Graph View

The Graph View has undergone several changes that make it better correspond to the “server” graph. For example, Op state now always correctly propagates through the graph. The background color now changes when scrubbing to the live “server” frame. How many times have you wondered where your cached bodies went, just to realize a few seconds later that you are on a live frame? Finally, many speed improvements have been made, which make the Graph View more snappy than before.

  • TAB menu Op creation. Ops are now created from the TAB menu, accessed by pressing while the mouse cursor is inside the Graph View. An Op of the selected type will be created at the mouse cursor.
  • Body Selection. Bodies can now be selected in the Graph View, just like Ops. Information on body shapes and channels is shown in the Value Editor. For the first time live body data can be inspected by number inside Naiad Studio!
  • New Op design. Besides some aesthetic changes to how Ops are shown in the Graph View, we now also show the names of plugs inside the Ops. This makes it much easier to connect Ops and read about their plugs in the documentation.
  • Slapping. Right-clicking on a plug (an action referred to as "slapping") will toggle the plug between group and single mode, removing the necessity for special “isolated” versions of many operators.
  • Smacking. Plugs lead a hard life. First they got slapped, and now smacked. Smacking (+ right-click) is simply a way of minimizing a plug, indicating visually that the plug should not be used (such as an unconnected output plug).
  • Activate/Deactivate Hotkey. As in most node-based workflows the need to quickly active/deactivate certain operators is common. Naiad Studio now has a hotkey for toggling the activation of selected Ops.

Scope View

  • The 3D View has been renamed to Scope View, to more clearly indicate that most of what you see in the viewport is in fact drawn by scopes (even the camera is a scope). Item and Body Labels. As an option, body names can now be drawn on top of body data in the Scope View (formerly known as the 3D View). The same is try for Op items (things like clip boxes and transforms).
  • Heads Up Display (HUD). The scope view has an optional HUD that shows which scopes are drawing what.
  • Cameras Updates. Significant effort has been made to improve the cameras in Naiad Studio. Since the last major version we have added an ortho-camera and now provide a much better framing function than before for perspective cameras. Also, perspective projection is now computed from "intrinsic parameters" (e.g. focal length and apertures) which corresponds closer to the way things are done in animation packages.
  • Playblast stepping. Playblasting is a good way to find out if a simulation did the job or not. Previously playblasting was only available after the entire simulation had been carried out. This meant all the simulation data had to be read back into memory when playblasting, which could be slow. When playblast stepping is enabled Naiad Studio will write an image from each frame before moving on to the next, alleviating the need to read data back in. The only downside is that it requires you to run the sim live from within Naiad Studio, which is not optimal for large simulations (you should run those on the command-line instead). However, until we add the “playblast op” to the graph, this is as good as it gets!
  • Expression editor. An expression editor has been added, making the task of writing long (and powerful!) expression easier than ever.

Live Stepping

  • Step visible frame. The time line in Naiad Studio has been updated to expose the powerful feature of stepping at any frame, without stepping all previous frames. This is extremely useful for meshing, where a couple of sample frames can be meshed to test parameters, without having to mesh every single frame in the process.
  • Stop button. In addition to pressing ESC, the time line now has a stop button, enabling interruption of the current stepping.
  • Save Scene when Launching Command Line Client. No more forgetting to save, causing Naiad to step the old version of your graph. Triggering a command line step from within Naiad Studio will now prompt you to save your file first, because this is nearly always what you intended to do.

User Preferences

Besides the new look of Naiad Studio, many of the colors are now customizable through a preference system. It is even possible to import/export preferences so that you can share you favorite colors with all your friends.

Dynamics Updates

Sticktion added (may in future be renamed to “Stickiness”). Controls how much the fluid adheres to nearby solids. Particle Supersampling renamed to Interior Supersampling

Operator Upgrades And Additions

  • Emitter IDs have been added to Liquid-Emit-Distance op.
  • Bodies being imported via file operators can now be transformed on import using the new Import Transform parameters (and corresponding 3D manipulator). The pivot center of the Import Transform is displayed as a little white sphere in the Scope View.

Naiad Command-Line App

Multiple .ni files can now be listed (in order), allowing you to step several graphs in turn. Command-line restart changed, using the new restart syntax: --restart n seq.#.emp. Where n is the restart frame number, and seq.#.emp is the sequence to restart from (which may now be a relative path as well).

Known Issues

  • The Accelerate and Force operators have had their "Acceleration" and "Force" parameters renamed to "Vector" in order to display the acceleration or force vector in the Scope View.  This means old graphs will lose their values for this parameter.  Please copy them back into your graph when loading old graph using Naiad

Marcus Nordenstam January 18, 2012 News And Information / Announcements

Naiad 0.6 Has Been Officially Released.

The official release build is Naiad, and is available for download right now from our main website: www.exoticmatter.com/download-naiad

Naiad is available on 64-bit Linux and 64-bit Windows 7.  A Mac OS X Lion release is planned in February.

Team Exotic