ChaosKit

05/09/2012 12:33 enCore™#91
Quote:
Originally Posted by hoostler View Post
Thanks guys.


I have compiled ChaosKit for Cinema R12 but I dont know if its working. I cant check it by myself. But you can try. Please confirm if it works.

chaoskit for R12 (?)
[Only registered and activated users can see links. Click Here To Register...]
hmm chaos kit wont work for me ...
i have this C4D
05/09/2012 13:23 ≡RockiXX≡#92
You need the R10 Version(The Portable R10 wont work because there are problems with the weight tool (for me)).
05/10/2012 08:18 hoostler#93
Hi guys. Long time no see.

Here I bring you a working plugin for both R10 and R12 (Works only with C4d 32bit version)

[Only registered and activated users can see links. Click Here To Register...]
05/10/2012 11:19 DrBong#94
Quote:
Originally Posted by hoostler View Post
Hi guys. Long time no see.

Here I bring you a working plugin for both R10 and R12 (Works only with C4d 32bit version)

[Only registered and activated users can see links. Click Here To Register...]
ENDLICH, mit C4D R12 arbeiten und alle modele lassen sich laden <3
EDIT: ok fasst alle...^^
06/15/2012 11:06 Nenad™#95
kann mir mal wer helfen :o wie speicher ich mein bearbeites bm datei ab -.- das mein client das auch laden kann ( Rüssi breiter gemacht und länger ) bei mir wird das irgent wie schwartz ^^ beim ersten mal hatte ich kein prob... bitte um hilfe
06/15/2012 14:20 ≡RockiXX≡#96
weighten,bones,joints,(smc maybe) ich hab auch meine zeit gebraucht bis ichs raushatte,brauche selbst heute noch länger zeit um das hinzukriegen,aber es wird leichter wenn du einmal eine routine raushast.
06/15/2012 14:40 Nenad™#97
kannst du mal skype on kommen bitte ^^
06/15/2012 19:28 BaZZtian#98
Quote:
Originally Posted by hoostler View Post
Hi guys. Long time no see.

Here I bring you a working plugin for both R10 and R12 (Works only with C4d 32bit version)

[Only registered and activated users can see links. Click Here To Register...]
can u make a add on for C4D R12 x64?
06/23/2012 07:14 WickedMage#99
Nach nu drei oder vier Tagen (Nächten) hab ich verzweifelt versucht die mit dem PlugIn in C4D geladenen Charaktere zu animieren...
Nu hab ich ganz nebenbei auch noch bisschen Phyton gelernt ^^

mit diesem Script kann man die kontrolle ans skelett übergeben und einfach los legen...

Edit: etwas verbessert:
Code:
import c4d
#Welcome to the world of Python


def getfirstobject():
    object = doc.GetFirstObject()
    
    if object == None:
        return None
        
    while True:
        if object.GetUp() != None:
            object = object.GetUp()
        elif object.GetPred() != None:
            object = object.GetPred()
        else:
            break
    
    #print "firstobject() ret:",object
    return object


def getskelett():
    object = getfirstobject()
    
    if object == None:
        return None
        
    while True:
        
        while True:
            
            control = object.GetDown()
            
            if object == None:
                return None
            elif control == None:
                object = object.GetNext()
            else:
                break
            
        if object.GetType() == 1019362 and control.GetType() == 1019362:
            return object
        else:
            object = object.GetNext()

def nextjoint(joint):
    if joint == None:
        return None
    if joint.GetDown() != None:
        ##
        ## print joint.GetDown().GetName()
        ##
        return joint.GetDown()
    elif joint.GetNext() != None:
        ##
        ## print joint.GetNext().GetName()
        ##
        return joint.GetNext()
    else:
        while True:
            if joint.GetUp() != None:
                joint = joint.GetUp()
            else:
                return None
            
            if joint.GetNext() != None:
                ##
                ## print joint.GetNext().GetName()
                ##
                return joint.GetNext()

def getskelettjoint(jointname):
    skelett = getskelett()
    
    joint = skelett
    #print "searching...",jointname
    while True:
        joint = nextjoint(joint)
        if joint != None:
            if joint.GetType() == 1019362 and joint.GetName() == jointname:
                return joint
        else:
            return None
            
            
    
                
def getfirstmesh():
    mesh = getfirstobject()
    
    if mesh == None:
        return None
        
    while True:    
                                    #// 5140 "Null-Objekt"
                                    #// 5100 "Polygon-Objekt"
        
        while True:
            
            control = mesh.GetDown()
            
            if mesh == None:
                return None
            elif control == None:
                mesh = mesh.GetNext()
            else:
                break

        if mesh.GetType() == 5140 and control.GetType() == 5100:
            return mesh
        else:
            mesh = mesh.GetNext()
            

def getnextmesh(lastmesh):
    mesh = lastmesh
    
    if mesh == None:
        return None
    mesh = mesh.GetNext()
    if mesh != None:
        control = mesh.GetDown()
    else:
        return None
        
    
    while True:    
        
        while True:
            
            if mesh == None:
                return None
            else:
                control = mesh.GetDown()
                
            if control != None:
                break
                
            mesh = mesh.GetNext()
                

        if mesh.GetType() == 5140 and control.GetType() == 5100:
            return mesh
        else:
            mesh = mesh.GetNext()


def getfirstmeshjoint(thismesh):
    mesh = thismesh
    
    if mesh == None:
        return None
    
    joint = mesh.GetDown()
    
    while True:
        #// 1019362 "Joint" 
        if joint.GetType() == 1019362:
            return joint
        
        joint = joint.GetNext()
            
        if joint == None:
            return None
            
def getnextmeshjoint(meshjoint):
    joint = meshjoint
    
    if joint == None:
        return None
        
    while True:
        joint = joint.GetNext()
        
        if joint == None:
            return None
        else:
            if joint.GetType() == 1019362:
                return joint
                

def getfirstpoly(thismesh):
    if thismesh == None:
        return None
    
    poly = thismesh.GetDown()
    while True:
        if poly.GetType() == 5100:
            return poly
        
        poly = poly.GetNext()
            
        if poly == None:
            return None
            

def getnextpoly(poly):
    if poly == None:
        return None

    while True:
        poly = poly.GetNext()
        
        if poly == None:
            return None
            
        if poly.GetType() == 5100:
            return poly
            

def disableskin(thismesh):
    if thismesh == None:
        return False
        
    poly = getfirstpoly(thismesh)
    if poly == None:
        return False
    
    while True:
        skin = poly.GetDown()
        if skin != None:
            skin[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = False
            
        poly = getnextpoly(poly)
        
        if poly == None:
            return True
    
def enableskin(thismesh):
    if thismesh == None:
        return False
    
    poly = getfirstpoly(thismesh)
    if poly == None:
        return False
        
    while True:
        meshtag = poly.GetFirstTag()
        #meshtag[c4d.ID_CA_WEIGHT_TAG_SET] = c4d.MSG_DESCRIPTION_COMMAND
        doc.SetActiveTag(meshtag)
        c4d.CallButton(meshtag, c4d.ID_CA_WEIGHT_TAG_SET)
        c4d.EventAdd()
        
        
        skin = poly.GetDown()
        if skin != None:
            skin[c4d.ID_BASEOBJECT_GENERATOR_FLAG] = True
            
        poly = getnextpoly(poly)
        
        if poly == None:
            return True


def jointreset(mesh):
    dummycounter = 10
    
    if mesh == None:
        print "ERROR: no input."
        return False
        
    #disable skin object 
    disableskin(mesh)
        
    #link und reposition joints
    meshjoint = getfirstmeshjoint(mesh)
        
    if meshjoint == None:
        print "ERROR: couldn't find any Joints."
        return False
            
    while True:
        skelettjoint = getskelettjoint(meshjoint.GetName())
            
        if skelettjoint == None:
            print "Warning: No Joint matching found."
            dummycounter -= 1
            if dummycounter == 0:
                print "overflow"
                return False
        else:
            #set meshjoint position to skelettjoint position
            skelettjoint.CopyMatrixTo(meshjoint)
            #globalmeshjointmatrix = meshjoint.GetMg()
            globalskelettjointmatrix = skelettjoint.GetMg()
            meshjoint.SetMg(globalskelettjointmatrix)
            #print globalmeshjointmatrix,globalskelettjointmatrix
            
            #hidden visibility
            meshjoint[c4d.ID_BASEOBJECT_VISIBILITY_EDITOR] = 1 #//Aus
            meshjoint[c4d.ID_BASEOBJECT_VISIBILITY_RENDER] = 1 #//Aus
            #add Contrain Expression Tag from meshjoint to skelettjoint
            NewTag = c4d.BaseTag(1019364) #// 1019364 == Contraint Expression
            NewTag[c4d.ID_CA_CONSTRAINT_TAG_PARENT] = True
            NewTag[30001] = skelettjoint #30001 Target/Ziel
            NewTag[30004] = True #// Pos ON
            NewTag[30005] = True #// Scale ON
            NewTag[30006] = True #// Rot ON                  
            meshjoint.InsertTag(NewTag)  #done
            
        meshjoint = getnextmeshjoint(meshjoint)
        if meshjoint == None:
            break
                
    #enable skin object
    enableskin(mesh)
        
                
def main():
    initialobject = doc.GetActiveObject()
    mesh = getfirstmesh()            
    
    while True:
        
        if mesh != None:
            jointreset(mesh)
        else:
            print "All done."
            initialobject.KillTag(1022749)
            break
            
        mesh = getnextmesh(mesh)
i'm not sure, but i think the data values from the bone or mesh by "Bip01 R/L ForeTwist" and "Bip01 R/L Forearm" not right... and some other looks wrong too
maybe you could take a look at these?!


[Only registered and activated users can see links. Click Here To Register...]
08/12/2012 14:45 dOofkopf!™#100
Kann mir vielleicht einer erklären, wie ich mit C4D sachen ausschneiden kann?
z.B bei nen Modell vom NS möchte ich was bei den Füßen weg schneiden..

Leider gehts ned wie bei Paint :P
08/16/2012 10:13 Dungedragon#101
zuerst musst du dein Objekt anvisieren und dann auf punktselektion (das an der linken seite da wo die punkte sind :D) Dann kannst du einfach dein Gewünschtes teil seletieren und via entf-Taste löschen
08/20/2012 14:16 amadis20#102
jemand ein deutsches tut ? :)
08/20/2012 18:50 AngelSweet#103
Geht das auch mit R14 ?

Habs mir gerade Runtergeladen will mal paar Rüssis machen die normalen sehen mir zu öde aus.
08/22/2012 09:07 AngelSweet#104
In welchen Order muss das Plugin?

Bin jetzt auf R12 umgestiegen.
Habs in alle Plugin Ordner kopiert aber das Plug wird nicht angezeigt und die Dateien lassen sich nicht öffnen.
08/30/2012 18:02 Dungedragon#105
Soweit ich weis funzt es nur mit r12 und r10