Pages

April 12, 2017

PyMel completions in Sublime Text

Getting code completions to work can be pretty annoying, but using them can really speed up your work.

Luckily this is surprisingly easy to do in Sublime Text by using the wonderful SublimeJEDI package (easily installed with Sublime Package Control).

As a prerequisite you need to have the Maya devkit 2016 2017 installed as it no longer comes included in Maya by default.

If you have other python related packages installed in Sublime Text, other than SublimeJEDI you should remove or disable them until you get completions working, then add them back in later. This will let you debug if you did something wrong or there is another conflict.

With SublimeJEDI installed, open the Sublime settings file:


In the User settings file on the right-hand side add a few lines:


Make sure you add a comma first if there are already settings in this file. Sublime will highlight pink if there are errors in the settings file, so pay attention!
Set the python_interpreter to the location of mayapy for your machine. Adjust the / to be \ on Windows.
Set the python_package_paths to point to the devkit folder as shown above.

Restart Sublime and get coding!



May 29, 2015

Preview - lcTextureSaver 3.0

Everyone needs to code a Photoshop texture saver, right?
This update is mostly complete but there are some missing features and is currently only for CS6.


This tool will allow you to set up a template for how to layout your PSD and how to use that folder structure for export.

1.
You need to define a template for your project. The Template Editor will help you do that.
Layer Groups are how the PSD is created. You set a Name, an initial visibility, and a base color. If you need to do multi-channel work you can activate R-G-B and A options. (when RGB is active, layer color should be set to None)
Export Sets are how the PSD is exported to TGA's. You set the Layer Group that should be Exported and can override the Alpha Channel for that TGA with another Layer Group. You can also have a custom suffix.
Templates are saved in your personal prefs folder (%appdata% on windows). These can be shared for a team workflow.
2.
Now that you have a Template defined, you can create that PSD. You can choose the size you want too!


3.
After working with your PSD you can export it. The Export window shows the Export Sets you defined in the template. Sets can be exported individualy or batched with the checkboxes and export selected button. You can also scale down by a factor with the resize option.
TGA's are always saved into the save location as the PSD you are working on. But you can also save a copy of the TGA to another location, just set the duplicate option!


Eventulay, the tool will allow the template to be saved into a PSD so a configuration is always available. Also I still need to wrap the tool for Photoshop CC using html5.

You can find this preview version on the Download page.

February 9, 2013

New LCT Scripts Package

Downloads

I’ve updated the scripts package with new tools and a handy shelf that auto-populates with the scripts.

Here are the new additions:

lcBatchBake:
This is an update to a Mel script I made previously.  It now sports a much smaller interface and handles pathing well.

lcCameraTools:
An update to an old Mel script, now with less bugs.

lcHideByToken:
This tool will let you hide one or more objects based on parts of their file name.  For example, and object named ‘polygon_sphere_geo’ can be hidden by typing the word ‘geo’ in the script window.

lcMoveImagePlane:
This tool lets you make image planes in the orthographic views quickly and can add a control curve to them so they can be moved and scaled.  No more using textured polyPlanes.

lcTextureTools:
Another revision to an old Mel script.  This will rename your fileNodes based on the texture linked to it.  You can also reload all the textures in the scene or only those that have changed since you last reloaded.  You can also repath textures if you move project locations, and open textures in Photoshop.

Also included are the lcRetopoBasic and lcObjTools scripts.

Install Help Video:

November 12, 2012

LCT Scripts Update

Downloads

lcRetopoBasic:

I changed some things so undo will work properly after doing a shrink wrap.

lcObjTools:

Lets you set a path to quickly export obj files.  You can export the selected geometry either combined or each piece individually.  If  you have poly-smooth preview turned on those pieces can be exported with that baked down.  You can also import multiple obj’s at the same time
Note: overwrites without warning.

September 23, 2012

Head Studies

Mendelssohn, Holofernes, and Judith
Rendered in Vray

Click for high-res

September 13, 2012

lcShaderTools_BETA

I’ve been asked about the shadow baking script I was working on.  It made it to the beta form you see here, but I’ve mostly abandoned this project.  The DirectX11 features previewed recently for Maya 2013 address many of my issues, so I’m waiting for that to release new shaders.

This tool is BETA, and I’ll offer NO SUPPORT – the workflow is very rigid, there are bugs.  Extract the ‘lct’ folder to your scripts directory (overwrite as necessary), check the README for run command.

Downloads


USAGE:

  1. Click ‘Make CGFX’ and assign this shader as necessary – only the shader created using the tool can interact with it – no other shaders will work with this tool.
  2. Click ‘Make or Link Lights’ – this creates a directional light and 3 point lights that are automatically linked to the shaders – you adjust light properties through the light node itself – for point lights the intensity value = attenuation and may have to be set very high depending on your scene scale.
  3. For shadow baking, select ONE mesh and click ‘Setup UV’s’ – this creates a secondary UV set for all mesh’s that share the same shader.
  4. Mental Ray must be turned ON and available.
  5. To bake shadows - select ONE object and click one of the Bake buttons – this bakes shadows for any mesh’s that share the same shader – you do not need to specify a bake path unless you want to.

August 14, 2012

Siggraph 2012

I had the good fortune of being sent by Turbine to Siggraph last week, it was a blast.  The course Practical Physically-Based Shading in Film and Game Production was particularly compelling.  The course notes are very nicely detailed and the section by Brent Burley from Disney was especially interesting.

June 19, 2012

p3d.in test

My friend showed me this website – p3d.in – they let you upload 3d models for embeding into websites.  Its been done before but this implementation is simple, needs no plugins and seems very fast

A test with a wip mesh – 200k tri’s, about 8MB – may take a moment or two to load.

May 14, 2012

WIP–Judith Sketch

Here it is.  For now I’ll move onto something new

May 4, 2012

WIP–Judith

working form this portion of Judith with the Head of Holofernes by Cristofano Allori

April 26, 2012

WIP - Felix Mendelssohn

work in progress – trying to get used to sculpting in Mudbox

working from this image:
(any one remember CGTalk’s 100 Heads post?)

February 25, 2012

lcRetopoBasic–Another Update

Downloads

Some small changes based on requests

  • Removing a mesh from the High Res List will reset its display overrides such as x-ray and hidden
  • Added code to better handle Undo queue functionality when doing a shrink-wrap or relax
  • Adjusting the mesh layering effect with the slider will do so for all mesh’s in the list not just the selected one
  • Adding a new mesh to the High Res List will pop it to the currently active mesh layering distance
  • I disable Viewport 2.0’s vertex animation caching when the script is run – this fixes the problem of the mesh layering effect not updating when the viewport is rotated.  Caching will NOT be automatically re-enabled.

December 24, 2011

lcRetopoBasic–UPDATE

Downloads

Still BETA, but I’ve squashed some bugs and added some helpful features

  • Should deal with object names better, and namespaces from importing obj’s
  • Should no longer hang on occasion when relaxing or shrink wrapping
  • You can work in any selection mode, object, face, edge, vertex and use the Relax and Shrink-Wrap tools
  • Will keep your selection mode so you can continue editing components
  • Highlights the Object List red to remind you that you have no high-res selected

Still to do:
    Viewport 2.0 should(?) offer some speed boosts, especially when working with large high-res objects, but the method for layering the high and low res geo doesn’t work properly in VP2.0.  I need to come up with an updated method

November 28, 2011

Yes, Shadow Baking is delicious

a short video demonstrating some progress on the shadow baking scripts for the lcShader.  Its coming along well, and I will release a beta version at some point in the next few weeks.

October 27, 2011

lcReproject.cgfx–A Novel Texturing Technique

Download

I was inspired by Brice Vandermoortele’s Normal Map Reprojection Shader and wanted to extend the idea to new uses.  This is a novel way of texturing using lit sphere images and cubemaps.  You can reproject color and normal textures to a new UV Set.

As a CGFX shader, only Nvidia cards will load this reliably, but I’ve added a arbfp1 technique that might work on AMD and older cards.  Cubemaps are lower quality and don’t have any blurring using this mode.

Getting close . . .

My new shader ‘lcShader’ is almost feature complete.  It’s a very close approximation to the Mental Ray mia_material, but in real-time.  In testing I’m able to get very realistic looking materials using a standard texture workflow (diffuse, spec, gloss, cubemap).  Again, HLSL and CGFX versions will be identical, running the same exact code.  Lights react much nicer than previous shaders and have realistic fall-off.  And baked shadow maps too.

My shadow map baking script is also nearing completion, it will automatically link raytrace-baked shadow maps to the shader for linked lights and supports transparency in both the shader surface and the shadow cast.

Here is a quick screen grab, HLSL on the left, CGFX on the right.  They don’t have the exact same shader settings so some slight differences

October 4, 2011

lcRetopoBasic–Maya Retopology Tool

Downloads

I was inspired after seeing RetopoG, but since it is not currently available I decided to make my own tool for Maya.

This tool will let you use Maya’s makeLive features to easily draw new topology on a mesh.  The tool is designed to be very simple and rely heavily on Maya’s built-in modeling tools.  This is written in pyMel, which only comes pre-installed on Maya 2011 and later.

This is a very early beta-like version, I’ve only just begun to test this in the last few days but it seems workable.  I don’t have any plans to include a full custom toolset like RetopoG, you will mostly have to use Maya’s tools.

A short video explaining the tool:

The Relax Verts and Shrink-Wrap Verts are tools based on Oleg Alexander’s oaRelaxVerts.mel

September 17, 2011

New Shader Tools Update

I did some proof of concept work on the new shader and everything looks very positive.  In order to broaden compatibility support I’m co-developing a CGFX and HLSL shader.  They share most of their code by using #include files and are visually identical.  This way people with AMD cards etc. wont be complete out of luck, although Shader Model 3.0 support will always be required.

Here is a quick screen grab, on the left is HLSL on the right CGFX.

lcShader_wip_pinecone_01

Still a long way to go before the shader is feature complete, and the new pyMel UI is another matter. 

This is a great time for Feature Requests, I have a ton of things planned, but I’m always open to suggestions.

August 31, 2011

New Shader Tools for Maya

Congrats to Laurens Corijn and Robbert-Jan Brems on their XoliulShader 2 release, it looks amazing.  They've noted that there will be only limited Maya support - so lets fill that void.

I'm going to update an entire new toolset for interacting with my CGFX shaders.  Here is a preview UI layout.  Very preliminary work.  I have most of the functionality in place from other tools, just have to bring it together in one Monster release.