Jump to content


Regular Member
  • Content Count

  • Joined

  • Last visited

  • Days Won


Cairyn last won the day on November 30 2019

Cairyn had the most liked content!

Community Reputation

56 Noble Beginner

About Cairyn

  • Rank
    Cafe Ronin

Profile Information

  • First Name
  • Last Name
  • C4D Version
  • Website URL
  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Works fine for me; that's R21 as well. Of course here I have a multi-key shortcut; if you have issues with single-key shortcuts (which I didn't test for this command) you may need to ask MAXON. Note that the ctrl qualifier has to be set for the very last keystroke to register with the command too. Anyway, while I was at it, I inserted the mode change into the script too: import c4d from c4d import gui, utils def main(): settings = c4d.BaseContainer() settings[c4d.MDATA_CONVERTSELECTION_LEFT] = 2 # poly settings[c4d.MDATA_CONVERTSELECTION_RIGHT] = 0 # point settings[c4d.MDATA_CONVERTSELECTION_TOLERANT] = False res = utils.SendModelingCommand(command = c4d.MCOMMAND_CONVERTSELECTION, list = [op], mode = c4d.MODELINGCOMMANDMODE_POLYGONSELECTION, bc = settings, doc = doc) if res is False: print "Something went wrong." elif res is True: print "Command successful." doc.SetMode(c4d.Mpoints) c4d.EventAdd() else: print "Unsupported response." if __name__=='__main__': main() When the command finishes successfully (transfer of selection went well), then the mode is set to Points. Any error output goes to the Python console, you can set a message dialog as alternative. Get more C4D Python from my Patreon: https://www.patreon.com/cairyn
  2. Although you can assign a keyboard shortcut to the Polygons command too. The trick is that you need to use Ctrl in this shortcut. I have assigned Q~P and Q~Ctrl-P to the Polygons command, so the Ctrl qualifier is passed to the command itself, and works as if you click the icon while holding Ctrl. This is a conceptual difficulty - if you use a qualifier key as part of a keyboard shortcut, and the called command also evaluates the qualifier, then these qualifiers must match to have the desired effect.
  3. import c4d from c4d import gui, utils def main(): settings = c4d.BaseContainer() settings[c4d.MDATA_CONVERTSELECTION_LEFT] = 2 # poly settings[c4d.MDATA_CONVERTSELECTION_RIGHT] = 0 # point settings[c4d.MDATA_CONVERTSELECTION_TOLERANT] = False res = utils.SendModelingCommand(command = c4d.MCOMMAND_CONVERTSELECTION, list = [op], mode = c4d.MODELINGCOMMANDMODE_POLYGONSELECTION, bc = settings, doc = doc) c4d.EventAdd() if res is False: print "Something went wrong." elif res is True: print "Command successful." else: print "Unsupported response." if __name__=='__main__': main() Can be more or less taken from the documentation of SendModelingCommand... Change the values for MDATA_CONVERTSELECTION_LEFT and _RIGHT if you want another direction. Note that this script does not switch the mode from poly to point, it just calls the internal selection transfer functionality. Mode change could be added if needed. Get more C4D Python from my Patreon: https://www.patreon.com/cairyn
  4. These are the content libraries which give you the predefined ready-to-use objects, scenes, and materials. There is no "best" one as they all contain different things. You download all of them, naturally.
  5. UV unwrapping does not necessarily preserve angles or lengths. Depends on the unwrapping method, which you didn't specify. Quads can get problematic as not every quad is planar. Phong angles do not have any effect on geometry or the UV mapping (unless in some obscure unwrapping methods that I am not aware of?). And your images don't match up - that are clearly completely different objects...
  6. Go to the Customize Command window. The upper part of the animation palette is called "Timeline Scroll Bar (Key Area)" in that window. The power slider is the preview-area-slider thing below, find it under "Timeline Scroll Bar (Power Area)". You can drag these to a New Palette like any icon. (Note that the Customize Command window does not just contain icons but also extra stuff like this, which can still be used like an icon area in a toolbar. Other examples can be found under "Quantize Move Slider" (and other Quantize pseudo-icons).) (Just saw that you have an old version of C4D, I don't know if it's called the same there, as I have no R18 installed any more.)
  7. You can use the Script Log to record stuff you're doing in the GUI, which creates a Python script. I do recommend some knowledge of Python and the C4D API for full benefit, though.
  8. I guess your hierarchy is off. The right-left motion would be an axis higher up (vertical); then there is the caliper with the wheel axis setup, then farther down there is the actual wheel on the axis. Right/left motion and rotation have different axes and should not be realized by the same object (null). If the hierarchy is good (realistic), then it's no problem to model the RL motion.
  9. It can, I just wasn't aware that it defaults to Latin-1, which caused all kinds of trouble together with the discrepancy between Python 2 and 3 handling of Unicode. (I did find out, but it took me THREE whole chapters in my Python: Spoonfed series to explain. D'oh! Let's see whether C4D switches to Python 3 before I publish a book version...) But it is indeed an ancient editor (Crimson Editor) where I am surprised that it still runs under Windows 10, so I think a change may be adviseable.
  10. I don't really see the need for the Command Line, as you can type in the Python Console and also drag items there, just like you could with the CL before. Haven't seen any additional functionality in the CL that I would miss. The space needed for the list of various outputs can be minimized by dragging the division. While I could imagine better solutions, it's not that must wasted space. The editor is indeed not very good but for short stuff it's convenient. I used an external editor for Python plugins until I realized that it's using Latin-1 encoding while C4D only knows UTF-8 so maybe I need a new Python editor/development environment altogether.
  11. I doubt very much that Blender adapts their development plans to target C4D users specifically. Stuff like an improved Outliner were on the wish list of Blender users for a long time. That the 2.81 came out relatively fast after the 2.80 is more due to the fact that the 2.80 took longer than expected, and there were features in the backlog already being developed but not making it to the 2.80 so now they start to appear all over. I am fairly sure that we will see more of these in the 2.82, and that the 2.82 will get out speedily as well. It is pretty natural if Blender developers have their sights on other DCC programs as well, to check out what's on the market and what users really desire, but I doubt they even need to target specific competition. They are already growing. The needs of an open source program are different. What will get interesting: sooner or later, Blender will need a serious and thorough core revamp. Which will break many many things, and require a concentrated centralized effort, instead of just tacking on a new feature. I'm curious how well that will go, and when it will happen. I whould certainly hope for a program philosophy that combines the strengths of C4D, Houdini, and Blender itself, but sadly these are not always valid combinations Huh. I have worked with instable software, and it is a nightmare and a money sink. Stability and reliability are fairly important, and you can only achieve these with the right structural development method. Imagine you develop a character for animation, and when almost done, you find that under these specific circumstances sadly the jiggle deformer doesn't work at all (when all the documentation and all your previous tests told you it would). And you really need the jiggle deformer. And it's too deeply entrenched in the program's structure to be farmed out to another DCC app. So, you go back to your director and say... "Boss, we can't have Father Christmas' belly jiggling, the program doesn't do it". Uh. Not good. Yes, features are important too, and users are falling for the shine and gleam of many a feature. That is a downside of the market, actually. The possibility to safely and variedly combine features is actually more important in my eyes than singular features. ...I think that we're not even close to the optimum, in any program (maybe Houdini...), and that the "optimum" in that respect will ultimately look more like a programmer's IDE than an artist's app. Duh. Dunno. Not sure what to think about that. Personally, I hate subscriptions and will avoid them like the plague. (I don't hate paying for new stuff or even maintenance, but the concept of "pay forever or you lose everything" is a peeved poor choice, and I will not do that.) But currently there are still Perpetuals for C4D, and I'm on the fence about what message moving away sends. Will MAXON rethink their (projective) pricing and make the Perpetuals affordable on the MSA level (we don't have final R22 prices yet)? Will Perpetuals stay forever? I'm not going to warm up the whole discussion again, but I would like to express "Hey MAXON, I'm willing to stay on board but I don't do subscriptions and expect Perpetuals to be handled with the same attention and a comparable pricing as the subscriptions you think you can push..." Not just "Hey there's Blender too, goodbye thx". There are, after all, serious losses involved with changing the app. Although, in the end I wonder how this all will play out. Maybe I should start programming a MoGraph-like feature for Blender. Think anyone would be interested in that? May take a while as I haven't yet looked at the Blender API.
  12. Hello; I recently wrote a little plugin as motivation in the Python: Spoonfed course. As this is still in need of a bit "nurturing", I publish this version for everybody for free: https://www.patreon.com/posts/python-spoonfed-31945362 What does it do? When invoked (preferrably by a keyboard shortcut), it opens a dropdown menu containing all polygon selection tags of the currently selected polygon object. Click on one to set the selection - don't bother searching the Object Manager for the proper tag again. I made this plugin because the plethora of little orange triangles in the horizontal tab mode gets really un-manageable after a dozen or so; the vertical tag mode eats up a lot of space in the vertical; and the methods to re-color or re-icon a tag are - while helpful - not sufficient and take too much work with many tags. In the future I may publish a refined version and more related scripts controlling the selections and visibility - these will, however, most likely go into the $2 tier then. https://www.patreon.com/cairyn List of older scripts and plugins available in the Python: Spoonfed project: (Note that $$ listed are not plugin prices but Patron tiers!) Joint Walking (Scripts) Put these on keyboard shortcuts to move through the joint tree. Allows to move up in the hierarchy, down (with a menu to select ambiguous children), to the next or previous joint. Free https://www.patreon.com/posts/python-spoonfed-31813681 Type Template Selection (Scripts) Select tags or objects that share the type with the currently selected tag or object. In case of the tags, you have a script that works only on the current tag's object, and one that works on all selected objects. Free https://www.patreon.com/posts/python-spoonfed-31617497 Object Selection (Scripts) Select the currently selected object's parent, direct children, siblings, cousins, or its top ancestor with these five scripts. Free https://www.patreon.com/posts/python-spoonfed-31572219 Select Point by Proximity (Script) Coincident points make it difficult to select one specific point out of the set. With this plugin, you can select the point's polygon instead and get the nearest point on the polygon selected - you just need to be close to the desired point to determine the result. $5 Tier Download: https://www.patreon.com/posts/script-select-by-31302799 Description: https://www.patreon.com/posts/script-select-by-31302699 Time Handling (Scripts) Go forward or backward in time: 2,5,10 frames; by the second; or to the start/end of the preview range. Patrons only (starts at $2) https://www.patreon.com/posts/python-spoonfed-31172559 Switch to Next / Prev Camera (Scripts) Switches the viewport from the current camera to the closest one in the Object Tree, or to the editor camera if there is no further camera present. Free https://www.patreon.com/posts/open-source-to-31104070 Collie ProjectButtonBar (Plugin) A full plugin with dockable dialog that lists all currently open projects. Optionally, you can see the pathes in full or shortened display. Allows to switch to another project quickly. $5 Tier Download: https://www.patreon.com/posts/plugin-collie-5-30897175 Description: https://www.patreon.com/posts/plugin-collie-5-30830191
  13. Your while loop never exits. The condition does not change; neither i nor cloneCount are progressing. Also, check what your types are. For val you divide an integer by another integer. That is employing a floor division resulting in 0 for all clone counts > 1. Also, you may want to check cloneCount for 0 before dividing.
  14. True, if you want to put several objects under a symmetry or the likes, then Display Color for the subobjects is pointless (unless you switch off the symmetry, then the original colors are used again). One could think this is a conceptual bug, and an option "use subobject display colors" would be needed (esp. since generators don't even have visible parts of their own to color). Same if you want to color different polygon selections on your poly object differently, that is obviously only possible with textures. Of course, until you run into these issues, display color is still an option. Some things are only possible with display color: if you set your display color to "automatic" and have a "final" texture in addition, you can switch between the "symbolic" display color and the texture through the viewport options. With just textures, you'd need to script the switch. Makes one think what'd be more useful: a script to activate the Display Color for each object, and simultaneously select colors for the display in a range that makes the objects well visible (limitations nonwithstanding) - or a script that would create full (but simple) materials for the same purpose, and add a material tag for each object. The latter is a more versatile approach, but it would need a set of rules as we don't want override troubles, or naming conflicts with "final" materials.

Latest Topics

Latest Comments

  • Create New...