Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Will Cai HW02 Jellyfish #17

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 19 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,43 @@
# Procedural Jellyfish

## Project Overview
In this homework, you'll create a procedural jellyfish using Houdini. This will give you a chance to dig into procedural modeling, as well as some simulation. Here is a breakdown of the different jellyfish parts you'll be putting together:

<img height="500" alt="Jellyfish Parts" src="/assets/JellyfishParts.png">
Houdini procedural jellyfish with 5 main components, animated with keyframes and cloth simulation.

---
![jelly](https://github.com/wc41/hw02-jellyfish/assets/97757188/27802cc2-00cd-4018-bd94-2a4c85ceec68)

Here are some SideFX docs that you might find helpful:
Better material image render:

[Geometry Nodes Documentation](https://www.sidefx.com/docs/houdini/nodes/sop/index.html)
![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/bb30fabc-7178-43b6-bb98-4316f9777eb4)

[VEX Documentation](https://www.sidefx.com/docs/houdini/vex/functions/index.html)

## Bell and Arms
Follow along to the videos to create the bell and arms of the jellyfish. Although I provide the values I used to create my jellyfish, you're heavily encouraged to play around and customize the setup to your liking!
## Bell

[Jellyfish Bell Setup Video](https://www.youtube.com/watch?v=J3X8BB0yNRE)
![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/0fbac468-1200-4ad7-a607-04f4566b3a33)

[Jellyfish Arms Setup Video](https://www.youtube.com/watch?v=A_oNXqx8XH4)
Created with the help of: [Jellyfish Bell Setup Video](https://www.youtube.com/watch?v=J3X8BB0yNRE)

## Veins
In order to create the veins for the jellyfish, you'll make use of the "Find Shortest Path" node. The Dungeon Corridor example in the Houdini Playground is a helpful reference for using this node. Here is some rough guidance for how to approach making the veins:

Remesh the jellyfish into triangles (otherwise you'll end up with very square looking veins)
## Arms

<img width="300" alt="Remesh" src="/assets/Remesh.png">
![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/aed02768-5f5c-4d56-858d-4e1963267890)

Use the shortest path node to generate veins ([here](https://www.sidefx.com/docs/houdini/nodes/sop/findshortestpath.html) are the docs for the Find Shortest Path node)
Created with the help of: [Jellyfish Arms Setup Video](https://www.youtube.com/watch?v=A_oNXqx8XH4)

<img width="300" alt="ShortestPath" src="/assets/ShortestPath.png">

Smooth out the veins for a more organic look. You might find yourself needing the "resample" and "fuse" nodes in addition to the "smooth" node (and remember, the [docs](https://www.sidefx.com/docs/houdini/nodes/sop/index.html) are a great resource if you're confused about what a node does or how to use it)
## Veins

<img width="300" alt="ResampleFuseSmooth" src="/assets/ResampleFuseSmooth.png">
![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/9eb378ed-96ce-48e3-8d20-86dfba8c09a1)

Use a "sweep" node to give the veins width
Created by taking a remesh of the bell shape, taking a group of vertices at its top and a group of vertices at its bottom rim, and extracting lines connecting them using the findshortestpath node. These are made more natural by adjusting random vertex picking and a carve node.

<img width="300" alt="Sweep" src="/assets/Sweep.png">
## Organs

Lastly, stick the veins to the bell's animation using the "Point Deform" node that we used on the arms. The final result should look something like this:
![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/d670719c-15ca-48db-80f0-2434e5bde11f)

<img width="300" alt="VeinsGif" src="/assets/VeinsGif.gif">
Created by taking a line and bending it, using polywire to give thickness, smoothing ends by converting to vdb and using vdbsmooth then converting back, and using a mountain node for noise. A copy node is used to duplicate the line 4 times.

## Organs
Next, create organs for your jellyfish. You can approach this any way you'd like! The final result should look something like this:

<img width="300" alt="Organs" src="/assets/Organs.png">
## Tentacles

![image](https://github.com/wc41/hw02-jellyfish/assets/97757188/448ad411-fa34-416a-a6ba-5f982df60a54)

## Tentacles
When you're working on Houdini projects in the future, you usually won't be able to find tutorials for exactly what you're trying to do. Instead, you'll need to be able to take semi-related tutorials and apply the relevant techniques to your projects. This exercise is designed to give you some experience with that.

Your goal is to create tentacles that look like this for your jellyfish:

<img width="300" alt="TentaclesGif" src="/assets/TentaclesGif.gif">

[This video](https://www.youtube.com/watch?v=LN4XXaHQkmU) demonstrates how to simulate hairs to create renders like this:

<img width="300" alt="HairRender3" src="/assets/HairRender1.png">
<img width="300" alt="HairRender2" src="/assets/HairRender2.png">
<img width="300" alt="HairRender1" src="/assets/HairRender3.png">

Your task is to watch the video and extract the applicable information to make the tentacles! (also, just a heads up, the second half of the tutorial is all irrelevant rendering stuff in C4D, so you only need to watch the first 12 minutes or so).

## (Optional) Extra Credit
- Add another part to your jellyfish. This can be something real (ex: crown jellyfish and lions mane jellyfish have some pretty crazy features that might be fun to recreate) or whatever zany alien jellyfish addition you can imagine!
- Refine one of the existing parts (ex: adding scalloped edges and dents/puckering to the bell of the jellyfish)
- Render your jellyfish (a good place to start is watching [part 4](https://www.youtube.com/watch?v=1Ph-7ZpN5oY) and [part 5](https://www.youtube.com/watch?v=mCQPDf-bupY) of Entagma's Houdini in 5 Minutes series where they briefly cover rendering basics
- Add some flair to your scene by adding a background (ex: coral or rock formations)
## Submission
- Fork this repository
- Update your README
- Please delete the assignment README text
- A description of your project
- A video of your animated jellyfish ([video](https://www.youtube.com/watch?v=gXtDd1lPDmc) of how to save a video of your viewport out of Houdini)
- Create a pull request to this repository
- Submit your Houdini file to Canvas along with a link to your pull request
(Don't upload your houdini files to github -- it's a pain to upload big/binary files. Just canvas is fine!)
Created by making a polywired line with mountain node noise and using copytopoints node to attach them to a group of evenly spaced points on the bell's bottom rim. Simulated with cloth and pin-to-target vellum constraints.