Jump to content

  • Member Statistics

    Total Members
    Most Online
    nate jess
    Newest Member
    nate jess
  • Blog Entries

  • Latest Post's

    • That is odd. Did you restart C4D? Restated the machine?
    • 1. Not sure what you are describing but you probably mean expansion once you drag and drop object to existing hierarchy? That is by design in order not accidentally move objects without indication. You can use set parent command as alternative and that doesn't happen then   2. Ctrl+Unparent   3. Unparent takes children also - please attach a scene where that doesn't happen if you have one   4. I honestly don't understand what you mean here :)   5. Sure, assign shortcut to this python script   import c4d from c4d import gui def main(): c4d.CallCommand(5126, 5126) # Instance def object(): return doc.GetActiveObject() object()[c4d.INSTANCEOBJECT_RENDERINSTANCE_MODE] = 1 # Execute main() if __name__=='__main__': main()  
    • Took a stab at this and it seems possible, however it is quite clunky. Check the attached file with SplineMask setup. Due to SplineMask requiring closed splines you will have to use the MoSpline start and end parameters to cutoff the spline. Hope it helps:     Spline_rig.c4d
    • I'm actually getting pretty good results with displacement maps, i'm just a bit worried about rendering an entire rug with this method. Wondering if there are more agile options out there.
    • does it not work if you just move the blue up onto the cloner, to the right of the concrete, seems fine for me. you might want to consider cylindrical mapping on the concrete.   Deck
    • it's more of a warning, for the general population, IF you see a triangle, do not try to tackle it your self or look directly into it's eyes, contact your nearest IQP perimeter outpost for assistance, these are dangerous and should only be confronted by trained IQP officers 
    • Nah, he's not running away from the triangles, he is deploying a 'force burst' from his rear in order to destroy them without having to look at them ;)   CBR
    • OK, got it. As I thought, the input ports are "Position" and "Rotation", both of type vector, while the output port is "NewMatrix" of type matrix. So, when replacing the COFFEE node with a Python Node you should create the appropriate input and output ports.   With the first scripts the input and output ports are floating point values. By default, when you create a Python node in Xpresso you get 2 input ports ... of type Real (or floating point), and an output port, again of type Real. What you need to do for the second script is create a Python node, remove the input and output ports, and create new ones of the appropriate types. I don't think you can change the port type (at least you could not in the past), therefore you need to remove the existing ports and create new ones. Name them accordingly and you'll be set!  
    • You could google this and find a better answer, but I'll try my best at explaining it.   The "->" you see in COFFEE and other programming languages (C++), is a way to access an object's member or function. In the second script there is this "InMatrix" variable which refers to a matrix object, an instance of a matrix class. Be careful with "object". In this context it isn't a Cinema 4D mesh object or null object, nor deformer, nor generator, ... The object here is a "container" which holds some data and functions (members and methods in C++). The matrix class has a GetClone function which allows to create a copy of itself and pass it along. InMatrix->GetClone() thus means that from our InMatrix object, we call its internal function called GetClone, and the resulting copy is assigned to NewMatrix, a new object instantiated from the matrix class.   EDIT: Well, for completeness. In C++ (other languages probably as well, but I am most familiar with C++) to access members and methods of an instantiated class or structure one can use "->" or sometimes just a dot. myObject->member myObject->method() - or - myOtherObject.member myOtherObject.method() It all depends how the object was instantiated, as a pointer or not. But I guess this all is getting beyond the scope of this forum.  
    • I have started modelling the wings and experimented with materials.  
    • @C4DS a related question. What does -> mean ? I don't think I've seen it in Python, but have seen it elsewhere.
    • Ok, it seems that it is not as trivial as it sounds   Scene attached - take a look at the current example - the geo is a simple torus with around 3400 points - not a big deal I've separated the pythons in layers so it can be turned ON/OFF   The result Vertex map is kinda OKish for this number of points but only 1 subdivision makes the performance drop drastic - test and see. And what about like more than 100 K points - it will not cut it.   I've messed arround with Xpresso as well and it works but the performance is the same     So is it the single threaded nature of CINEMA that is causing it or something else.   Thanks again.   WeightByMatrix.c4d
  • Jobs & Buy/Sell