Navigation

    • Register
    • Login
    • Search
    1. Home
    2. intenditore
    intenditore

    intenditore

    @intenditore

    Tech. animator. Like Expresso, MoGraph, setups and all the technical stuff. Available for outsource
    Reel - vimeo.com/308878899
    behance.net/ambiclusion
    instagram.com/ambiclusion

    2
    Reputation
    34
    Posts
    77
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online
    Email [email protected] Website www.instagram.com/ambiclusion/ Location Moscow

    • Profile
    • More
      • Following
      • Followers
      • Topics
      • Posts
      • Best
      • Groups
    intenditore Follow

    Best posts made by intenditore

    RE: Get all neighboring points (including not connected by edge). Fast.

    @zipit I don't get why you're still not working in Maxon. That seems illogical!
    Many thanks for a such detailed answer once again!
    The problem is the solution is intended to chew a lot of polys and there may be some "Zbrush"-like model. So as I already understand, I will have to port it to CPP anyway.

    @nophoto said in Get all neighboring points (including not connected by edge). Fast.:

    I would use a BaseSelect to 'collect' all points

    Quite a point! Great suggestion I think, I will try that out

    posted in Cinema 4D SDK •
    RE: Python tag - IsDirty() not working?

    @PluginStudent oh God! You helped me so much!
    Many thanks for that. Sincerely, it's not very well explained in docs, really not well (in opposite to Undo system for instance) and getting how exactly should it work is tricky. But your last suggestion surely works, and it raises the number every time hierarchy is changed, so I need only check has it been changed or not and than decide to run the code or not (maybe somebody will stuck in the same position so I hope my plain explanation would be useful)
    Thanks!

    posted in General Talk •

    Latest posts made by intenditore

    RE: pyDeformer mode: ID_MG_BASEEFFECTOR_POSITION works, but ID_MG_BASEEFFECTOR_SCALE doesn't

    Oh, you're always making a huge work answering the questions! 👏

    I'm slightly confused by the topic you cover, can't find what PNG is.
    What should I do with random.seed than if I rely on unique random number generated for the particular clone? I can't move it out of main() because only there ID is accessible.
    Make some class to store there those random numbers as globals and check should I generate it again or use as before based on user data seed and clone count?

    posted in Cinema 4D SDK •
    RE: pyDeformer mode: ID_MG_BASEEFFECTOR_POSITION works, but ID_MG_BASEEFFECTOR_SCALE doesn't

    I am a bit confused, because the integer value for the symbol in question, is right there in your print out (1011 is integer value for c4d.ID_MG_BASEEFFECTOR_SCALE
    Sorry, that's my typo of course.
    My code actually looks like this:

    import c4d
    from c4d.modules import mograph as mo
    import random
    #Welcome to the world of Python
    
    def main():
        md = mo.GeGetMoData(op)
        if md is None: return 1.0
        mode = md.GetBlendID()
        
        index = md.GetCurrentIndex()
        random.seed(md.GetCount() * index * op[c4d.ID_USERDATA,1])
        rIndex = random.randint(0,2)
        if mode == c4d.ID_MG_BASEEFFECTOR_SCALE:
            rVal = 1
        else:
            rVal = random.choice([-1, 1])
        weights = md.GetArray(c4d.MODATA_WEIGHT)
        #print rVal
        vector = c4d.Vector()
        vector[rIndex] = rVal * weights[index]
        if mode == c4d.ID_MG_BASEEFFECTOR_POSITION or mode == c4d.ID_MG_BASEEFFECTOR_ROTATION or mode == c4d.ID_MG_BASEEFFECTOR_SCALE:
            return vector
        else: return 1.0
    

    It's point is to randomly choose the axis which the value will be added to. It can give results as in attached image 2020-07-22_16-58-31.png
    But to avoid negative scale I check if the Scale is active. But weirdly my code with the same check as yours never worked. For some reason I copied your and despite it's the same letter to letter now it works.
    I'm confused...

    But thanks for your answer anyway!

    posted in Cinema 4D SDK •
    pyDeformer mode: ID_MG_BASEEFFECTOR_POSITION works, but ID_MG_BASEEFFECTOR_SCALE doesn't

    I stumbled upon a weird thing. I code a Python Effector (parameters control), there I want to check does it affect scale parameter or not:

    md = mo.GeGetMoData(op)
    mode = md.GetBlendID()
    if mode == c4d.ID_MG_BASEEFFECTOR_SCALE:
            rVal = 1
        else:
            rVal = 0
    

    Fairly basic
    And you know, the first if is never true. Despite ID_MG_BASEEFFECTOR_POSITION is working.
    I tried ID_MG_BASEEFFECTOR_SCALE_ACTIVE but nothing changed.
    Than I checked what mode is. Whatever I do it's always returning the same:

    1010
    1011
    1012
    1013
    1013
    1013
    1065
    1066
    1067
    1064
    1068
    1069
    1020
    19
    20
    

    There are all kinds of the modes enumerations (can be found in \resource\modules\objects\description\obaseeffector.h) despite only Scale (1013) is active. So I don't understand what is that.
    Why doesn't it work? And how should it?

    posted in Cinema 4D SDK •
    RE: Get all neighboring points (including not connected by edge). Fast.

    @zipit I don't get why you're still not working in Maxon. That seems illogical!
    Many thanks for a such detailed answer once again!
    The problem is the solution is intended to chew a lot of polys and there may be some "Zbrush"-like model. So as I already understand, I will have to port it to CPP anyway.

    @nophoto said in Get all neighboring points (including not connected by edge). Fast.:

    I would use a BaseSelect to 'collect' all points

    Quite a point! Great suggestion I think, I will try that out

    posted in Cinema 4D SDK •
    Get all neighboring points (including not connected by edge). Fast.

    Hi. My goal is simple - I need to gather info from all the points which are near a given one. I can use

    c4d.utils.Neighbor.GetPointOneRingPoints()
    

    But it's downside (for me) is it only considers the points connected to specified point by edge. I need all of which belong to the polygons this point belongs to.

    So that could be done by Utils.Neighbour, but... First you have to get neighbour polys. Than their points. Than exclude the first given point from the list and toss them all so the list doesn't contain duplicates. And only than you get the list of the points.

    On dense geometry this would increase the cyclecount and memory consumption much! I don't really like that.

    Are there any handier way to achieve the same?

    posted in Cinema 4D SDK •
    RE: TagData plugin to "return" Vertex map?

    Yeah, sure)

    posted in Cinema 4D SDK •
    RE: TagData plugin to "return" Vertex map?

    @m_magalhaes said in TagData plugin to "return" Vertex map?:

    I don't see the benefice of creating a generator ? What's your idea ?

    actually it was another idea with the same concept behind - I wanted to make kingda "edit poly" modifier, so generator must have been behaving like a poly object. But now I see it's not possible...

    Thanks for all the help!

    posted in Cinema 4D SDK •
    RE: TagData plugin to "return" Vertex map?

    Oh, that's sad..
    Thanks for answers
    Does this extrapolates to all the aspects? For instance, can I make a generator/deformer which would "return" PointObject?

    Sorry I forgot tags

    posted in Cinema 4D SDK •
    TagData plugin to "return" Vertex map?

    I'm curious and nobody yet could answer me (even Donovan Keith doesn't know) - how to make a tag which can be used as a vertex map where the usual vertex map is applicable? Yeah, you can modify an existing map for sure, but it's not the way I wish to go
    Is it possible?

    posted in Cinema 4D SDK •
    RE: UI, Resource Descripion and all those .h, .str, .res

    Brah... Third time spent fighting with stupid typos! :
    @PluginStudent @zipit @r_gigante many thanks! I didn't assume you are using the same system inside the program and had no thought to take a look there!
    Seems adding the "," helped it.
    And, as I see, you must enumerate all the elements in your .h file, but though you can leave id blank.
    Thank you!
    %\

    posted in Cinema 4D SDK •