From Blender to the Web - the Journey of a 3D Model

Rate this content
Bookmark

Creating 3D experiences in the web can be something that sounds very daunting. I'm here to remove this idea from your mind and show you that the 3D world is for everyone. For that we will get a model from the 3D software Blender into the web packed with animations, accessibility controls and optimised for web use so join me in this journey as we make the web more awesome.

This talk has been presented at React Advanced 2021, check out the latest edition of this React Conference.

FAQ

Blender is known for its capabilities in 3D modeling but also supports 2D, video editing, and can be enhanced with Python scripts for plugins and procedural operations.

Sara works as a front-end developer at a company called Remote, which assists companies in hiring remote workers with benefits similar to traditional employment rather than contract-based roles.

Sara exports 3D models using the glTF format, which is suitable for web applications. She also uses React Three Fiber and React Three Drei libraries to handle 3D models in web development.

According to Sara, lighting is crucial in 3D rendering as it affects the appearance and realism of the scene, similar to how light behaves in real life.

A render farm is a group of networked computers that work together to complete rendering tasks more efficiently. Sara mentions that Blender provides access to a free render farm service.

Sara started using Blender during the pandemic as a new hobby and has grown to enjoy creating 3D models, leveraging the software's improved features over time.

Sara uses Blender, a free and open source 3D software, for her 3D modeling.

Yes, Blender can be used on a Mac, although Sara mentions that it is painful as it can make unexpected sounds and may require a really good graphics card.

Sara Vieira
Sara Vieira
27 min
22 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This Talk is about Blender, a free and open-source 3D software, and integrating 3D models into websites. The speaker discusses exporting 3D models to the web using the gltf format and compressing them using gltf transform and draco compression. They also cover integrating the 3D model into a website using React and React 3 fiber, troubleshooting installation and error issues, and working with refs and frames. The Talk explores rendering, lighting, mathematics, and experimentation in 3D, as well as interaction and rendering effects. The speaker also mentions their favorite creation in Blender.

1. Introduction to Blender and Web Integration

Short description:

I will be talking about Blender, a free and open source 3D software. I started using it during the pandemic and fell in love with it. Today, we will export a 3D model from Blender and then integrate it into a website. I work as a front-end developer at Remote, a company that helps hire remote workers. We're hiring, but please don't mention my name. Blender can be used on a Mac, but it can be painful. The talk will be divided into parts, starting with exporting a 3D model from Blender and then moving on to web integration.

Good morning, everyone. I want to say that I have the sniffles, but I got tested and it's not COVID, so the worst you're going to get is a cold, which, I mean, take what you get, right? Okay, so that was not funny and I apologize. I mean, I think I heard like two laughs. Thank you. I don't know who that was. I can't see any of you, which is nice. Okay.

So, yeah. As Elie said, my name is Saru Wieda, which, Elie's one of the only people that can actually pronounce my name correctly, which I appreciate. Usually just something like Vieda, something like that, which I don't know. But yeah. So, I'm going to do my talk. I know it's 10 a.m. and we're going to be looking at Blender, which is a thing that a lot of you have not seen. And if you have seen a lot of years ago, I promise you that it looks better. It looked really bad. And that's why no one used it. So I started doing Blender in the mid-pandemic or something, I don't know, when everyone started doing their hobbies, basically.

And so this is one of the things that I make—Can you see my mouse? Yeah. So this is one of the things—Also, I brought a mouse because I'm that person now. So this is one of the things that I made and what we're going to try to do today here, together as a family, altogether in an actual conference, is—Wow!—is that we're going to try to bring this little boy, which I will gender as a boy, apparently, to the web and try to put it on a website. Okay, so, who am I? My name is Sara. Sara—whatever you're going to call me, I don't care. I work as a front-end developer at a company called Remote, which is very confusing to tell to people, when they're like, where do you work? And I'm like, I work at Remote. And they're like, I know you work Remote, but where do you work? And it just keeps going back and forth until one of us gives up, and it's like, okay, fine. I don't care anymore. But, yeah. So, Remote is a company that helps companies hire remote workers with, like, the normal, you know, vacation time and you're not a contractor, basically, which is quite nice. Yeah. So, we're hiring. Tell them I sent you. Actually, don't. That sounds like terrible. Do not tell them I sent you. And I love to do stuff in 3D. I started using Blender, like I said, in the middle of the pandemic, and I kind of fell in love with it. So, all these things that you saw, I made them with my own hands, and I have a Windows computer, if anyone's going to ask, can I use Blender on a Mac? You can. But it's painful as hell. Like, it just, it makes sounds that you didn't know a computer could make. And you think you know because of NPM, but trust me, you don't. So, there's a talk... Wow. It's been so long since I've done a talk, I was like, what's the name of this? Talk is going to be divided into parts. The first part, we're going to go to Blender and just export the little fella. And then the second part, we're going to jump into the web. Okay. So, if you've never heard of Blender, Blender is a free and open source 3D software. The reason there's an asterisk on 3D is because it actually does other stuff. Like it does 2D. It also does video editing.

2. Blender's 3D Aspect and Views

Short description:

Blender is mostly known for its 3D aspect and is free and open source. It offers the ability to write plugins and procedural stuff in Python. Blender's UI has significantly improved since version 2.8. There are three main views in Blender: one for meshes and two render views - E.V. and Cycles. E.V. imitates light and how it should bounce, while Cycles calculates the behavior of every beam of light in the scene. Cycles requires a powerful graphics card, making it unsuitable for MacBooks.

The 2D aspect is not bad, but everything else is like... It's mostly known for its 3D aspect. And yeah, it's free and open source. You can also write plugins and procedural stuff in Python, if you know Python. I don't. So, there you go.

Let's go. I'm going to open up Blender and this is how it looks now. If you have used it before, it looked worse. Like so much worse. Like has anyone here ever opened Blender? Before version 2.8? Okay. So no one has seen how bad it was. So you don't understand like how good it looks now? You're like, this doesn't even look that good. No, you don't understand. I beg you to Google online Blender 2.7 UI. Okay.

So this is my little mug and there are mostly three views here in Blender. So this one is the one that I have right now is just for you to see the meshes which are the little a cube, a ball, whatever it is, and everything you have in the scene. And then there are two render views. And there's something called E.V. and there's something called cycles.

E.V. is the same thing at not the same thing, but the same IDS 3.js. So it's not physically good. This is kind of imitates light and how light should bounce, but it figures it out by, I don't know, AI and Python. It's probably not AI. It's just a bunch of if statements. I mean, what is AI? A bunch of if statements. And so this thing is new which makes it completely doable to use it on a Mac because it doesn't actually do all of that stuff. So if I switch to E.V. here and it takes a while and I come to the camera, this is how looks in E.V. So you can see that if I move it, the light kind of does this shadowy, weird thing. And that's because it's calculating it in real time. If you think about game engines like Unity or Unreal or something like that, it does the same thing but worse. There you go. I don't know if anyone has seen Unreal 5, but it's way worse than Unreal 5. That's not even going to go there. So yeah, E.V. E.V., this cycle is the one that makes your computer go. I don't know if that was too loud. So this is Cycles, and you're going to be okay. So yeah, this is Cycles, and what Cycles does is imagine every beam of light in this room, it literally calculates where it bounces and where it refracts and everything for each single one of those lights. And every light has like a thousand points of light, so it needs a really good graphics card. Or any graphics card. So MacBook is a no-no. So yeah, this is the more realistic one, but it's not the one we're going to use. So yeah. Let's go back to Eevee so my computer doesn't die. And I wanted to mostly just explain this. And I wanted to show you something as well in here, so like, imagine that you want to change a color or something.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

TresJS, a declarative way of creating 3D scenes from Vue components
Vue.js London 2023Vue.js London 2023
27 min
TresJS, a declarative way of creating 3D scenes from Vue components
The speaker discovered 3D with 3GS and was inspired to create a 3D ecosystem for the Vue community using Troy.js. The process of setting up a 3D scene and objects in Tress was explained, along with creating and configuring 3D objects. The talk also covered animating objects with Tress and the 'Cientos' package, as well as the future of Tress.js and its compatibility with older versions of Three. The speaker expressed gratitude to sponsors and contributors and highlighted the potential for product customization with Tress.js.
Build a 3D Solar System with Hand Recognition and Three.js
JSNation 2022JSNation 2022
36 min
Build a 3D Solar System with Hand Recognition and Three.js
Top Content
This Talk explores the use of TypeScript, 3JS, hand recognition, and TensorFlow.js to create 3D experiences on the web. It covers topics such as rendering 3D objects, adding lights and objects, hand tracking, and creating interactive gestures. The speaker demonstrates how to build a cube and a bouncy box, move objects with flick gestures, and create a solar system with stars and planets. The Talk also discusses the possibilities of using hand gestures for web navigation and controlling websites, as well as the performance limits of these technologies.
Scaling React-Three-Fiber Applications beyond the Hello World
React Summit 2023React Summit 2023
20 min
Scaling React-Three-Fiber Applications beyond the Hello World
Watch video: Scaling React-Three-Fiber Applications beyond the Hello World
WebGL has evolved from showcasing technology to being used in everyday applications like Google Maps and Figma. React and 3.js can be used together to build WebGL applications, allowing for reusable components and declarative development. Building complex 3D graphics applications requires efficient data structures, algorithms, and rendering techniques. The Flux CAD editor uses React, 3.js, and React ReFiber to handle complex engineering documents and optimize GPU utilization. Optimizing the render loop and GPU performance is crucial for improving WebGL application performance. Instance rendering can be used to optimize text rendering in WebGL applications, achieving efficient rendering of thousands of 3D characters.
From Blender to the Web - the Journey of a 3D Model
React Summit 2022React Summit 2022
26 min
From Blender to the Web - the Journey of a 3D Model
Today's Talk is about Blender and 3D in the web, covering topics such as rendering engines, material properties, exporting models, using React Fiber, lighting and shadows, state management, and adding wobbling effects. The speaker demonstrates how to create a 3D cupcake model and customize its appearance and behavior using React and Blender. The Talk also touches on topics like frosting selection, color changes, and adding orbit controls for interactive movement.

Workshops on related topic

How to make amazing generative art with simple JavaScript code
JS GameDev Summit 2022JS GameDev Summit 2022
165 min
How to make amazing generative art with simple JavaScript code
Top Content
WorkshopFree
Frank Force
Frank Force
Instead of manually drawing each image like traditional art, generative artists write programs that are capable of producing a variety of results. In this workshop you will learn how to create incredible generative art using only a web browser and text editor. Starting with basic concepts and building towards advanced theory, we will cover everything you need to know.
Introduction to WebXR with Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
86 min
Introduction to WebXR with Babylon.js
Workshop
Gustavo Cordido
Gustavo Cordido
In this workshop, we'll introduce you to the core concepts of building Mixed Reality experiences with WebXR and Balon.js.
You'll learn the following:- How to add 3D mesh objects and buttons to a scene- How to use procedural textures- How to add actions to objects- How to take advantage of the default Cross Reality (XR) experience- How to add physics to a scene
For the first project in this workshop, you'll create an interactive Mixed Reality experience that'll display basketball player stats to fans and coaches. For the second project in this workshop, you'll create a voice activated WebXR app using Balon.js and Azure Speech-to-Text. You'll then deploy the web app using Static Website Hosting provided Azure Blob Storage.