-
Notifications
You must be signed in to change notification settings - Fork 0
/
houdini-2.html
164 lines (142 loc) · 9.03 KB
/
houdini-2.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<!DOCTYPE html>
<html lang="en" prefix="og: http://ogp.me/ns# fb: https://www.facebook.com/2008/fbml">
<head>
<title>houdini 2 - TAO-Wiki</title>
<!-- Using the latest rendering mode for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="/houdini-2.html">
<meta name="author" content="TAO-community" />
<meta name="description" content="Back to [[Houdini]] The naming convention of .hda and .shelf are based on the SideFX versioning architecture as described here. http://www.sidefx.com/docs/houdini/assets/namespaces.html For a .hda and a .shelf there are four major names you need to know about: * The filename on disk - company …" />
<meta property="og:site_name" content="TAO-Wiki" />
<meta property="og:type" content="article"/>
<meta property="og:title" content="houdini 2"/>
<meta property="og:url" content="/houdini-2.html"/>
<meta property="og:description" content="Back to [[Houdini]] The naming convention of .hda and .shelf are based on the SideFX versioning architecture as described here. http://www.sidefx.com/docs/houdini/assets/namespaces.html For a .hda and a .shelf there are four major names you need to know about: * The filename on disk - company …"/>
<meta property="article:published_time" content="2020-01-01" />
<meta property="article:section" content="wiki" />
<meta property="article:author" content="TAO-community" />
<!-- Bootstrap -->
<link href="/theme/css/themes/tao/bootstrap.min.css" rel="stylesheet">
<link href="/theme/css/entypo.css" rel="stylesheet">
<link href="/theme/css/pygments/native.css" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/style.css" type="text/css"/>
</head>
<body>
<nav class="navbar navbar-expand-md navbar-light bg-faded fixed-top" role="navigation">
<button type="button" class="navbar-toggler navbar-toggler-right" data-toggle="collapse" data-target=".navbar-main-collapse" aria-label="Toggle navigation">
<i class="icon-menu"></i>
</button>
<a href="/" class="navbar-brand">
TAO-Wiki </a>
<div class="collapse navbar-collapse navbar-main-collapse">
<ul class="navbar-nav">
<li class="nav-item "><a href="/pages/under_construction.html" class="nav-link">
Page Under Construction....
</a></li>
<li class="nav-item ">
<a href="/category/misc.html" class="nav-link">Misc</a>
</li>
<li class="nav-item ">
<a href="/category/post.html" class="nav-link">Post</a>
</li>
<li class="nav-item active">
<a href="/category/wiki.html" class="nav-link">Wiki</a>
</li>
</ul>
<ul class="navbar-nav navbar-right">
</ul>
</div>
<!-- /.navbar-collapse -->
</nav> <!-- /.navbar -->
<!-- Banner -->
<!-- End Banner -->
<div class="container">
<div class="row">
<div class="col-md-9">
<section id="content">
<article>
<header>
<h1>
<a href="/houdini-2.html"
rel="bookmark"
title="Permalink to houdini 2">
houdini 2
</a>
</h1>
</header>
<div class="entry-content">
<p><em>Back to [[Houdini]]</em></p>
<p>The naming convention of .hda and .shelf are based on the SideFX versioning architecture as described here.
http://www.sidefx.com/docs/houdini/assets/namespaces.html </p>
<p>For a .hda and a .shelf there are four major names you need to know about:
* The filename on disk - company.context__assetname__1.0.hda
* The operator name - company::assetname::1.0
* The operator label - Asset Name
* Tab submenu entry - company\"collection"
Directory for HDAs & Shelfs - $HOUDINI_PATH/otls $HOUDINI_PATH/toolbar</p>
<p>The operator name convention is the most important. </p>
<p>First is the namespace as identified by "company" in our case this represent the different studios. In some cases this could represent a codename of a project when a studio or group can not be identified at that time. This prevents libraries of hda from clashing when built at different studios. Also allowing external libraries to be used. You can even use this to define teams within the same project.</p>
<p>Second is the assetname it is the non space, non camel case, lower case name of your tool. For the label this is First word capitalized space separated asset name. The label is the human readable version.</p>
<p>Third is the major and minor version of your asset. The major version is a number that represent a significant non-backwards compatible change to the hda. If you rework the node 100% from scratch or change a significant function of the node you update the major number. A minor version is an additive process like an additional parameter or a bug fix would not over haul. It is important not to get this confused with source control. Edits and fixes are just check in and check out of the same .hda. If you have an .hda deployed in your system and you don't want to break everyones production tools this is a good reason to major or minor version control.</p>
<p>The double colon :: is the separate buffer used only in the operator name. For the file on disk this gets converted to an underscore. In advanced pipeline you can use a modified http file structure to store assets based on this.</p>
<p>The context in the file on disk is inherent in the operator name of the file so it does not need to be include. It is included in the file on disk name to separate .hdas based on their internal structures which are unique. Additionally you can share the same asset name of a file in different context. This helps in scripting and OPcustomize when you do not have to load up houdini to see the name of the .hda.</p>
<p>It is important to store one .hda or one .shelf tool per a file. This allows multiple people to work on separate tools at a time. This is very important for source control.</p>
<p>The tab submenu entry is how you organize your tools in the tab menu. You do not need to add extra modifiers to the asset name to compensate for this. Under the company name you can add an extra folder for any collection of tools like "Import", "Engine", "Terrain" etc. We do not put them into the regular submenu entries because we would not be able to find our own tools. If a asset name collides this submenu entry will be bracketed () to tell you the difference.</p>
<p>Further when creating your asset libraries use a standard $HOUDINI_PATH folder structure don't be original. This allows us to append multiple studios and libraries tools together. Like the gameshelf. Place all .hda in /otls and shelfs in /toolbar etc. </p>
<p>Additionally do not save your .hda in exploded mode via the hotl.exe. In production environments all these separated files can cause havoc when they get out of sync on disk. You can work with the .hda like this but compile them about before distribution in your studio.</p>
<p>For an example of folder structure you can look here:
https://github.com/LaidlawFX/LaidlawFX
https://github.com/sideeffects/GameDevelopmentToolset
or within </p>
<p><em>Back to [[Houdini]]</em></p>
</div>
<!-- /.entry-content -->
</article>
</section>
</div>
<div class="col-md-3" id="sidebar">
<aside>
<!-- Sidebar -->
<section class="card">
<ul class="list-group list-group-flush">
<!-- Sidebar/Social -->
<li class="list-group-item">
<h4><i class="icon-home"></i><span class="icon-label">Social</span></h4>
<ul class="list-group" id="social">
<li class="list-group-item"><a href="https://tech-artists.slack.com"><i class="icon-tech-artists-slack"></i> Tech-Artists Slack</a></li>
</ul>
</li>
<!-- End Sidebar/Social -->
<!-- Sidebar/Links -->
<li class="list-group-item">
<h4><i class="icon-external-link-square"></i><span class="icon-label">Links</span></h4>
<ul class="list-group" id="links">
<li class="list-group-item">
<a href="http://discourse.techart.online" target="_blank">Tech-Artists.Org</a>
</li>
</ul>
</li>
<!-- End Sidebar/Links -->
</ul>
</section>
<!-- End Sidebar --> </aside>
</div>
</div>
</div>
<footer>
<div class="container">
<hr>
<div class="row">
<div class="col-sm-10">© 2020 TAO-community
· Powered by <a href="http://docs.getpelican.com/" target="_blank">Pelican</a> </div>
<div class="col-sm-2"><p class="float-right"><i class="icon-up-big"></i> <a href="#">Back to top</a></p></div>
</div>
</div>
</footer>
<script src="/theme/js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/theme/js/bootstrap.min.js"></script>
</body>
</html>