
From web dev to 3D: Learning 3D modeling - pieterhg
https://levels.io/from-web-dev-to-3d/
======
kayoone
To call 3d modeling "3d development" and saying it's all in one package vs web
development where you have css, html, serverside stuff is kind of a moot point
though. It is comparable to 2D design work that you need in web development as
well and arguably that's also all in one package (eg. Photoshop) and the
endresult is an image file, same as 3D. 3D Development on the other hand would
be using something like Unity3d/Unreal Engine to bring 3d Models, Animations,
Sounds and Code together to build a game (vs a website/app) which adds a lot
of complexity as well.

~~~
TrevorJ
It's a lot like coding in that: _technically_ you could do everything in a
simple text editor, but in reality, there are a plethora of tools and
frameworks that you should know and use to do your job effectively. I maintain
familiarity in 10 - 12 pieces of software for game dev, and there are several
other tools I'd like to learn.

------
igl
However: It won't be an career upgrade :/

I know very talented people and i guess that unless land a well paying job in
the gaming or movie industry (good luck with that) you end up freelancing for
construction companies and architects. Aligning sofas and tables...

~~~
pieterhg
Yep. I'm not doing it to do client work. I already have a my own startup that
gives me income.

I want to do stuff with VR though as a maker, entrepreneur, artist, or however
you'd like to call it. If it's monetizable that's a fun side to it. But that's
not the priority here. Fun is!

I do see it as a skill in the future, just like coding is now. If you can
combine that with making an app, game, art, business or anything really,
that's good for me.

~~~
arscan
Since this is for fun for you (in the short term at least), did the price tag
of Cinema4D come into play when choosing it as your tool? I've been getting
into 3D as well as a hobby, and given a choice I'd use Cinema4D because it is
popular among professionals in the domain I'm interested in, but that $3k+
price tag is hard for me to justify.

~~~
mikevin
You could start with Blender. It's very advanced and totally free.

~~~
khedoros
Blender's pretty awesome. I've been using it since it was Not-a-Number
shareware. I think that the "Free Blender" campaign was the first crowdfunding
attempt that I ever experienced. It's been awesome watching the program
continue to grow and flesh out with pro-level features over time!

------
JoeDaDude
>> I’m slightly shaking and shocked. I’ve been in this street for ages, inside
Cinema4D. Now I’m actually there.

When I flew to San Francisco for the first time, I was shocked that I
recognized the all bay scenery from having played many hours of Flight
Simulator going from Oakland to SFO.

------
b123400
I am always amazed by how motivated Pieter is, he seems to just do it whenever
he has an idea. I have lots of friends saying/claiming that they have a new
goal (e.g. diet, learn new things, work out, etc) and do absolutely nothing,
then switch to another goal again.

~~~
toxik
The trick is to only say you've done things after you've actually done them.

~~~
pieterhg
Haha yes, but I said it before I did it though:
[https://levels.io/learning-3d](https://levels.io/learning-3d)

The public pressure helps to keep me accountable, and it's more fun if I have
an audience :)

------
amelius
That's a lot of work for something that can be done automatically [1]

[1]
[http://www.cs.unc.edu/~marc/pubs/PollefeysCACM02.pdf](http://www.cs.unc.edu/~marc/pubs/PollefeysCACM02.pdf)

~~~
542458
That's not how it works. 3D scanning and scanning-like techniques serve a very
different purpose than actually 3D modelling the thing, and are in no way a
substitute.

\- You need considerable 3D domain knowledge to employ the scanning tool
correctly in the first place, and to post-process it's results

\- The scanning tools don't work in many situations - have fun scanning
something transparent, reflective, that won't sit still etc etc etc. The
curtains in this scene, or the translucent lamps, and so on would all be very,
very problematic

\- The scan gives a noisier result than doing it by hand (Look at the model
quality in figure 1, last step - it's pretty bad - that would be really,
really apparent in a higher-res moving scene). High-end laser or contact
scanners are better, but very expensive.

\- Scan topography is currently really bad from every suite I've seen, and not
really ideal for anything other 3D printing or using as a reference for
building a proper 3D model.

~~~
AndrewKemendo
_3D scanning and scanning-like techniques serve a very different purpose than
actually 3D modelling the thing, and are in no way a substitute_

That's too broad to be true and your examples below don't say anything about
the fundamentals of 3D scanning.

It also ignores causality - in that some things are built in 3D first and then
fabricated (extruded/milled etc...) while others are fabricated then scanned.
So the 3D data around each can't really be compared in the same sense.

In fact photogrammetry and laser scanning is getting to the point of eclipsing
hand modeling for pretty much anything that is not a result of a CAD model.

See: Our photogrammetry patent

~~~
542458
You're sort of lost me - I too do work and research in this field, and I have
never seen the question "Do we 3D model or 3D scan this?", treating them as
completely interchangeable. Can you give an example of a domain or application
where that is true?

The point of my examples was that scanning is currently so limited as to make
a _pure_ scanning workflow unworkable in almost all situations, including this
one. Scanning is incapable of doing what modelling can (good topo, clean
results, accurate representations of translucent, reflective, etc surfaces).
Likewise, modelling is incapable of doing what scanning can (quick approximate
real-world captures). They're different tools that accomplish different
things.

> In fact photogrammetry and laser scanning is getting to the point of
> eclipsing hand modeling for pretty much anything that is not a result of a
> CAD model.

Due to differing definitions of what is considered "CAD" I'm not sure what you
mean by this. I can think of applications where 3D scans are used, but only
either as a reference for hand-modelling, or only after being so heavily hand
corrected that it's a really more of a hybrid (model/scan) process.

Animation almost always uses hand-modelled or heavily corrected (by hand)
scans. Manufacturing uses hand-modelled objects or traced-over scans. Gaming
uses hand-modelled objects or traced-over scans. Where are scans eclipsing
hand 3D modelling? They're being used but as a different part of a hybrid
workflow.

~~~
AndrewKemendo
Well in our case we use models of furnishings. The space of furnishings is so
large that you can't hand model everything manually in polynomial time (that's
a joke). As a result we have clients that want 7 million objects in 3D. So we
had to figure out how we were going to build a massive model repo quickly and
at high enough resolution to be good enough for rendering. Scanning is the
only way to do that so we built an entirely new way to do that combining the
latest photogrammetry and depth scanning research.

Going further, with already built things, that aren't previously built in CAD,
like components and old buildings, in solidworks autocad etc... Making those
models is much more efficient with structured light or photogrammetry systems.
It should be noted that it's not just speed, it's hard to model to micron
specificity, whereas we can with scanning.

Animation is a little different but I think follows the same principles in the
long run.

The distinction between the methods in my mind is between digitizing something
real versus making something new. I think in the former case scanning will win
long term.

~~~
542458
Okay, so you're creating many approximate representations of opaque and
(mostly) rigid real world objects, and don't care about surface topology,
rigging or UV layout. Using raw scan data works for that highly specific
workflow, but let me assure you that for the overwhelming majority of the
various 3D industries this is not the case.

> Making those models is much more efficient with structured light or
> photogrammetry systems

Only if you don't care about topology, representing unscannable things,
polygon efficiency, UV layout, rigging, etc etc etc. For animation it's
nowhere near competitive at present - you basically have to resculpt or retopo
everything for anything but static matte background props.

Maybe long-run pure scanning workflows will become more competitive, but
that's not what my comment was about.

~~~
AndrewKemendo
_and don 't care about surface topology, rigging or UV layout_

Not true. In fact those are important aspects - especially UV layout as
texture baking correctly across dynamic finishes with the same underlying
polygons is critical for accurate rendering.

 _majority of the various 3D industries_

Like which? Aside from production level CAD/CAM we cover most other use cases
as they are almost strictly rendering/modeling.

 _Only if you don 't care about topology, representing unscannable things,
polygon efficiency, UV layout, rigging_

Again, not true. Especially polygon efficiency - our model requires polygon
optimization so that our models can be utilized by low-bandwidth areas. It has
been a massive challenge but one we cracked big nuts on. "Unscannable things"
is an issue, but again, there are solutions including destructive scanning and
X-Ray/MRI which give us insight.

------
antjanus
Cinema4D is probably the easiest-to-use 3D program I've gotten my hands on. I
tried 3DS Max, Maya, and spent a good deal of time on Blender as well yet it's
got nothing on Cinema4D which is a joy to work with.

I mean, just texturing and lighting alone makes it a huge deal as opposed to
its competitors. It's simple and makes everything look beautiful. Texturing is
drag 'n drop and you have access to global lighting (which doesn't exist in
Blender from the get-go).

~~~
JTxt
Yes, Cinema 4d has a reputation for being easy to use, I may give it a shot.

I started with 3ds r4, then 3ds Max r2, blender, lightwave, maya. I've stuck
with blender the most, partially because the ui is fast to use for me. It was
not fast to learn, though that has improved.

Granted, Cycles (Blender's global illumination renderer) is not selected by
default, but it's a drop down at the top menu bar to switch.

Then you can click "file" -> save "default settings".

Here's the official Cycles demo reel:
[https://m.youtube.com/watch?v=wDRTjzLNK0g](https://m.youtube.com/watch?v=wDRTjzLNK0g)

------
agumonkey
Impressive dedication. Still very naive but for a first try it is very
impressive.

A few things:

\- Non organic modeling is very programmatic, seek for symmetry in all things.
Train yourself on wheel rims for instance. Then bevel, chamfer. All these
details are very 'procedural' but they make the difference between a PS2
feeling and a feeling of beauty. Be lazy in a smart way, replicate and
randomize the secondary details to give density to a scene. I don't know what
blender gives today, try other tools, zbrush, modo, houdini, maya. They'll
give you ways to express your ideas.

\- Organic modeling... Andrew Loomis books about human figure gave a few life
altering tips (most of them are free PDFs now). Also, search for mirai
modeling bay raitt, martin kroll on youtube.

\- Lightning today global PR based lightning does a lot for you, but scenes
are about 'emotion' not physics. Peek what you show, what you don't, and how
you do. Hollywood movies are known reference for that, they exagerate,
emphasize everything to draw attention and decorate important points in the
composition. Unless your goal is to convey a more natural sensation in which
case forget everything about hollywood :)

Enjoy

------
sol8
The price point on major 3d software packages were always a deterrent for me.
When I first got into 3d (back in the mid 90s) I used POV raytracer. Its 3d
modelling from a more programmatic point of view... You describe your scenes
in a 3d language. Something like… sphere{ <0,0,0>, 0.75} Pass your scene file
to POV which then parses and renders it. You can make some beautiful stuff
with it.

~~~
dvtv75
Back in the early 90s, a friend of mine was using Imagine on his Amiga 500. I
think it was 1992 that he showed me a rendering of the Enterprise-D, and how
he had made a shield impact (and the subsequent flash) animation. He
eventually ended up with an Amiga 2000 with an '020, I think.

For years afterward, I confused Imagine with Lightwave, but of course they
aren't actually related.

------
bhouston
BTW most of what you can do in using the Cinema4D desktop software package,
you can do for free in your web browser using
[https://clara.io](https://clara.io)

------
aaronwidd
Very cool to see someone else is making the leap!

I just wrote a blog post about the same thing as it pertains to breaking into
VR in general. Interestingly, I had dedicated a chunk to the prerequisite of
3D modeling and animation.

Mine is no where near as good a post since I'm not an experienced blogger by
any stretch of the imagination. But complementary I suppose..

I posted the link to HN here:
[https://news.ycombinator.com/item?id=11733068](https://news.ycombinator.com/item?id=11733068)

------
pmille5
That was a pretty quick and awesome example of immersive learning.

------
rawnlq
You can probably show off your model to world with little effort using
three.js.

If you can export it as obj/mtl then you can probably just adapt this code:
[http://threejs.org/examples/#webgl_loader_obj_mtl](http://threejs.org/examples/#webgl_loader_obj_mtl)

~~~
davydka
It's not that easy. Loading obj's into three.js is like trying to open a jpg
in '94\. Everything has to be exported just right otherwise three.js will just
throw an error. It's sort of arcane.

~~~
rawnlq
Ah I didn't know. I usually have no trouble loading simple models from blender
on clara.io so I assumed it will just work with more complex scenes.

------
galfarragem
>> I knew the existence of 3d software like Maya and 3d Studio Max. But they
seemed like Java and C++ to me. Great for pros, but not simple at all. I
wanted to find the JavaScript of 3d. Simple, easy and pratical. I found that
in Cinema4D

So I would consider Sketchup as the Ruby of 3D.

~~~
copperx
Sketchup is pretty cool, but can you export the models to say, Unity? can you
animate stuff?

~~~
galfarragem
You can animate (Pro version at least) and it has some export options (unity
I'm not sure). You can also use Ruby to script it.

Sketchup is underrated and considered 3D for amateurs but people don't know
that most architectural offices use it during early stages of projects. You
can't beat its speed and usability.

------
criddell
What are some good libraries if your goal is to programmatically generate
solid models?

For example, if I want to model a coffee cup, I might define the cross section
then revolve it 360 degrees. I know of OpenCascade, but was wondering if there
were others.

~~~
jononor
FreeCAD, which uses OpenCascade as the kernel, is scriptable from Python. Open
the Py console and do actions in the UI, it will show the corresponding code.

Don't understand why you'd want to so the coffee cup example programatically
though, can be done nicely parametric from the GUI, with more direct
manipulation..

------
jscheel
Heh, I did the opposite. I went to school for animation, certain Pixar would
snap me up.

------
iamcreasy
> I tell the owner I modeled his bar and street for weeks. He seems impressed
> but also completely oblivious why anyone would pursue such an endeavor.

The best part of this article is when a learning endeavor turned into a visit
to another country.

------
fgandiya
Wow dude, those are some great scenes. I just finished a computer graphics
class where we learned about the algorithms involved in computer graphics
using python, which was super hard.

I just wish I knew how to make pretty things with it...

------
helb
Note: If you are on mobile connection with FUP, you might now want to open
this link. It loads tens of megabytes (mostly full-size screenshots shrunk
into the page).

~~~
pieterhg
Yep. I just added lazyload though, but it does have some heavy images. I'll
optimize those later. Sorry about that

~~~
helb
I'd say it was worth waiting, really liked the article. I fiddled with 3D
graphics a bit about 10+ years ago, so some parts are strangely familiar. :)

~~~
pieterhg
Thanks! Are you considering getting back into it ever? With VR coming now?

------
andygor
Some people work in gardens after office, Pieter do 3D...

------
dates
Actually, if you get into it, there is so much cool overlap between webdev and
3d, with three.js and webGL and everything. A lot of people doing really cool
stuff in that space, one person to check out and get you down that rabbit hole
is Vince McKelvie- really amazing stuff.

[https://vincemckelvie.com/Potluck/Backflips/](https://vincemckelvie.com/Potluck/Backflips/)

~~~
haywirez
I've also made my own ThreeJS adventure for a site dedicated to my latest
electronic music EP:

[https://rawfare.com/bomb](https://rawfare.com/bomb)

I did not design the model[0], but asked the artist to export it after the
animated video was done and used it to make a simple gamified online shrine.
It was a lot of fun to reason in 3D for a change.

[0] [http://jellygummies.com](http://jellygummies.com)

------
ratsimihah
YES YES YES YES! I just read the title and the first line of the post but this
is super exciting!

~~~
ratsimihah
I finished looking at the images and this is super impressive! Seeing the
place in person must've felt so good!

------
artur_makly
who remembers Strata3d?!

------
gfo
This is awesome. Now I might go on Street View and find something nearby to
do...

Is there a simple transition from this program into Unity?

