Jump to content

Abyss

Limited Member
  • Posts

    128
  • Joined

  • Last visited

Profile Information

  • First Name
    Daniel
  • Last Name
    ..
  • Location
    Amsterdam

Recent Profile Visitors

22,885 profile views

Abyss's Achievements

Newbie

Newbie (1/14)

  • First Post Rare
  • Collaborator Rare
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

21

Reputation

  1. Which CPU renderer is faster though? also it depends on the persons computer. some people dont have a great GPU.
  2. @Stuggz No i meant a field vertex map that controls the opacity of your Sketch and Toon lines.
  3. I think with fields you would definitely have control over it. where its to show up first etc. Also cel renderer might be a quicker option. And secondly it would probably be easier to do it in post like After Effects. maybe two render passes. one with the shaded main file and one with just the cracks. on top of it. You could then easily mask that crack pass layer in after effects and expend the mask during the animation. might be slightly more work not sure.
  4. I am also not that familiar with Sketch & Toon. but i noticed there is a opacity map option. So if you have R20, you could create vertex map on the Voronoi fracture (they even have prexisting vertexmaps, like outside faces, edges etc). And use fields to control the vertex map. Which would then in turn control the Sketch and Toon and when it shows up.
  5. Yeah I have done a lot of python tutorials and I feel I get most ofi t at this point. Well all the basics. Ive completed codeacademy and a lot more. But when you hop over to python for C4D. 90% of all that python knowledge is almost lost. well lets just say 70%. It feels knowing the C4D SDK documention and how it all works is about 70% and then all the python functions and syntaxes is only about 30%. If you want to change anything in C4D you really need to know where to look in the different c4d modules and which part and which function etc.
  6. Nice job Jed. love all your python stuff. Have been recently trying to learn it myself and its definitely so much fun and its interesting to be able to create things in Python. Its just a shame there is so little information out there. There are only a handful of people actually utilizing python in cinema it seems.
  7. It will work with Octane, since all the shader effector will do is tell you where the clones will be cloned on. And I am not sure but I think if clones arent visible they wont be computed. If you have a grid of 100 polys and each has its own clone. If you then say only have this one poly show its clone. thus ending up with 1 clone. I am pretty sure the other 99 that arent being used or shown will not factor in.
  8. this was my complete post: just assign that any part to a variable and then you can just check if that value is True ################## DATA_REGISTRY = [203,200,202,201] # any order print any((True for x in DATA_REGISTRY if x in OBJ_C)) _________ so something like this lst = [200,201,202,203,204] DATA_REGISTRY = any((True for x in lst if x in OBJ_C)) if DATA_REGISTRY is True: print "yay" else: print "nay"
  9. That's what I added underneath my last post you can also use this to find out which of the number in the list was found. for x in lst: if x in OBJ_C: print x
  10. DATA_REGISTRY = [203,200,202,201] # any order print any((True for x in DATA_REGISTRY if x in OBJ_C)) _________ so something like this lst = [200,201,202,203,204] DATA_REGISTRY = any((True for x in lst if x in OBJ_C)) if DATA_REGISTRY is True: print "yay" else: print "nay"
  11. Alright I guess you are right. That does indeed return a list of all the userdata not just the first one. And your next step is? you want to clear the remove the object from the object user data input? the object link. if the id is not 200. or if OBJ_C returns an empty list
  12. What exactly did you change in this one that does make it work? it basically is the same setup. I had only added an extra feature under try. To see if there is a user data present at all. With the script you added here you cant see that. You are looking for ID 200 and if that isnt there you simply have it return as failed. But then you dont know whether it failed because the user data number on the object isnt equal to 200 or that here is no user data at all or perhaps even a different error.
  13. What do you mean it only scans the first tuple? It doesnt . Do you mean it only scans the first the user data? You can easily fix that and have it scan the second if there is a second one or even third, fourth, fifth. If you want to check if an object with multiple user data inputs has any input with the id 200 . you can do that too. As it is now. it checks if the first user data input is equal to 200 and it also checks if there is a user data input at all. if not it will also return false
  14. Why not skip the selection tag step. and use your black and white texture in a shader effector to control where the clones should be visibile.
  15. @SolarPH Interesting. Well first of all to find out whats wrong you can print out what objlink.GetUserDataContainer() returns and print out what [c4d.ID_USERDATA,200] returns. They return different types. the first is a list of tuples and the other is a list of two numbers. That's why it is not working. What you can do is first to try and extract the number you are looking for in the list of tuples once you have that you extract the number from the list as well and then simply compare if they are the same. In this case you dont have the extract the number from the list since you know what value you are looking for. its 200. so you can simple compare the first extracted number to 200. Hope this all makes sense. Here is the code. it should work. def main(): objlinktemp = obj[c4d.ID_USERDATA,2] tup = objlinktemp.GetUserDataContainer() # returns list of tuples tup2 = [x[0] for x in tup] # returns the first tuple list tup3 = ([x[1] for x in tup2]) # returns the second tuple number which is the id while True: try: idnum = tup3[0].id #returns objects first userID number if idnum == 200: print "Success the object id 200" else: print "Failed the object id is not 200" break except IndexError: print "No user id input in the object" break
×
×
  • Create New...

Copyright Core 4D © 2023 Powered by Invision Community