Archived post by lcrs

used stuff like this a lot to do grassy fields and tbh we didn’t always have it generate the geo inside mantra, you can switch the hairgen to just creating standard SOPs geo. obvi the IFDs got massive that way, but if you’re rendering from Indie direct to mantra i’m not sure there’s much speed or memory improvement having it generate inside mantra vs. baked inside H and then streaming the geo to mantra… 100 curves with 300k render-time hairs here streamable.com/m6km2

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20185309/07/18/Ls_hairgen_from_lines_v02.hiplc

Archived post by jake rice

yeah 😦 i could potentially have a catch for that

😮

secccc

“`c //this still goes in a prim wrangle void select_border_diff(string current_group; int primnum){ int in_curr = inprimgroup(0, current_group, primnum); if(!in_curr) return; int h = primhedge(0, primnum); int temp = h; do{ int nb_prim = hedge_prim(0, hedge_nextequiv(0, h)); if(!inprimgroup(0, current_group, nb_prim)) setedgegroup(0, “border”, hedge_srcpoint(0, h), hedge_dstpoint(0, h), 1); h = hedge_next(0, h); }while(h != temp); } string a = chs(“group_a”); int in_a = inprimgroup(0, a, @primnum); select_border_diff(a, @primnum); “` this one selects only the border of a single given group

which is what i shouldve done in the first place but 🤷

Archived post by mestela

here tis

my next step (or possibly @Ben ‘s next step ) is to get scale right; this feels like a cloud tank, it should be city scale

reference is all those colour festival things, but at the scale of a bomb that’d take out a city block

thumbs.dreamstime.com/b/explosie-van-gekleurd-poeder-op-zwarte-achtergrond-71568993.jpg

something that’d be picked up by sony for their next bravia campaign

img2.cgtrader.com/items/805667/12d927255c/large/houdini-dirt-bomb-explosion-asset-scene-file-3d-model-low-poly-animated-rigged-hda-hip-bgeo-geo-bclip-clip-hipnc.jpg

all of saber’s work at rebelway has that shredding detail i’d like to get, but i havent’ done enough pyro stuff to know what the mystery settings are

and i’m too cheap to go buy one of his courses. 😉

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20185408/30/18/pyro_colour_basic.hipnc

Archived post by TOADSTORM

i don’t. i mean literally that’s all there is to it… make a bunch of crumped up planes, texture them with a transparent cracked texture (literally just photograph some ice cracks and use it like a mask), wedge the planes inside your ice object, then turn off primary visibility. enable glossy refractions on your ice material and you’re good to go

it wasn’t fast but it was simpler than a volumetric shader, especially in vray 6 years ago

Archived post by Baldrax

“`python class InLockedAsset(): ”’Class for unlocking and relocking nested nodes.”’ def __init__(self, node=None, verbose=False): self.baseNode = node self.verbose = verbose print ‘BASENODE:’,node.path(), self.baseNode.path() self.isInLockedAsset = self.baseNode.isInsideLockedHDA() self.__buildLockedNodeList__() def __buildLockedNodeList__(self): self.__lockedNodeList__ = [] inLockedAsset = self.isInLockedAsset currentNode = self.baseNode while inLockedAsset: currentNode = currentNode.parent() if isHDA(currentNode): self.__lockedNodeList__.append(currentNode) inLockedAsset = currentNode.isInsideLockedHDA() self.__lockedNodeList__.reverse() def firstUnlockedParent(self): if len(self.__lockedNodeList__) > 0: return self.__lockedNodeList__[0] else: return None def unlockParentNodes(self): for currentNode in self.__lockedNodeList__: print ‘Unlocking asset: %s’ % currentNode.path() currentNode.allowEditingOfContents() def relockParents(self): topParent = self.firstUnlockedParent() if topParent is not None: try: print ‘Re-locking asset: %s’ % topParent.path() topParent.matchCurrentDefinition() except hou.OperationFailed: if topParent.isLocked(): pass else: topParent.matchCurrentDefinition() “` Usage: “`python inAssetNode = InLockedAsset(node=’/path/to/node’) inAssetNode.unlockParentNodes() “` Then, if you want to re-lock them: “`python inAssetNode.relockParents() “` Feel free to clean this up. Some funky stuff in there.

Needs this too: “`python def isHDA(node): try: node.type().definition().libraryFilePath() return True except: return False “`

Old eyes