This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
This snippet is to demonstrate how to write to a matrix channel | |
in modo from an eval modifier. This is the correct way to write | |
to a matrix. This does assume that you have set the matrix channel | |
you want to drive as a channel for the modifier, using something like: | |
eval.AddChan(item_loc, LXsICHAN_XFRMCORE_WPOSMATRIX, LXfECHAN_WRITE); | |
in your modifier constructor. This method will drive the matrix | |
channel directly, so instead of using the local channels to calculate | |
the world SRT, it'll use the values the modifier provides it with. | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
matchXfrm.cpp | |
Sample plugin to demonstrate a simple command that matches | |
position, rotation and scale between multiple selected items. | |
This command operates slightly differently to the built in | |
match.position, rotation, scale commands. The built in commands | |
will average out the transform if multiple items are selected, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import lx | |
import lxu.select | |
scn_svc = lx.service.Scene() | |
def IsItAMask(item): | |
if scn_svc.ItemTypeName(scn_svc.ItemTypeSuper(item.Type())) == lx.symbol.sITYPE_TEXTURELAYER: | |
scene = item.Context() | |
graph = lx.object.ItemGraph(scene.GraphLookup(lx.symbol.sGRAPH_SHADELOC)) | |
if graph.RevCount(item) > 0: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#python | |
''' | |
Surface Force | |
This example plugin for modo 701, shows how to create a surface force in | |
Python. The force will read a mesh, get the closest position on that mesh | |
and find the normal at that position. A force will be created along the | |
normal vector of the surface. The result is a force that pushes particles |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#python | |
''' | |
Class and functions for working with groups inside of modo. | |
''' | |
import lx | |
class Group: | |
def __init__ (self, group): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#python | |
''' | |
Shape Draw python example. This python plugins demonstrates how to create | |
a Package that can be added to existing items, that controls how they draw | |
in the GL viewport. We will simply draw a circle. A radius channel and an | |
sides channel will control how the circle is drawn. | |
To use, add the python script to an lxserv folder in your scripts directory. | |
Select an locator item and enter: item.addPackage shape.draw. To remove the |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <lx_plugin.hpp> | |
#include <lxu_command.hpp> | |
/* | |
* The server name is the name of the command that is used to run the command | |
* in modo. The argument name is the name of the argument that will define the | |
* material mask. | |
*/ | |
#define SERVER_NAME "command.demo" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
''' | |
Auto generates material masks for every material ptag in the scene. | |
Usage: Put the script in a folder called lxserv inside your modo scripts | |
folder. Restart modo. Run the command: material.generate | |
''' | |
import lx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import lx | |
import lxu.select | |
def GetInfluences (effector): | |
''' | |
Takes an effector input and returns a list of all | |
connected influence items. | |
''' | |
influences = [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
''' | |
Demonstrates how to setup a simple popup menu populated using dynamic values. | |
This will search a directory for files and list all of the files inside the | |
popup. | |
As notifiers are currently unsupported in modo 701 SP2, we can't force the | |
popup to update when the directory contents changes. So for now, it'll only |
OlderNewer