77 comments

[ 4.2 ms ] story [ 128 ms ] thread
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...

I think VR might be able to change this and open more doors for people here.
Yeh i think levels is generally quite forward-thinking. He's gonna turn this into a VR game IIRC
And the best part: he will live on a rollercoaster riding the economic cycles..
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.

3D stuff is definitely fun(I say this as someone who's been doing it for almost 10 years across various industries), however the one thing is the amount of work you need to do is an order of magnitude higher than traditional 2D media + code.

That usually scares off all but the most serious funding.

Once you start playing with Unity you'll see there's a whole nother side of the 3D pipeline that takes just as much effort.

I have no experience with Unity. Can you please explain the kind of work involved? (btw I have no interest in gaming, but am interested in all non-gaming things you could possibly do with 3d-modeling, Unity, etc.)
Dealing with interchange formats(which Maya and 3DSM excel at, no idea on C4D). It's very common to find that something you've build in your authoring package doesn't import cleanly and figuring out why can take time. If you bring animation in at all you'll have to deal with skeletal rigging, and then the tooling you want to build around interaction on the unity side of things.

There's a reason that games budgets end up running very high unless you're dealing with 2D/simplified content.

There's a lot of optimization that needs done for realtime.

For any given asset you may have a pipeline like so:

Sculpt hi rez model in Z brush > create low rez model and retopologize (can be a very manual process) > UV unwrap and bake the high rez details down to Normal maps for the low rez mesh > Use DDO or Substance painter to create custom textures for diffuse, metalness, etc > Rig model (if you are animating it) Then export to the engine. Rinse and repeat based on major art changes.

Hey Peiter - your scene looks great, especially for a first time.

If you're already in Cinema 4D you should look into the various post-processing and rendering options. I think a little bit of DoF, ambient occlusion, global illumination and volumetric light could really make your scene shine.

Nice! I'll try that for sure. I'll be improving it over the next few weeks but wanted to get this out for the deadline!
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.
You could start with Blender. It's very advanced and totally free.
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!
I'm also a programmer who does 3d modeling as a hobby. I'd never do 3d modeling as a job. Not only does it pay less, but a lot of the novelty would be lost. There's something endearing about being able to come home, shrug off my job for a bit, and model something.
You can do prosthetics to a certain degree, too.
To do 3D modeling professionally, you have to be very good and very fast, and have very clear mental images of what you're doing. I used to do physics engines for animation software, so I've met people in Hollywood who do theatrical animation. I've seen an animator draw a face by freehand drawing cross sections (circle for the top of the head, bigger circle, curves with indents for the eyes and outdents for the nose, etc.) and then have the program skin the result. The result was a good face model, the first time.

Pros and amateurs use drawing programs quite differently. Pros don't edit much. They redraw. They don't spend a lot of time pulling control points around.

There are 3,467 union animators in Hollywood, according to The Animation Guild. It's not a big field.

3D modeling is a prerequisite skill for emerging tech like VR/AR/MR. The ability to manipulate 3D models competently is soon going to be a pretty essential foundation, like using photoshop
>> 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.

Sketchup is pretty cool, but can you export the models to say, Unity? can you animate stuff?
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.

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
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.
The trick is to only say you've done things after you've actually done them.
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.
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.
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).
Yep. I just added lazyload though, but it does have some heavy images. I'll optimize those later. Sorry about that
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. :)
Thanks! Are you considering getting back into it ever? With VR coming now?
Heh, I did the opposite. I went to school for animation, certain Pixar would snap me up.
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

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.
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.
Web developers looking to get into 3D and modeling should check out A-Frame (https://aframe.io/) which is an abstraction on top of three.js.
That's a lot of work for something that can be done automatically [1]

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

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.

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

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.

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.

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.

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.

> 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.

Woah, interesting. Please go on? (i.e. what would be your workflow for this - what applications/apps/hardware would you use for this? Also, for a thing with a lot of polygons, like a human, ok -- but would you do same for an object better suited for CAD programs? Like a monitor, let's say?)

There are a variety of them.

As I mentioned elsewhere the core distinction is in digitizing real things that did not come out of a manufacturing process that utilizes CAD.

For us, as we are an AR company, building 3D content is a critical piece so we need to digitize real objects as quickly and accurately as possible.

The trick for us is finding the perfect balance between size of the resulting model and quality. So our scanning process is very refined.

3D scanning is a a great tool, but in addition to manual modeling. The scanned data is a great place to start, but if you want to animate the item, or use it in any sort of realtime or near realtime application you will be replacing every single polygon using a mix of manual modeling work and other algorithmic tools. Raw scan data is a fantastic starting point but it's not an end to end solution.
* or use it in any sort of realtime or near realtime application you will be replacing every single polygon using a mix of manual modeling work and other algorithmic tools*

Our product is real-time and "other algorithmic tools" are the basis for our work - and we have had fantastic unprecedented results.

Raw scan data is a fantastic starting point but it's not an end to end solution.

That is true for current COTS tools, but what we built has proven that we can get an end-to-end solutions for our problem which is opaque, non-reflective objects larger than a soda can and smaller than a vehicle.

I know everyone on HN is the smartest ever and nobody here can see other people as making real shit but there are innovations happening. In this case the wide scale need wasn't there for innovation for a long time and now there is.

That sounds fantastic and I look forward to seeing it hit the market. On the other hand, like you said, the state of the art for off the shelf tools isn't there yet so I think the snarkiness is kind of off putting.
Sure, and doing figure drawing is a lot of work for something that can be done with a camera.

But "a picture of a naked person" is as much the goal of figure drawing as I suspect "a model of this street" was of this project; the real goal is the knowledge it puts in your head, both of your tools and of your subject, which you can then use in making stuff up from scratch.

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.

openSCAD is probably the biggest name in that domain.
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..

That was a pretty quick and awesome example of immersive learning.
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).

A long while ago I bought Cheetah3D [0] (Mac OS X only) since it seemed like an easy to use 3D modeller. I think assets can also be exported for games, etc… The app has some tutorials included to get you going. Sadly I still don't have enough time available to really dedicate myself to learning 3D modelling. Perhaps in the future…

---

[0]: http://www.cheetah3d.com

It's funny, it all depends on the users mind. I dread anything 3ds/cinema4d like GUI/UX. I naturally tend to Maya/Houdini. I need the mathematical process and genericity of the later. Modo was tempting though, composable modeling tools .. what's not to like.

Granted I haven't touched Cinema4D since 2003 :) it may have changed a lot.

What makes you prefer texturing in Cinema4d? I've been using 3D DCC apps for now over 20 years, every day, but haven't gotten much into Cinema4D as of lately (been using it back on Amiga and when versions 5 through 7 XL were around). Nowadays, I prefer doing UVs in Headus UV Layout and textures outside of main apps (Maya, 3dsmax, Houdini), mostly either in Mari, Photoshop or even Zbrush.
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

(comment deleted)
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/

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

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

> 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.

>> 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.

YES YES YES YES! I just read the title and the first line of the post but this is super exciting!
I finished looking at the images and this is super impressive! Seeing the place in person must've felt so good!
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...

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

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.
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.

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

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?

There's a lot of outsourcing. In 2013, Rhythm and Hues both won an Academy Award and went bankrupt.

Simply providing a clipping path which separates the foreground from a background is widely outsourced. Effects movies use this heavily. It's manual green screen. Some outsourcing companies for this job:

    clippingpathindia.com
    offshoreclippingpath.com
    clippingpathasia.com
This ought to be automated by now, but apparently the automated approaches are not good enough yet.
There is a lot more to that story, and to say it was entirely due to outsourcing is a half truth.

That being said the state of the industry in Hollywood, especially for animators and artists, is pretty dire.

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