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

    Node ID relevant bits?

    Cinema 4D SDK
    3
    4
    599
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      Virtualritz
      last edited by

      When calling FindUniqueID() for a node, I always get returned a 128 bit block of memory with the first 96 bits looking identical for any node I queried so far in any scene.

      Is it safe to assume I can throw these away so I'm left with a neat, 32 bit GUID?

      1 Reply Last reply Reply Quote 0
      • ferdinandF
        ferdinand
        last edited by ferdinand

        Hi @Virtualritz,

        welcome to the forum and the Cinema 4D Community. Please note that we require postings to be tagged with information regarding the operating system, programming environment and Cinema 4D version. You can find out more about our forum procedures in our Forum Guidelines. So I would have to ask you to please add that information to your posting with tags.

        Regarding your question of splitting the unique ID - it depends a bit on your scenario. First of all I am assuming here that you talk about MAXON_CREATOR_ID, because otherwise the ID could have any shape or form, depending on what has been passed when the ID has been added.

        We recently had this posting where we talked about the hash function of the unique ids returned by FindUniqueID(MAXON_CREATOR_ID). The first 8 bytes are the mac-address of the machine, so you can sort of treat this as a constant, but there is of course is reason why it is there, as it seperates node instances by the mac-address of the creator. The reason why you assumed the first 12 bytes to be constants is probably because you made the queries all on the same day and the second hashing element with 4 bytes is a time stamp. Although it surprises me a bit that they ware identical down to the last bit, I would have more expected only the first 10 bytes to be identical or so.

        There is also this post where @m_adam answered a few questions of mine (when I was a user) regarding the collision resistance of FindUniqueID(MAXON_CREATOR_ID). This might also be relevant to you.

        Cheers,
        Ferdinand

        MAXON SDK Specialist
        developers.maxon.net

        1 Reply Last reply Reply Quote 0
        • F
          Filip
          last edited by

          Hi @Virtualritz! Nice to see you on this forum. (Filip here, we talked on the 3delight discord)

          1 Reply Last reply Reply Quote 0
          • ferdinandF
            ferdinand
            last edited by

            Hi @Virtualritz,

            without further questions or updates we will consider this topic as solved by Thursday and flag it accordingly.

            Cheers,
            Ferdinand

            MAXON SDK Specialist
            developers.maxon.net

            1 Reply Last reply Reply Quote 0
            • First post
              Last post