Jump to content

darrellp

New Member
  • Content Count

    9
  • Joined

  • Last visited

Community Reputation

0 Poor

Profile Information

  • First Name
    Darrell
  • Last Name
    Plank
  • C4D Ver
    19.024 Studio
  • Location
    Sequim, WA USA
  • Interests
    Salt water toffee
  1. Perfect! Given my original question I think I could have looked a LONG time before realizing that this is the solution. Thank goodness for the forums and people like yourself helping out!
  2. I've got several parametric objects in a cloner. I want to keep them parametric. Some of them are oriented the way I want and some are not. For instance, suppose I've got asparagus and an apple under the cloner. The apple is fine but the asparagus is lying flat when I want it to stand up. Note that I want to transform the objects under the cloner in a way that reordering in the cloner still leaves both the apples and the asparagus in the proper orientation - i.e., I want to transform based on object under the cloner, not indices within the cloner output. How can I reorient the ones I want and leave the others be? Some things that don't work: 1. Use the cloner's transform tab - this transforms everything. 2. Use Mograph selections on, for instance, the plain effector. This changes based on indices rather than objects under the cloner and breaks if ordering is changed (i.e., go from iterative order to random). Also, it's too hard to pick out ALL the asparagus if there are too many clones. 3. Turn the asparagus into an object and rotate the pivot. This means it's no longer parametric. 4. Rotate the asparagus initially - Cloner ignores any initial orientation. Surely there's a way to do this but I haven't seen it yet.
  3. darrellp

    Field Plugin in Python

    Thanks - I'll check over there.
  4. Starting in on plugin writing and kind of working my way up. I thought I'd do a field since there is a built in "python field" so I started there. Then I'd try a python plugin and finally I'd turn it into a C++ plugin - a language I'm much more familiar with. I decided to do a field that would be alternate off and on in angular segments around an axis. Got this working in the python field though I've still got some questions there (why does the transform always get passed in as an identity matrix? Probably doesn't but every case I tried with things moved around it was just an identity matrix). Okay - next I'd try a python plugin. I have my code from the "python field" I created - how hard can it be? I eventually figured out the menu system and got a plugin with a non-functional but proper menu to appear under plugins. At this point, I'm ready to create a field, give it a somewhat tweaked version of the Sampling method I'd written for the "python field" and return that - somewhere. I'm not sure where but figured I'd definitely have to create the field so I made a new class and subclassed it off of c4d.modules.mograph.FieldObject. That should do it - but no: type 'c4d.FieldObject' is not an acceptable base type I had used "c4d.modules.mograph.FieldObject" and it told me about "c4d.FieldObject" but whatever. I assume this is because I'm not a python guru. Spent the last 30 years writing in C++ and C# but not much in Python. I looked at the documentation which is very low on semantic content and pretty much just gives barebones functions so I'm not really sure what I should be instantiating here - just guessed that it might be something called FieldObject but I guessed wrong. Saw FieldList and finally kinda guessed that this represents the list of fields in Falloffs, etc.. Saw that you put "FieldLayers" in these so maybe that's what I should be instantiating? Tried it and got the same "not acceptable base type". I've seen a few lists of "objects you can create in R20" and I don't see "Field" on them. Is there just no way to do this in Python? That doesn't seem possible, especially since you can actually make a "Python field" directly in C4D. I've included a zipped file of what I've got currently. At this point it doesn't work since I've got the class in there that subclasses off of FieldObject. Remove that class and you get my nice little non-functional plugin with it's non-functional parameters menu. Thanks for any help here. Darrell Plank AngularField.zip
  5. Ah - there you go. I figured it was something dumb. I also saw that the "best" way to do this was with fields which was what I eventually did but did want to understand this little curiosity for future reference. Thanks!
  6. I gave a link to the scene file but you're right - should have attached so I've done that here. Mograph Colors Problem.c4d
  7. I'm probably doing something dumb, but when I set up a grid array of cubes and use a random effector to color them different colors (i.e., set Color Mode to "Effector Node" in the Parameter tab of the random effector) I end up getting a bunch of black cubes - way more than by chance. When I made a node material and put in a debug node I was surprised to find out that these colors have negative R, G and/or B components. If I put in an absolute values on these colors everything is nice and colorful. I've placed a .c4d file at https://1drv.ms/u/s!AiZQurjJAGNUhdp5NIIfrDu7zUXreQ that illustrates the problem. In the nodal material there is an "if" node called "Good If True" that will use the absolute values if true and use the direct mograph colors if false - just change it's value in the data panel for the node to see the difference. Does anybody have any idea why this is happening? Color components should never be negative normally.
  8. Is there any good way to get Bodypaint to work directly with a Cycles 4D material? If you use one as a material in the BP materials panel, it won't let you add a texture bitmap so you really can't use it directly. A workaround is just use a standard material in the standard way and finally export to a bitmap which you can subsequently read into a Cycles 4D Image node. This is probably the best way, but it means I can't see the effect of the Cycles 4D channels while I'm painting. Not the end of the world and I can live with it, but if there was a more convenient way...

×