Jump to content

eko

Members
  • Posts

    30
  • Joined

  • Last visited

Personal Information

  • Name
    Will

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

eko's Achievements

Newbie

Newbie (1/14)

  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. I have another question. the geometry deforming works fine when GeoTime samples is set to at least 2. but how about volume . I convert the red ball into volume and Motionblur is not correct.
  2. Hi, This problem is bothering me for quite a while.if I have a sphere which is moving fast together with camera. So the sphere is static relative to the camera. but the transformation of sphere is at the Sop level but the camera motion is at the Object level. so the motion blur is wrong. you can find the result from the pictures below. the red sphere is moving together with camera. the white small sphere is not moving. when I put the tansformation of sphere at the Object level. I got the corrent motion blur. but it's not always easy to extract the transformation from deforming object. Anyone have other solution? thanks 1.Wrong motion blur 2.correct motion blur 3. no motion blur mb_test.hip
  3. Hi, V I think this will help Cheers
  4. Hi, Edward. It's almost the same number between keep and deleting the points. Thanks for your help. I got it. It' works very well. I use pointgroup->toggleEntries(); // pointgroup is now the points to keep GU_Detail geo; geo.mergePoints(*gdp, pointgroup, /*keepgrps*/ true, /*internal*/ false); gdp->duplicate(geo, /*unused*/0, GA_DATA_ID_CLONE);
  5. Hi,thanks for reply! There are about 70,000,000 points total! There are all points and no primitive. I take your advises and use gdp->appendPointBlock() for adding points and used multi thread For setting Postion of these points. But There are some points that I don't want. I try these: gdp->destroyUnusedPoints(pointgroup); gdp->deletePoints(*pointgroup); gdp->destroyPointOffsets(GA_Range(*pointgroup)); But they are not fast as the Blast Sop.
  6. Hi, all I am trying to delete points in HDK using the Code: gdp->destroyPointOffsets(GA_Range(*delgroup)); There are about 30000000 points in delgroup. It works fine but it seems "gdp->destroyPointOffsets" method is very slow. I found if I use the "Blast" Sopnode in houdini and select the delgroup. It works much faster(about 50 times) than "destroyPointOffsets" function in hdk. I wonder that is there any ways to makes delete points faster in HDK. Thanks!
  7. According to the images which I upload that It seems not the Extrude node can do this. You can see there's a sphere which wrap each points. Not the simply extrude. Extrude is base one direction such as Normal and thickness is wrap the grid. Am I right.
  8. How do I make a plane have thickness in houdini in Sop? I need the effects like ncloth thickness in Maya. It can be used for collision detection. Here's the images about get thickness in Dop using cloth node.Does any one knows how it works in Sop? Thanks!
  9. Hi,there I find the way! myLastCookTime=CHgetEvalTime(); It works fine to me. Another question, does anyone knows how to get the points connected to the given point in hdk13? Thanks!
  10. Thanks for your reply. if myLastCookTime > now. I will do nothing. I need to keep the lastest cook result. It's just like the spring sop node. If I jump forward to 120f. It will automatically cook all the frames in between 120f and then When I jump back to 50f. It will keep the result same with 120f
  11. Hi, I got a question about doing simulation in sop.(Because I don't have a master license). Accoding to the thread http://forums.odforce.net/topic/4310-hdk-sop-sim-cook-problem/?hl=timedep.I rewrite the code. OP_ERROR SOP_TEST::cookMySop(OP_Context &context) { long frame; int initframe; UT_Interrupt *boss; myGroup=0; fpreal now = context.getTime(); frame = context.getFrame(); GA_Offset ptoff; fpreal mx = MaxDis(now); if (lockInputs(context) >= UT_ERROR_ABORT) return error(); OP_Node::flags().timeDep = 1; ///////// initframe = 1; if (error() < UT_ERROR_ABORT) { if(frame == initframe) { boss = UTgetInterrupt(); boss->opStart("Initializing"); gdp->clearAndDestroy(); duplicateSource(0, context); boss->opEnd(); } else { boss = UTgetInterrupt(); boss->opStart("Setting new grid positions"); GA_FOR_ALL_GROUP_PTOFF(gdp, myGroup, ptoff) { if (boss->opInterrupt()) break; UT_Vector3 pos=gdp->getPos3(ptoff); pos[1]+=mx; gdp->setPos3(ptoff,pos); } boss->opEnd(); } } unlockInputs(); myCurrPoint = -1; return error(); } This all works fine when I play though the frames sequentially. If I jump forward in the time bar 20 frames, right now it only cooks the 20th frame and doesn't automatically cook all the frames in between(like the particle sop does)(like the particle sop does). It seemed like it only do a cook when the frame changes. What I got to do is to cook all the frame between the 20 frames.I got some ideas from HDK documents cook_time = myLastCookTime; for ( ; cook_time <= now ; cook_time += frame_inc) { context.setTime(cook_time); ......... } But I dont know how to get the "myLastCooktime". Does Anyone got a Idea? And another strange thing is when I change the Parameter((MaxDis), it will also do the cook which I dont want. Thanks
  12. That's right I used GEO_PointTreeGAOffset for hdk13. I will have a try for findNearestGroupIdx() method. Thanks !
  13. Thanks for reply! Yes I have tried that . What I mean is I need points limit. i.e I just want to get 5 points within the maxdist(I don't care if these 5 points are the five closest points) and stop searching even if there is 1000 points within the maxdist. I think it will much more faster for searching. PS. In fact, many methods that return or use GEO_Point objects like findNearestPt() have been removed for the next major release of Houdini.
×
×
  • Create New...