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. Polyflow
    P
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 4
    • Best 0
    • Controversial 0
    • Groups 0

    Polyflow

    @Polyflow

    0
    Reputation
    75
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Polyflow Unfollow Follow

    Latest posts made by Polyflow

    • RE: Developing .obj sequence exporter for selected objects

      @mp5gosu i am unsuccessfully trying code from documentation.

      I’m the developer of Vertex Animation Tools for Unity, I can’t say that I'm new to tool development, but this API makes me feel stupid. I saw the Polygonyze function, but I don’t see its result. I'm really trying to understand the C4D API in reasonable term but I can't. Exporting the obj sequence from c4d is a trivial function that people have been looking for for years, and now I understand why.
      Can Maxons engineers helps to write this script (finally)?

      posted in Cinema 4D SDK
      P
      Polyflow
    • RE: Developing .obj sequence exporter for selected objects

      Now i am trying to Bake an object before export using Current State To Object but this test piece of code not do anything

      res = utils.SendModelingCommand(command = c4d.MCOMMAND_CURRENTSTATETOOBJECT,
                                      list = [op],
                                      mode = c4d.MODELINGCOMMANDMODE_ALL,
                                      doc = doc)
          c4d.EventAdd()
      posted in Cinema 4D SDK
      P
      Polyflow
    • RE: Developing .obj sequence exporter for selected objects

      @mikeudin
      Polygonize not works for me.

      By the way - I'm amazed at the responsiveness of your community.

      posted in Cinema 4D SDK
      P
      Polyflow
    • Developing .obj sequence exporter for selected objects

      Hello i am new here.
      I am developing obj files sequence exporter .
      Now it properly export regular objects such as moving cube itc but skinned meshes stuck in one pose over all frames.
      I found not so elegant solution - Bake it as Alembic before export skinned mesh . Any options to export skinning meshes wihtout prebaking? Or how bake objects by script?

      import c4d
      import os
      import subprocess
      from c4d import gui
      
      
      #USAGE:
      #1) SET TIMELINE START-END
      #2) SELECT OBJECTS TO EXPORT
      #3) EXECUTE SCRIPT
      #4) SELECT FILENAME. FRAME NUMBER WILL BE AUTOMATICALLY ADDED TO .OBJ FILE NAMES
      
      
      def main():
          c4d.StopAllThreads()
          doc = c4d.documents.GetActiveDocument()
          fps = doc.GetFps()
          fromTime = doc.GetMinTime().GetFrame(fps)
          toTime = doc.GetMaxTime().GetFrame(fps)
          animLength = toTime - fromTime + 1
          filePath = c4d.storage.SaveDialog()
          filePath, objName = os.path.split(filePath)
          objName = objName + "_"
          filePath = filePath + "\\"
      
      
          for f in range(0,animLength):
      
              c4d.EventAdd(c4d.EVENT_FORCEREDRAW)
              c4d.DrawViews(c4d.DRAWFLAGS_FORCEFULLREDRAW)
              c4d.StatusSetText("Exporting " + str(f) + " of " + str(animLength))
              c4d.StatusSetBar(100.0*f/animLength)
      
              objs = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_CHILDREN)
      
              # Get a fresh, temporary document with only the selected objects
              docTemp = c4d.documents.IsolateObjects(doc, objs)
              docTemp.SetTime(c4d.BaseTime(fromTime,fps) + c4d.BaseTime(f,fps))
              if docTemp == None:
                  return
      
              # Set project scale
              unitScale = c4d.UnitScaleData()
              unitScale.SetUnitScale(1.0, c4d.DOCUMENT_UNIT_M)
      
              bc = c4d.BaseContainer()
              bc[c4d.DOCUMENT_DOCUNIT] = unitScale
              docTemp.SetDocumentData(c4d. DOCUMENTSETTINGS_DOCUMENT, bc)
      
      
              fileName = filePath+objName+str(f)+".obj"
              savingresult = c4d.documents.SaveDocument(docTemp,fileName,c4d.SAVEDOCUMENTFLAGS_0,c4d.FORMAT_OBJ2EXPORT)
              c4d.documents.KillDocument(docTemp)
      
          c4d.StatusClear()
          gui.MessageDialog( 'Exporting to'+filePath+' done' )
      
      
      if __name__=='__main__':
          main()
      
      
      posted in Cinema 4D SDK python
      P
      Polyflow