Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login
    1. Maxon Developers Forum
    2. mogh
    3. Posts
    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 33
    • Posts 146
    • Best 10
    • Controversial 0
    • Groups 0

    Posts made by mogh

    • RE: How to create UV of obj.

      I use this to Thank You Ferdinand.

      This is how I imagine an SDK example should look like .... a simplest version , an altered simple version and a complex touching the boundaries of the subject.
      I am thankful and praise your work .... !

      cheers mogh

      posted in Cinema 4D SDK
      M
      mogh
    • RE: How to receive the high definition / Interpolation version of a spline?

      Ok Understood,

      Ok I guess that explains my "nice" comb from the cache and my jagged flip/flop . sometimes zero comb from the "full" matrix normal ...

      I also have different tangents from manually "calculating" them then v3, v2. But I will make a "sanity" check this weekend (feed manual matrixes into my code instead of spline "point" matrixes), before I post about this.

      Thanks Ferdinand
      I'll divide and conquer away.

      posted in Cinema 4D SDK
      M
      mogh
    • RE: How to receive the high definition / Interpolation version of a spline?

      @ferdinand
      Thank you for your answer, exactly what i need, I am trying to incorporate the additional data but get weird results.

      Is there a switch up /typo in the above code I get m.v3 <-> m.v1 ? meaning v1 is the normal ?

      Is there a page in the SDK besides the "Matrix" one that explains the additional values and their features ?

      Thank you for your Time.
      mogh

      posted in Cinema 4D SDK
      M
      mogh
    • RE: TagData Plugin with Gui not using *.res

      Understood Thanks.

      posted in Cinema 4D SDK
      M
      mogh
    • RE: How to receive the high definition / Interpolation version of a spline?

      Ok I guess I have been vague what my issue is.

      from the above helper I only get the points the spline is set to (eg. adaptive 5°) but I perhaps want more points in between. That of course only makes sense in certain scenarios but even though if the spline is a straight line there must be a solution to get points in between.

      Example different adaptive degree values and the resulting points displayed as lines on the spline - Spline is a copy so no altering of the gizmos.
      2025-02-18-Cinema 4D 2025.1.2 - [Untitled 2 _] - Main_000813.png

      sorry to be so basic
      mogh

      posted in Cinema 4D SDK
      M
      mogh
    • How to receive the high definition / Interpolation version of a spline?

      How to receive the high definition version / Interpolation of a spline even when the user has set it to "low" detail?
      How high definition can I get ? is there more than the user Interface of C4D offers ?

      E.g. Interpolation adaptive, angle 0.0

      Or am I using c4d.utils.SplineHelp() wrong and there is a another helper that gives me requested amount of points from a spline?

      helper = c4d.utils.SplineHelp()
      if not helper.InitSplineWith(spline, c4d.SPLINEHELPFLAGS_RETAINLINEOBJECT):
          raise RuntimeError("Could not initialize spline helper.")
      line = helper.GetLineObject()
      points = line.GetAllPoints()
      

      cheers
      mogh

      posted in Cinema 4D SDK python
      M
      mogh
    • TagData Plugin with Gui not using *.res

      How to add a GUI to a TagData Plugin without *.res files ?
      ... I am on the fence with these 😉

      Hope this is basic an clear enough for no further explanation.

      cheers
      mogh

      posted in Cinema 4D SDK python
      M
      mogh
    • RE: General Question: Which Plugin Type? -> Curvature Comb / Plot

      curvature_comb.png

      not bad for 5 hours of dabbling --- thanks to you @ferdinand

      Gotcha's:
      The Curvature was 90dgree rotated - LLM to the rescue ...

      # c4d.plugins.RegisterTagPlugin( ....
      # That one nearly got me ;-)
      # c4d.TAG_IMPLEMENTS_DRAW_FUNCTION # R22 
      

      cheers

      posted in Cinema 4D SDK
      M
      mogh
    • RE: General Question: Which Plugin Type? -> Curvature Comb / Plot

      Thanks @ferdinand for your considered reply,

      At this stage because I just want to "make stuff" I will start as a tool and perhaps learn / have an idea to transfer it to something more useful.

      The obvious simple minded question - why is a tag Plugin not enough can a tag not draw into viewport ? Or only not via Python?

      Thanks
      mogh

      posted in Cinema 4D SDK
      M
      mogh
    • General Question: Which Plugin Type? -> Curvature Comb / Plot

      Dear Developers,

      I am starting to build a new Plugin, which should in the end, draw Curvature Combs / plots onto the selected edges / splines, preferable real time on editing the splines/models.

      My question is which Plugintype would be best suited ?
      Comb

      Thinking out loud:
      I was thinking a Tag Plugin but It could be to restricted as per the Tag plugin has some programing limits as I understand. Command or Tool plugin could work but I fear it will be clunky from a user experience.
      At best a Polygon model with Hypernurbs applied should display several combs at the same time using the Hypernurbs Subdivision for more "accuracy" than a pure Polygon edge.

      The plugin probably needs a Link Box to "receive" a selection. I am thinking of Ferdinands Dynamyc Link Example would be cool to have more than on comb active but only one "Tag / Plugin / ...." per object ...

      Closest thing C4D has is measure and construct Tool.
      As a starting point I would start to display Combs on Splines ...

      So to Pick the hive mind - > What Plugin Type is best suited for stuff like this?

      Moderators: feel free to move this Topic if aplicable.

      Cheers
      mogh

      posted in Cinema 4D SDK python
      M
      mogh
    • RE: res file, formatting, line ending, or encoding ?

      Thats it !
      Thank you @spedler

      posted in Cinema 4D SDK
      M
      mogh
    • RE: res file, formatting, line ending, or encoding ?

      No the SDK Example has no
      res (Optional[c4d.plugins.GeResource]) – The optional resource.
      for RegisterTagPlugin ...

          c4d.plugins.RegisterTagPlugin(id=PLUGIN_ID,
                                        str="Py - LookAtCamera",
                                        info=c4d.TAG_EXPRESSION | c4d.TAG_VISIBLE,
                                        g=LookAtCamera,
                                        description="Tpylookatcamera",
                                        icon=bmp)
      
      posted in Cinema 4D SDK
      M
      mogh
    • RE: res file, formatting, line ending, or encoding ?

      @spedler Thank you for your time you put into this,

      I managed to get the "original" running with a different ID Name after deleting (.../prefs/symbolcache )

      My own copy with Filename, NAME, CONTAINER, STRINGTABLE, ID Name still bugs out.

      I am probably blind 😕
      mogh

      enum 
      {    
          // End of symbol definition
          _DUMMY_ELEMENT_
      };
      
      #ifndef _curvaturetools_H_
      #define _curvaturetools_H_
      
          enum
          {
              CTBOOL      = 2001
          };
      
      #endif
      
      CONTAINER curvaturetools
      {
      	NAME curvaturetools;
          INCLUDE Texpression;
          
          GROUP ID_TAGPROPERTIES
      	{
      		BOOL CTBOOL { };
      	}
      }
      
      STRINGTABLE curvaturetools
      {
      	curvaturetools     "Py - Look At Camera";
          CTBOOL       "Change Pitch Rotation";
      }
      

      2025-02-16 16_22_33-c4d_symbols.h - plugins - Visual Studio Code.png

      posted in Cinema 4D SDK
      M
      mogh
    • RE: res file, formatting, line ending, or encoding ?

      Thank you for the reply,

      • I learned that all the "names / files" have to be the same ... Filename, NAME, CONTAINER, STRINGTABLE
      • The semi-colon is a thing I tried in several configs, and as soon as you touch the files you need them but the strange thing is that the original SDK example has non! The error above is from a missing semicolon. (its gone now with the semicolon after the curly brackets)
      • I changed the ID name and replaced the name in all corresponding files ... still the new variable name is not "found" by c4d.

      Just as a sanity check I also tried removing a character
      PYLOOKATCAMERA_PITCH_A -> error
      PYLOOKATCAMERA_PITCH -> works
      PYLOOKATCAMERA_PITC -> error

      Res, Str, H Files

      enum
      {
          // End of symbol definition
          _DUMMY_ELEMENT_
      };
      
      CONTAINER Tpylookatcamera
      {
      	NAME Tpylookatcamera;
          INCLUDE Texpression;
          
          GROUP ID_TAGPROPERTIES
      	{
      		BOOL PYLOOKATCAMERA_PITCH_A { };
      	}
      }
      
      STRINGTABLE Tpylookatcamera
      {
      	Tpylookatcamera         "Py - Look At Camera";
          PYLOOKATCAMERA_PITCH_A    "Change Pitch Rotation";
      }
      
      #ifndef _Tpylookatcamera_H_
      #define _Tpylookatcamera_H_
      
          enum
          {
              PYLOOKATCAMERA_PITCH_A     = 1000
          };
      
      #endif
      

      snippet:

      self.InitAttr(node, bool, c4d.PYLOOKATCAMERA_PITCH_A)
      node[c4d.PYLOOKATCAMERA_PITCH_A] = True
      

      Error:

      AttributeError: 'module' object has no attribute 'PYLOOKATCAMERA_PITCH_A'
      
      posted in Cinema 4D SDK
      M
      mogh
    • res file, formatting, line ending, or encoding ?

      Dear Developers,

      does anybody know what res files need to be (on Win 11, vs-Code)
      I was banging my head on the res files of my copied Tpylookatcamera (SDK Tag Plugin example R13) Python plugin and could not figure out why my copied version does not find the variable IDs but the "original" could.
      After several days editing my version I tried to edit the original Version (just a different name string for testing) an boom it also stopped working.
      So as far as i understand the res files seem to have a different encoding, line ending , ... or whatever vs-code does to the files ?

      Any idea or am I on the wrong track?
      I am learning to code on R20 but coding for R2025 so shame on me it might also be a R20 thing but its odd anyway.

      2025-02-15 19_45_11-.png
      Thank you
      cheers

      posted in Cinema 4D SDK windows c++ python
      M
      mogh
    • RE: Programing a Tabulated BRDF Node / Shader - possible ?

      Thank You Ferdinand,

      This Problem is not mission critical here, but it kept coming at me (at night). Anyway this is hopefully useful for others in some way, as its to complex for very little gain in my case ... I can fake a similar material with Fresnel colors and some falloff / or even thin film hacks.

      If anybody wonders, the Scan (gradient) is from an X-Rite Material Scanner (TAC) which normally has a proprietary file format.

      Thank you for your time regardless.
      mogh

      posted in Cinema 4D SDK
      M
      mogh
    • RE: Programing a Tabulated BRDF Node / Shader - possible ?

      Thank you Ferdinand for your guidance.

      Redshift sent me here, Adrian said its not possible with OSL because of closure ... https://redshift.maxon.net/topic/51827/how-to-create-a-tabulated-brdf-color-osl-shader?_=1730097777842

      But it seems you made something. I am not sure how to "lookup" the color value in my texture but it seems possible.

      OSL MatCap Shader does this in a Spherical manner anyway ...

      Thanks.

      posted in Cinema 4D SDK
      M
      mogh
    • Programing a Tabulated BRDF Node / Shader - possible ?

      I have a material Properties from a real world material Scan, which represents two different values represented in two gradients X and Y which result in a lookup table I assume. The gradient of the sample is a color shift of "albedo" depending on viewing / light direction.

      image_thumb40.png

      Is it possible to program a node / Shader for C4D and or Redshift to behave like this. Or is the light direction camera position an Chicken / eg problem that can not be solved outside the core of C4D ?

      The question is general because I lack Shader Programing knowledge.
      If this thread should be in General feel free to move it.

      Thank you in advance.
      mogh

      posted in Cinema 4D SDK 2024
      M
      mogh
    • RE: Metadata Supported for FBX Imports?

      Just additional reinforcement.

      We talk here a lot of Metadata in CAD files for Digital Twins, so a universal handling of "additional" data not processed by cinema is an area to explore at Maxon !

      posted in General Talk
      M
      mogh