Running Maya Linux in Optimus Laptops

Autodesk Maya runs in Linux systems as a charm, fast and stable, you may have experiment it if working in some of the large studios which uses Maya Linux extensively, so let’s say you are used to Linux and decide to install Maya at home but if your computer has an NVidia Optimus GPU, and all modern laptops has this kind of card, you are going to get in troubles because NVidia hasn’t released a proper driver for Optimus GPUs in Linux and it seems they haven’t plans to release it, so what to do?

What is an Optimus GPU?

Optimus cards are actually a dual GPU, one card( INTEL) is welded in the motherboard and connect directly to the screen, this card is very limited, just able for 2D drawing and basic 3D features, not valid for using Maya,  specially it can´t support Viewport 2.0,  then there is another card( NVIDIA), a more powerful GPU which handles all the heavy 3D stuff, it is supposed this card auto activates when the system detect the application you are using needs demanding 3D features. The idea of a dual GPU is nice, because you save battery power by using only the basic card when running 2D applications or system menus and heavy 3D features are enabled by applications or games which needs it saving your battery and besides keeping the laptop temperature lower, all of this happens in Windows system but not in Linux because the lack of a proper driver by NVidia.

optmusPipeline

Making it work

There are two different strategies for making Optimus work in Linux, the simplest one is deactivating the INTEL card in BIOS so the system is forced to use the NVIDIA card always at the expense of your battery power, sadly only a few hi-end laptops allows to setup this feature in BIOS.

The other way is using a software bridge between both cards, at the beginning there was only BumbleBee, an independent software project which uses VirtualGL or Primus to communicate both GPUs,  there is a performance penalty when using these libraries and besides it doesn’t work with all applications, sadly Maya is one of them, in our tests using BunbleBee Maya launches with Viewport 2.0 but it crash by simple interactions with the keyboard, so no way.

Luckily in the middle 2016 NVidia itself fixed partially its Linux drivers to can do the switch between both cards in a fast way by using what is called NVIDIA-PRIME capabilities, this mechanism has a few limitations and needs an special configuration of your system to work which sadly it isn’t explained clearly in NVidia docs.

Installing NVIDIA-PRIME

We have been able to install NVIDIA-PRIME in an Optimus laptop with CentOS7 following this excellent guide by Ezequiel Mastrasso,

guide to install NVIDIA-PRIME in Centos 7

Some comments about our own experience with installation if this can help to someone:

In step 2 of the guide Ezequiel says a Xorg with ABI 24 is needed but according to NVidia ABI 23 is supported and actually our system is using elrepo kernel 4.19 which features Xorg ABI 23.

In step 18 of the guide our system turned black screen, but rebooting and skipping directly to step 19 did the trick, the rest of the guide worked perfectly for us.

Actually our system is a dual boot Windows 10 /Centos 7, this didn’t affect in anything the installation of NVidia-PRIME.

Finally before starting the Optimus setup we recommend to install and run nvidia-detect by elrepo, this little utility will shows up the exact NVidia driver your system needs and also check compatibility with your current Xorg server and displays its ABI number.

In our tests using this setup Maya Viewport 2.0 works perfect and Unigine benchmark seems not having any noticeable performance loss by using NVidia-PRIME .

Nevertheless, as Ezequiel mention this configuration is pretty sensitive to system changes, for example in our case NVidia-PRIME mechanism got broken just by installing the mesa-lib-GLU library, but luckily reinstalling the Nvidia driver again fixed it instantly, anyway it is a good idea to make a system backup when you manage to get it working just in case.

Hope this article helps you to enjoy Maya linux and of course Pulldownit plugin in your brand new Optimus laptop!

mayaRunningwithOptimus

 

 

Advertisements

Pulldownit 4.5 for Maya released!

banner4-5

Our focus in this new update of Pulldownit plugin for Maya is making  user experience smoother and more responsive for FX artists and freelancers, we realize Maya is broadly used for animation so we have gone deep into the solver code and got a much faster update per frame of deforming meshes, so now there is almost no performance penalty for character skins or nCloth shapes included in PDI dynamics as kinematic objects.

Besides as any realistic destruction effect needs dust around we are glad to introduce a new tool “Attach particles to fragments”, by using this little utility you can stick Maya nParticles to faces per material and therefore emit easily fluids or additional debris from inner faces only, removing the need to go to another DCC tool to paint a white and black map as guide for emission, of course you can still use this classic workflow in Maya, this new tool is just an alternative a fast way to emit from selected faces only, actually this tool can be used for any task you need to attach particles to faces in Maya aside PDI itself.

Esteban Cuesta has done this great tutorial showing some of the enhancements inside Pulldownit 4.5 and featuring how to emit dust from fragments using this new PDI tool along with Maya fluids.

 

Also several fracture parameters can now be animated if you need to, and we have added a new event to switch cracks propagation mode at desired frame, so you can make your model getting damaged locally for some time and then destroy it completely at specific frame just by enabling this event.

And there are more enhancements regarding usability, a new tool for easier fragments selection when creating clusters from small shards, generation of different takes for standing models getting damaged is now an easy task with the improved behavior of “Static-Only Break” fracture option and quite a few annoying bugs of previous version has been fixed.

Below listed the most relevant highlights in Pulldownit 4.5

 NEW FEATURES                                                                                    

New Tool for adding particles to faces per material, this little utility spread Maya nParticles over faces per material, so you can later emit easily extra debris, dust or smoke only from chosen faces.

emmitMayaParticles

Hi-poly animated meshes 3x times faster update in dynamics, animated or deforming meshes such as character`s skin are now updated very fast during simulation providing a smoother experience when including them in destruction scenes.

New “increase Selection” option for easier clusters creation, selecting groups of small fragments is much easier now using this new tool which select neighboring fragments in the same area just with one click.

“Only Breaks” fracture option captures larger cracks and detachments, this useful feature forces the model to stand while being impacted, its behaviour has been improved so now it can generate larger cracks and detachments when they doesn’t jeopardize the overall structure, this effect is more noticeable when using it in conjunction with Clusterize level.

onlyBreak_clusterizePlates.png

Fracture body Friction, Bounciness, Sec cracks and Damping parameters can be animated, get more artistic control over your fracture simulation by animating these parameters if needed.

Rigid body Friction, Bounciness, and Mass parameters can be animated, get more artisitic control over your rigid bodies simulations by animating these parameters if needed.

Added ability to change propagation scheme at frame, user can now damage an object only locally for some time then change to continuous propagation at desired frame to break it completely.

local2continuosFracture

New option to show/hide/select all disabled rigid bodies in scene, it is easy to lost track of disabled rigid bodies, with this handy new option you can select all at once to enable or delete them or hide from the viewport all disabled rigid bodies with just one click

Adquire Shatter can transfer animation from single shape node to multi shape nodes, transferring fragments animation to nodes with multiple combined shapes is now supported by Shatterit tool.

Read the full list of fixes in the Pulldownit web site version logs

Pulldownit 4 for Maya released!

Banner760x400-PDI4

Pulldownit 4 for Maya has been released and comes with several new powerful features you can see explained in the video.

But this release is not only about new features, the whole plugin has been updated and tuned for better performance and usability, there is now one single window gathering all fracture tools and one single window for all rigid bodies stuff, alleviating the burden of many open windows in previous version, new seams view in Shatterit mode and improved performance of fragments selection in advanced fractures, besides fracture solver is around 30% faster and much less memory is needed to cache simulations, and many other little things you surely will notice when using the tool, all of this makes this new release more responsive and with faster iterations when working in Maya.

Below listed the most relevant highlights in Pulldownit 4.

Shatter New Features 

New Adquire Shatter style, new style to transfer a current shatter pattern to another object including animation keys, by using it you can apply the current shatter effect to a version of the model with different shaders applied or to a hi-poly version of the same model.

New Shatter option for using a volume shape as source, now you can use any polygonal shape to constraint the shatter effect to its volume, this is especially useful when shattering based on an impact object.

shatterBasedOnShapeCompoWeb

Jagginess( v2.0) independent of tessellation.  New Jaggy method  is independent of the original mesh tessellation, getting much lighter jaggy fragments when the object is hi-poly, and removing the artifacts caused in borders of high tessellated models

jagginess20vs10compo

New soften edges UI parameter for Jagginess. New parameter to adjust soften of jaggy edges to get the amount of roughness desired in inner faces. In addition new soften method removes visible seems on inner borders from previous method.

New option to apply jaggines to broken fragments only,  using this option for non-moving fragments you can apply jagginess only to the areas which has been broken in simulation, getting much lighter meshes for rendering or real time games.

Dynamics New Features 

Speed up Fractures solver 30%, PDI dynamic solver has been very fast since its first version, in this latest release you will experiment faster iterations when working in dynamics.

50% less memory needed for caching simulations. PDI cache is now 50% lighter in CPU memory , that makes massive cached simulations running faster in viewport.

New ability to pull apart pieces of an animated object at desired frame, besides activating rigid bodies at first hit you can now set the frame when they become active, this works also for rigid bodies linked to an animated one.

Added a bake selected option, you can now bake keys only for selected fracture bodies, letting the rest to continue being driven by simulation, baked fractures can still interact with other objects by setting the animated fragments as kinematic bodies.

baleSelected

Improved performance of fragments selection in advanced fractures, selection of individual fragments in viewport is more responsive, especially when Stresses View is enabled.

Cluster break energy is now independent of body mass/scale, break energy dependence on body mass made cumbersome to understand its behaviour as the same threshold will trigger a blast or not depending on the size of the object, because of this we have removed this dependency and the threshold you set will be valid forever independently of mass or scale.

First hit bodies which eventually doesn’t move are excluded from caching and baking, fracture bodies set as “break upon impact” only caches its broken or moving parts and fragments set as static aren’t cached at all , making in this way the size of PDI files smaller specially when you are collapsing only parts of large structures such as buildings.

Read the full list of fixes in the Pulldownit web site version logs

War Reign Cinematics by Lee Soo In

Lee Soo In, FX artist at  Penxel, has uploaded several great cinematics and breakdown for the game War Reign using extensively Pulldownit plugin for destruction effects.

Lee Soo some words about his experience with Pulldownit plugin:

I’ve been using a lot of fragments tools. Among all the advantages of the PDI plugin,
the credibility of the results is very high and during the simulations access to objects is very easy.

Since we’ve done a lot of work with PDI, we’ve been able to do it very
conveniently.

“Bake simulation” is a good feature. Because I can change the timing and
speed freely , many times It is convenient to perform detailed tasks with keyframe modifications.

below another great War Reign cinematics with some PDi destruction effects, and lots of smoke using Fume FX and Krakatoa,

Thank you for showing those great  videos  and your testimonial Lee.

Pulldownit for Maya 2018

Maya 2018 has been finally released by Autodesk, and Pulldownit plugin is already available for it, you can download Pulldownit Pro for Maya 2018 from the users area if you have licensed the plugin or download demo versión  from the web site in case not.

Apparently legacy viewport has been removed from Maya 2018, you can enable it again by setting the environment variable MAYA_ENABLE_LEGACY_VIEWPORT, anyway Viewport 2.0 seems to be the future for Maya so Thinkinetic has made an effort to fix several issues of the plugin when using it in VP2 and now it is fully supported, along it other annoying issues reported by users has been fixed in this latest update ( 3.8.8) you can read the full list of fixes in the version logs page of the Thinkientic web site,  besides you can review latest features and demos of Pulldownit 3.8 here:

Pulldownit 3.8.6 new features

Maya 2018 doesn’t count with overwhelming new features but with quite a lot of fixes and useful improvements; this time Autodesk has preferred to fix  several issues which sadly were doing  Maya 2017 not usable in production  and improve  tools and solvers already present like the UV editor, Bifrost  or XGen, the Maya built-in hair solver, which is a great tool indeed and now has new useful capabilities as the Clump modifier, better  interactive grooming and ability to make hair and fur collide physically with other objects in the scene.

And don’t forget the new versions of Arnold and MASH included,  these plugins  are developed by external teams and now count with new features, here a pretty impressive demonstration by Steven Roselle about rendering a dense forest of 10000 trees with millions of polygons  combining  Arnold and  MASH capabilities in Maya 2018.

Export PDI dynamics from Maya to UE4

In this excellent tutorial Esteban Cuesta shows us how to destroy a pile of tubes using Pulldownit in Maya and then export it to Unreal Engine 4, but not only this, he also teaches us how to trigger the destruction in UE4 when a bullet hits the model during the game. Exporting broken models and dynamics to UE4 works with either Pro version and free version of Pulldownit, just follow the tutorial to learn how to add quality destruction effects into your game.

 

thank you Esteban for the amazing tutorial

 

Breaking Letters Demos by Esteban Cuesta

These are the  breaking letters demos Esteban Cuesta made  as a final example of his tutorials on shattering text with Pulldownit plugin, you can find this tutorial a couple of articles below. Esteban Cuesta kindly explains some details about the making steps.

 

 

I wanted to make a video as a final demostration of my breaking letters tutorials with Pulldownit 3.7, I designed demo #1 as a classic letters intro, quick and lively, the motion of each word is animated until it touch the word below, then I activate the fracture bodies so pieces of letters start to crumble and fall, I used a Wind field to stress the debris falling effect. The final destruction was as easy as animating the word “Pulldownit” so it pass through the whole text and set it is a kinematic rigid body but I switched to “Convex hull” Bounding Volume to speed up the testing, the dynamics looked good anyway so I used it for the final shot too.

Doing the first shot wasn’t difficult at all and pretty funny, this encouraged me to make a longer one. This time a decided to add a plate showing the different shatter styles of Pulldownit with letters, all styles except “Wood splinters” as I think this style doesn’t make sense for letters.

 

All sets are done in the same way, using the 3D Max text tool to generate each word and making the endings fit each other simply by adjusting text size and kerning, and then collapsing all the words in a single poly object. At this point I applied the intended shatter style and create a fracture body for all pieces. For the Radial style plate I used an animated sphere to trigger the destruction, I simply hid it when rendering the scene, for the Path style I used the great crackers objects of Pulldownit as triggers, the rest of plates uses a Wind field to trigger the destruction, animating its Strength in order to get a increasing amount of falling debris.

Rendering was done using Mental ray in 3D Max, applying a high reflectance material to the letters and a less polished glossy material with the same colour to the inner faces after breaking.

Pulldownit worked very well , I haven’t any issue aside tweaking the parameters to get the dynamic behavior I wanted, It was very intuitive and fast computing using it.