Skip to content

Commit

Permalink
Uploading site Thu 25 Apr 2019 23:07:58 BST
Browse files Browse the repository at this point in the history
Former-commit-id: 21fb737
  • Loading branch information
jordibares committed Apr 25, 2019
1 parent 30d534b commit bf046a5
Show file tree
Hide file tree
Showing 17 changed files with 195 additions and 54 deletions.
16 changes: 5 additions & 11 deletions content/_index.md
Expand Up @@ -5,18 +5,12 @@ type: docs

# Introduction

{{< preamble >}}
The goal of this collective book is to help accelerate the adoption of Houdini as the main tool in VFX by simplifying the transition from other tools to Houdini.
{{< /preamble >}}

## A bit of history
## Welcome

During 2008 Autodesk bought their arch-rivals, Softimage and included in their already crowded product line, all of us Softimage users started to notice massive changes during that period tailing off in the product development which ultimately ended up in Autodesk killing Softimage product 2014 and our lives were forced to transition to other products.
Welcome to Houdini Guides, the long awaited evolution of the original transition guides that hopefully allows the Houdini community to grow faster and bring this amazing tool to the masses.

I saw the writing on the all the moment Autodesk bought Softiamge so I did transition first and all my learnings became invaluable once Autodesk killed Softimage which prompt me to write a free book called "Houdini to Softimage transition guides" that was distributed freely thanks to the nice folks at Side Effects.

## Today

But of course, Houdini is moving very very fast indeed and these guides are a bit obsolete, the task is huge so I am thinking on starting a crowd sourced re-write to fill update from scratch the whole thing.

## You

And yes, I would be deligted you help us in any shape or form, from writting to creating videos to translation or donations.
Let's have fun.
9 changes: 9 additions & 0 deletions content/docs/about/_index.md
Expand Up @@ -2,8 +2,17 @@
title: "About"
weight: 1
---

# About

## A bit of history

During 2008 Autodesk bought their arch-rivals, Softimage and included in their already crowded product line, all of us Softimage users started to notice massive changes during that period tailing off in the product development which ultimately ended up in Autodesk killing Softimage product 2014 and our lives were forced to transition to other products.

I saw the writing on the all the moment Autodesk bought Softimage so I did transition first and all my learnings became invaluable once Autodesk killed Softimage which prompt me to write a free book called "Houdini to Softimage transition guides" that was distributed freely thanks to the nice folks at Side Effects.

## Objective

The intention is to create the kind of guides we users want to pass to our friends coming to Houdini, a guide the allows them to get a quick global view of the software and a good understanding of the phylosophy and common practices.

For this reason a bunch of us are putting some of our spare time to build these docs.
4 changes: 4 additions & 0 deletions content/docs/book/_index.md
Expand Up @@ -5,6 +5,10 @@ weight: 2

# Introduction

{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

This book is structured as a guides to transition rather than a reference, and in particular, it is architected as a linear journey to move quickly throught the various areas to get a good global view of the software an translate those years of experience coming form Maya, Cinema4D or others as fast as possible.

Some chapters will be very dense and further re-organisation will be required so please keep in mind, your bookmarks may easily be broken for most part of the first year.
6 changes: 6 additions & 0 deletions content/docs/book/part-1/_index.md
Expand Up @@ -10,7 +10,13 @@ writer: "Jordi Bares"

# Part 1

{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

{{< preamble >}}
Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< /preamble >}}

## Introduction

Expand Down
6 changes: 6 additions & 0 deletions content/docs/book/part-1/introduction/_index.md
Expand Up @@ -10,7 +10,13 @@ writer: "Jordi Bares"

# General Concepts

{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

{{< preamble >}}
Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< /preamble >}}

## UI interface layout

Expand Down
11 changes: 7 additions & 4 deletions content/docs/book/part-2/_index.md
Expand Up @@ -9,18 +9,21 @@ tags: ["All Versions"]

writer: "Jordi Bares"
---

# Part 2

Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

<br/>
{{< preamble >}}
Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< /preamble >}}

## Animation

Like

<br/>

## Rigging

Houdini is not that different yet, it is another beast altogether if you don't get some fundamentals right, the same fundamentals that other packages hide from you, those are right. front and center in Houdini so we better get that right.
12 changes: 8 additions & 4 deletions content/docs/book/part-3/_index.md
Expand Up @@ -9,18 +9,22 @@ tags: ["All Versions"]

writer: "Jordi Bares"
---

# Part 3

Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.

<br/>
{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

{{< preamble >}}
Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< /preamble >}}

## Data Management

Like

<br/>

## Digital Assets

Houdini is not that different yet, it is another beast altogether if you don't get some fundamentals right, the same fundamentals that other packages hide from you, those are right. front and center in Houdini so we better get that right.
14 changes: 8 additions & 6 deletions content/docs/book/part-4/_index.md
Expand Up @@ -9,24 +9,26 @@ tags: ["All Versions"]

writer: "Jordi Bares"
---

# Part 2

Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.

<br/>
{{< pill color="petrol" >}}
All Versions
{{< /pill >}}

{{< preamble >}}
Before we start with the details, it is important to build a foundation of key concepts and procedures so you understand how Houdini operates.
{{< /preamble >}}

## FX

Like

<br/>

## Lighting

Houdini is not that different yet, it is another beast altogether if you don't get some fundamentals right, the same fundamentals that other packages hide from you, those are right. front and center in Houdini so we better get that right.

<br/>

## Compositing

Like
11 changes: 11 additions & 0 deletions content/docs/collaborating/authoring/components/example.py
@@ -0,0 +1,11 @@
def unparentAndKeepPos(obj_node):
"""
Unparent an object node, but keep it in the same position as it was
when it was parented.
"""

xform = obj_node.worldTransform()
obj_node.setFirstInput(None)
obj_node.setWorldTransform(xform)

unparentAndKeepPos(hou.node("/obj/box_object4"))
45 changes: 43 additions & 2 deletions content/docs/collaborating/authoring/components/index.md
Expand Up @@ -276,9 +276,9 @@ Which will result in

---

### Code
### Inline Code

If you have inline code blocks, wrap them in backticks:
We promote two different narratives, when you are doing little examples that are not completely independent, use for inline code blocks, wrap them in backticks:

```
`var example = true`.
Expand Down Expand Up @@ -314,6 +314,8 @@ if (isAwesome):
return true
```

For scripts and others that are functioning and could be downloaded, better use the shortode provided (you can see it in action at the bottom of this document)

---

### Markdown Extras
Expand Down Expand Up @@ -589,3 +591,42 @@ Which will be rendered like this.
>}}
{{< /accordion >}}

---

### Code examples

Sometimes you want the user to be able to copy the code, for this a more advanced shortcode tool is provided.

``` go
{{ < code file="example.py" language="python" > }}
```

which renders like;

{{< code file="example.py" language="python" >}}

---

### Import

Import allows you to include external files in the document which is very helpful when dealing with very long scripts that you want to be able to download and execute later on.

```
{{ % import file="/static/python/example.py" language="python" % }}
```

Resulting in printing the contents of the files /static/pyhon/example.py

{{% import file="/static/python/example.py" language="python" %}}


Of course you can also include the files as they are by tagging them as markdown with the "language" attribute, likes this...

```
{{ % import file="/static/md/lorem-ipsum.md" language="md" % }}
```

Which will render the content of the file, acting as a pure import... like this...

{{% import file="/static/md/lorem-ipsum.md" language="md" %}}
25 changes: 0 additions & 25 deletions content/docs/collaborating/authoring/screen-recording/index.md
Expand Up @@ -16,28 +16,3 @@ stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia.


---

### Import

Import allows you to include external files in the document which is very helpful when dealing with very long scripts that you want to be able to download and execute later on.

```
{{ % import file="/static/python/example.py" language="python" % }}
```

Resulting in printing the contents of the files /static/pyhon/example.py

{{% import file="/static/python/example.py" language="python" %}}


Of course you can also include the files as they are by tagging them as markdown with the "language" attribute, likes this...

```
{{ % import file="/static/md/lorem-ipsum.md" language="md" % }}
```

Which will render the content of the file, acting as a pure import... like this...

{{ % import file="/static/md/lorem-ipsum.md" language="md" % }}
5 changes: 5 additions & 0 deletions layouts/partials/docs/inject/menu-after.html
@@ -0,0 +1,5 @@
<ul>
<li>
<a href="{{ relref . "/posts" }}">Blog</a>
</li>
</ul>
35 changes: 35 additions & 0 deletions layouts/shortcodes/code.html
@@ -0,0 +1,35 @@
<style>
code {
font-family: "Oxygen Mono", monospace;
font-size: .80rem;
}
</style>

{{ $p := .Page }}
{{ $file := .Get "file" }}
{{ $codelang := .Get "language" | default (path.Ext $file | strings.TrimPrefix ".") }}
{{ $fileDir := path.Split $file }}
{{ $bundlePath := path.Join .Page.File.Dir $fileDir.Dir }}
{{ $filename := printf "/content/examples/%s" $file | safeURL }}
{{ $ghlink := printf "https://%s/master%s" site.Params.githubwebsiteraw $filename | safeURL }}
{{/* First assume this is a bundle and the file is inside it. */}}
{{ $resource := $p.Resources.GetMatch (printf "%s*" $file ) }}
{{ with $resource }}
{{ $.Scratch.Set "content" .Content }}
{{ else }}
{{/* Read the file relative to the content root. */}}
{{ $resource := readFile $filename}}
{{ with $resource }}{{ $.Scratch.Set "content" . }}{{ end }}
{{ end }}
{{ if not ($.Scratch.Get "content") }}
{{ errorf "[%s] %q not found in %q" site.Language.Lang $fileDir.File $bundlePath }}
{{ end }}
{{ with $.Scratch.Get "content" }}

<div class="includecode" id="{{ $file | anchorize }}">
<code style="position: relative;top:18px;padding-top:4px;padding-left:12px;padding-right:12px;padding-bottom:12px;">
{{ $file }}
</code>

{{ highlight . $codelang "" }}
{{ end }}
45 changes: 45 additions & 0 deletions layouts/shortcodes/kode.html
@@ -0,0 +1,45 @@
<style>
code {
font-family: "Oxygen Mono", monospace;
font-size: .85rem;
}
</style>

{{ $p := .Page }}
{{ $file := .Get "file" }}
{{ $codelang := .Get "language" | default (path.Ext $file | strings.TrimPrefix ".") }}
{{ $fileDir := path.Split $file }}
{{ $bundlePath := path.Join .Page.File.Dir $fileDir.Dir }}
{{ $filename := printf "/content/%s/examples/%s" .Page.Lang $file | safeURL }}
{{ $ghlink := printf "https://%s/master%s" site.Params.githubwebsiteraw $filename | safeURL }}
{{/* First assume this is a bundle and the file is inside it. */}}
{{ $resource := $p.Resources.GetMatch (printf "%s*" $file ) }}
{{ with $resource }}
{{ $.Scratch.Set "content" .Content }}
{{ else }}
{{/* Read the file relative to the content root. */}}
{{ $resource := readFile $filename}}
{{ with $resource }}{{ $.Scratch.Set "content" . }}{{ end }}
{{ end }}
{{ if not ($.Scratch.Get "content") }}
{{ errorf "[%s] %q not found in %q" site.Language.Lang $fileDir.File $bundlePath }}
{{ end }}
{{ with $.Scratch.Get "content" }}
<table class="includecode" id="{{ $file | anchorize }}">
<thead>
<tr>
<th>
{{ with $ghlink }}<a href="{{ . }}" download="{{ $file }}">{{ end }}
<code>{{ $file }}</code>
{{ if $ghlink }}</a>{{ end }}
<img src="{{ "svg/code-fork.svg" | relURL }}" style="max-height:18px" onclick="copyCode('{{ $file | anchorize }}')" title="Copy {{ $file }} to clipboard">
</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ highlight . $codelang "" }} </td>
</tr>
</tbody>
</table>
{{ end }}
2 changes: 1 addition & 1 deletion public/svg/icons-pink/svg/search.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions static/svg/copycode.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bf046a5

Please sign in to comment.