Build a Mindblowing 3D Portfolio Website // Three.js Beginner’s Tutorial

  Рет қаралды 2,546,564

Fireship

Fireship

Күн бұрын

Learn the basics of Three.js - a tool for building amazing 3D graphics with JavaScript. In this tutorial, we create an animated 3D scrolling animation for a portfolio website github.com/fireship-io/threej...
#3D #webdev #js
🔗 Resources
Three.js Docs threejs.org/
WebGL Overview • WebGL 3D Graphics Expl...
Inspiration atelier.net/virtual-economy/
Scrolling Animation with Three.js
📚 Chapters
00:00 Mindblowing 3D Websites
00:42 What we’re building
01:19 What is Three.js
02:12 Project Setup
03:35 Scene
03:52 Camera
04:28 Renderer
05:07 Geometry
05:28 Material
06:02 Mesh
06:16 Animation Loop
07:13 Lighting
08:45 Three.js Helpers
09:17 Orbit Controls
09:56 Random Generation
11:05 Scene Background
11:37 Texture Mapping
12:57 Scroll Animation
14:36 CSS Grid
🤓 Install the quiz app
iOS itunes.apple.com/us/app/fires...
Android play.google.com/store/apps/de...
🔥 Watch more with Fireship PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font

Пікірлер: 1 300
@stolensentience
@stolensentience 2 жыл бұрын
Wow this adds a whole new dimension to my programming
@williamxsp
@williamxsp 2 жыл бұрын
🤣🤣🤣
@Beryesa.
@Beryesa. 2 жыл бұрын
Hehe a "z" one
@welikerosafloyd
@welikerosafloyd 2 жыл бұрын
See what you did there
@opera_geek
@opera_geek 2 жыл бұрын
Duuuude
@erikawwad7653
@erikawwad7653 2 жыл бұрын
@@somerandomguy2892 use linux
@katyj98
@katyj98 2 жыл бұрын
*"It's guaranteed to get you a job, or your money back"* ... I paid nothing
@Fireship
@Fireship 2 жыл бұрын
That's why I can offer this amazing deal
@TerriTerriHotSauce
@TerriTerriHotSauce 2 жыл бұрын
I paid attention.
@Kevin-jc1fx
@Kevin-jc1fx 2 жыл бұрын
That's exactly what you'll get back. Nothing😂
@akhillshetty2140
@akhillshetty2140 2 жыл бұрын
​@@Fireship Just take my money man
@juancamiloq1
@juancamiloq1 2 жыл бұрын
We all love you so much
@tobiasstiller8221
@tobiasstiller8221 2 жыл бұрын
I rarely comment on any videos on youtube, but Jeff, the comprehensive yet compressed way of teaching things, like you do here, is more than awesome. it's so amazing. i am speechless. i really want to say thank you for your effort to contribute to the dev community in that way.
@PlanetComputer
@PlanetComputer 2 жыл бұрын
6
@nitsanbh
@nitsanbh 2 жыл бұрын
+1
@iAbhijeetShukla
@iAbhijeetShukla 2 жыл бұрын
jeff who?
@tobiasstiller8221
@tobiasstiller8221 2 жыл бұрын
@@iAbhijeetShukla dude the guy providing all that stuff is Jeff..
@iAbhijeetShukla
@iAbhijeetShukla 2 жыл бұрын
@@tobiasstiller8221 thanks
@bennailyes9303
@bennailyes9303 2 жыл бұрын
You’re the only guy that I slow the speed down instead of speeding it. in all my career as a developer, in my opinion, you're more productive than all I know. thank you a lot
@Titton
@Titton 2 жыл бұрын
+111
@emonymph6911
@emonymph6911 2 жыл бұрын
He is just a bloody showoff he doesn't teach he just shows off his own skillset, biggest tool in the industry.
@hothub8903
@hothub8903 2 жыл бұрын
@@emonymph6911 ikr
@nullbeyondo
@nullbeyondo Жыл бұрын
Ah yes.. slow down.. sure... *sweats in 2x speed*
@ontheruntonowhere
@ontheruntonowhere Жыл бұрын
@@emonymph6911 That's what a teacher does, dufus 🤪🤪
@jonlothar6126
@jonlothar6126 2 жыл бұрын
Everyone's commenting at light speed, since we've been sitting here waiting for this for days!
@rma9490
@rma9490 2 жыл бұрын
So true man!
@Fireship
@Fireship 2 жыл бұрын
I've been meeting with pro members all month, content frequency will increase in June
@user-ir2fu4cx6p
@user-ir2fu4cx6p 2 жыл бұрын
I come here by accident ,
@jonlothar6126
@jonlothar6126 2 жыл бұрын
@@Fireship Sounds awesome! I didn't mean it as an insult at all - your content is definitely worth the wait!
@drizzzzz
@drizzzzz 2 жыл бұрын
Best coding channel of all time
@joshlavallee5255
@joshlavallee5255 2 жыл бұрын
Just a quick two suggestions: 1) The texture loader can be instantiated once and used over and over no need to create a new one and load each time. 2) A way to bump performance for the stars, since the geometry and material don't change for each of the 200 stars, only the position, take them out of the function so your page isn't instantiating a new geometry/material each call, just use the already created objects 👍
@sam_bit7148
@sam_bit7148 2 жыл бұрын
Can you give more details about the first suggestion how to do it
@mikediaz7628
@mikediaz7628 2 жыл бұрын
Proxy geometry basically?
@DigitEgal
@DigitEgal 2 жыл бұрын
About 2) im thinking if he may go further to create a 4dimentional Website where you have a slider in your 3D World to change the perspective & make more Informations visible (similar to 4D Toys but with changing content instead of changing geometrys) that would really put a new dimension into coding 😜
@GekijoOkami222
@GekijoOkami222 Жыл бұрын
Yeah, f.e. when using vueJS. Instantiate the scene, renderer, camera and other utilities as globals so that you save on memory. Then bind them in the correct vue component and this way you can also use sub-components to do stuff with the same scene. Would be better if there was a vue-plugin, but I’m not sure there is one yet.
@programmingpython584
@programmingpython584 Жыл бұрын
random generation of stars 10:00 doesnot work properly on my side. Though it generates the stars but it messes with the torus geometry. Torus is taking the same color as the star and is not rotating, + also gets random position due to stars.
@Halfspacer
@Halfspacer Жыл бұрын
I was happily typing away at work when Github Copilot suddenly suggested I add code to create a button. The code suggestion also happened to include an onClick URL to a KZbin video. And that's how I ended up here.
@pandawoan
@pandawoan 2 жыл бұрын
OMG YES! THIS IS LITERAL GOLD!
@alejosky
@alejosky 2 жыл бұрын
You used the word "literal" figuratively... my brain-compiler just exploded.
@GuilleAcosta124
@GuilleAcosta124 2 жыл бұрын
I saw this like a week ago and I said I need to follow along this tutorial. Everything worked flawlessly, thanks for introducing me to this world of 3D rendering stuff on browsers. Thanks!
@CainanParker
@CainanParker 2 жыл бұрын
You have a way of moving through things much quicker than other three.js tutorials, but for some reason it makes so much more sense.
@jessemoeller8557
@jessemoeller8557 2 жыл бұрын
This simple tutorial touches on so many different concepts in a non-trivial way. Well done! Excellent content.
@franthor
@franthor 2 жыл бұрын
Man it is so good that you offer the github repo for your videos. Thanks! That way I don't have to write every step and it is possible to grab the concepts much faster, just doing some changes to the code, testing stuff. Also the fast pace of the video is very good. I usually watch tutorials at 2x, not yours. Your video I may actually play more than once to get all the details. Good job!
@SilverishKitten
@SilverishKitten Жыл бұрын
That's definitely not how you learn to code efficiently lol
@IshmamAhmed
@IshmamAhmed Жыл бұрын
@@SilverishKitten I don’t think that’s their point. Obviously you should learn concepts before copy pasting from GitHub repos but we don’t know if he/she did that
@mayanksingh8840
@mayanksingh8840 2 жыл бұрын
You're just a great learner and a teacher! Hats off to you man, and not forgetting the developers behind three.js 👏
@ChimkenAndRice
@ChimkenAndRice 2 жыл бұрын
I've been eyeing on threejs since the last few weeks for building my portfolio. The first 3 minutes of your video already gave me 2 ideas I can work on. Thanks a lot for this, It's golden!
@pablocortes682
@pablocortes682 2 жыл бұрын
Wow, just wow! Thank you so much for this tutorial. You made threejs so easy to follow, with the basics and its variables and possibilities, and how to apply it to a website, and all in just over 15 min. Thank you very much!
@user-pm4vd6ij8i
@user-pm4vd6ij8i 2 жыл бұрын
one of the most awesome tutorial that I have ever seen. introducing concepts one by one and show the difference step by step. this is the correct way to illustrate something that seems complex to the beginner. this video taught me a lot not just the code. thansk!
@JandyCZ
@JandyCZ 2 жыл бұрын
I work as a developer/sw engineer. Your cahnnel alone made me jump 5 steps ahead in no time. Thanks to you I am not only interested in coding more, I am eager to discover new technologies and possibilities in my work and hobby.
@RMike-xq1cm
@RMike-xq1cm 2 жыл бұрын
After watching other videos and reading documentation I couldn't wrap my head around Three.js I wanted to ditch it but this video popped up. This was very comprehensive and most importantly very well structured.Thank you.
@ramiroandrescruz4504
@ramiroandrescruz4504 2 жыл бұрын
there is no way to not love these videos man, thank you for you great work
@vinodabcd
@vinodabcd 2 жыл бұрын
God! Your videos are on another level.. I've been leeching your videos for a while now but I had to comment - I think this is the near-perfect way to explain "code"... I can see the real-world applications, get inspired from all the possibilities, pick up computer science concepts as well as jot down what coding keywords I need to deep dive into... I'm not kidding but you've literally inspired me to pickup front-end dev (I'm currently an utter noob)..
@xinaesthetic
@xinaesthetic 2 жыл бұрын
Pro tip: if you change addStar() so that the geometry and material are initialised outside the loop and shared by all of them, it’ll be more efficient. Even more efficient, you can merge a bunch of geometries so you just have one mesh for all of the stars, and you save a bunch of draw calls and matrix math on the cpu.
@hilelmauriciosalomon4465
@hilelmauriciosalomon4465 2 жыл бұрын
I'll keep it in mind
@Rayzax94
@Rayzax94 Жыл бұрын
the fact that as someone who is fairly new to programming I understood this whole thing, speaks a lot to you explaining abilities!! Awseome content! I"ll try it out this weekend, thank you!
@nitsanbh
@nitsanbh 2 жыл бұрын
This is a GREAT tutorial! Full with useful info, skips the bs, and most importantly, not just reading the documentation site out loud
@garathedra
@garathedra 2 жыл бұрын
You are the ultimate king of tutorials. Thank you !
@galabra1
@galabra1 2 жыл бұрын
This is fantastic! Such great methodological explanations and examples! Love it, thank you so much
@user-ym7un8bn2i
@user-ym7un8bn2i Жыл бұрын
Whoa that's just outstanding! I've never thought something like that is possible to do in simple programming, it's completely impressive! That's some incredible ability to learn here.
@smokeyoak
@smokeyoak Жыл бұрын
Love that short css-grid explanation a the end. So much better than the way we used to do it
@Trixz-the
@Trixz-the 2 жыл бұрын
Nice video bro. Been waiting for that!
@FinlayDaG33k
@FinlayDaG33k 2 жыл бұрын
Me eyes: "This looks amazing" My brain: "R.i.p batteries"
@hellfire92837
@hellfire92837 2 жыл бұрын
and possibly cpu/gpu meltdown too
@Macatho
@Macatho 2 жыл бұрын
Indeed. Nothing worse than a website that makes your laptop go VROOOOOOM
@lxhan893
@lxhan893 2 жыл бұрын
So this wouldn’t be a good idea?
@FinlayDaG33k
@FinlayDaG33k 2 жыл бұрын
@@lxhan893 Depends on your goals and values. On my website, I want my clients to use as little resources as possible without compromising on aesthetics too much. Some rather have all the gimmicks and eye candy instead.
@ginger-viking
@ginger-viking 2 жыл бұрын
This entire video was incredible. Using grid to make 12 equal columns blew my mind.
@andreimarian85
@andreimarian85 2 жыл бұрын
It is just incredible how you explain everything that you are doing.Great example,great tutorial!
@simas5983
@simas5983 2 жыл бұрын
I was literally researching how to make a 3D website an hour ago, then I go to my subscriptions and see this. WHAT
@leonmher5342
@leonmher5342 2 жыл бұрын
Dude it’s insane! Fast and clear explanation. Thanks for saving our time, cause this could easily be a one hour long video lol
@HP-ol2ux
@HP-ol2ux 2 жыл бұрын
ah... this content is gold. Not a second is wasted, and yet, it does not feel too fast, amazing
@jamesmoffitt4503
@jamesmoffitt4503 Жыл бұрын
I tried three 50 minute videos and they couldn’t even get the damn program installed on my computer. In 15 minutes you have me making 3D objects that I can play with. You’re the man.
@fpspsyduck
@fpspsyduck 2 жыл бұрын
Yes! Was waiting for this tutorial!!
@victorsaisse1340
@victorsaisse1340 2 жыл бұрын
Wow, amazing! I just finished the role tutorial, and it so satisfying to complete it as easy as you made look! Thank you so much, cheers from Brazil!
@Fractal_reComm
@Fractal_reComm Жыл бұрын
vc teve algum problema para rodar o three.js n estou conseguindo rodar o codigo
@Behuman20
@Behuman20 2 жыл бұрын
That’s awesome. Thanks for making such amazing videos and keeping them short and to the point.
@mequambluespark8686
@mequambluespark8686 2 жыл бұрын
I don't normally comment on tutorial videos but this was so, so excellent and concise, you earned yourself a subscriber for this content! Well done :D
@talhaibnemahmud
@talhaibnemahmud 2 жыл бұрын
Probably the best ThreeJS video on KZbin. Hat's off ❤️
@raphaelbaier6984
@raphaelbaier6984 2 жыл бұрын
The surface off the moon is in fact still smooth (the vertices have not changed), the normal map just modifies how the Moon is lit by the shader, you would need some sort of vertex displacement, for actual bumps
@SayantanDeyIshanz23
@SayantanDeyIshanz23 2 жыл бұрын
I started reading about three js today and this your starter video arrives! ❤️
@jbitbi2851
@jbitbi2851 Жыл бұрын
Getting into this space as newbie, this tutorial lights me up with 😀infinite possibilities of creating/customizing stunning, fluid apps in D3 js. Thanks so much!
@husler7424
@husler7424 2 жыл бұрын
Waiting for full tutorial on Three.js with full demo!💥
@andrewescu
@andrewescu 2 жыл бұрын
It's hard to go back to other youtube coding tutorials after getting use to this quality of content, keep it up man!
@daniels8112
@daniels8112 2 жыл бұрын
this is facts tho. sets my expectations far too high for any other content
@JonCianci12
@JonCianci12 2 жыл бұрын
This is one of the coolest tutorials on three js! I’m excited to get started!!!
@edhead76
@edhead76 4 ай бұрын
i was getting bored with the staticness of these two dimensional pages I was limited to. This blew my mind and I can't get over how simple it is to add some straightforward javascript to really bring the page to life. Thank you for putting this together!!
@amineyoussefi5311
@amineyoussefi5311 2 жыл бұрын
Dude u litteraly juust raised a new path 4 me
@ozzy2361
@ozzy2361 2 жыл бұрын
Wow thank you so much for this. I am about to finish my web dev course in college and this gave me such a wider view of whats possible in web development! Gives me something to do during summer!
@avatr7109
@avatr7109 2 жыл бұрын
Cna this get us a job
@Blentux
@Blentux 2 жыл бұрын
I almost cannot believe how easy this seems to be...awesome!
@diddlybop
@diddlybop 2 ай бұрын
This tutorial got me started with web animation, thanks for putting this out! Now I'm building with react and three-fiber, and it's all because I watched this video!
@jurgvds
@jurgvds 2 жыл бұрын
When fireship makes a Tutorial on something it becomes official for me
@minecrafthamody3082
@minecrafthamody3082 2 жыл бұрын
A truly masterpiece
@dannx3144
@dannx3144 Жыл бұрын
the way u explained it was so smooth, love this
@TJames7869
@TJames7869 2 жыл бұрын
Dude this is exactly the tutorial ive been looking for, for so long. Thanks
@fidgetymouse
@fidgetymouse Жыл бұрын
Amazing tutorial. I kinda went a bit overboard though and I spent a day rewriting Sebastian Lague's planet gen code to work with ThreeJS (pretty much only kept the methods for combining noise). Ended up having to learn glsl to make it work using a ShaderMaterial.
@klutch4198
@klutch4198 2 жыл бұрын
YASSSSSS!!!!! THE BEST!!!!! 🔥🔥🔥
@sarpedonmontecarlo8397
@sarpedonmontecarlo8397 Жыл бұрын
This tut series are amazing, Your teaching style has a fresh vibe. The topic is amazing, creative in nature. Cheers!
@Emileelime2
@Emileelime2 2 жыл бұрын
I rarely go out anymore during the weekends. Not because of Covid but because of this channel. Love these videos! Keep up the good work!
@boiimcfacto2364
@boiimcfacto2364 2 жыл бұрын
This might be weird, but I love how you use emojis throughout the video! Most tutorials seem too formal and don't really spark interest in the subject but the bright colours, emojis and (especially) your narration make the video all the more fun and interesting! Been subscribed for long, can't wait to see you hit a million subs soon :)
@avatr7109
@avatr7109 2 жыл бұрын
why would be that weird *STAND BY YOUR CHOICE*
@luimu
@luimu 2 жыл бұрын
zoomer moment
@RealityRogue
@RealityRogue 2 жыл бұрын
​@@avatr7109 A lot of older programmers feel like it has to be completely formal or else its not worth their time. You can easily spot these individuals because they will say things like "zoomer moment"
@tanmay______
@tanmay______ 2 жыл бұрын
1:12 ‘about as realistic as the official moon landings’ What’s that supposed to mean lol
@zanarkandmusic
@zanarkandmusic 2 жыл бұрын
Glad I'm not the only one who noticed that!
@matisowagm
@matisowagm 2 жыл бұрын
Dont tell me this guy is a conspiracist
@Mopark25
@Mopark25 2 жыл бұрын
@@matisowagm he's joking lol
@arthureroberer
@arthureroberer 2 жыл бұрын
from joke to joke the truth peeks out
@shb8651
@shb8651 2 жыл бұрын
1:09
@DodaGarcia
@DodaGarcia 2 жыл бұрын
I didn’t think I could be a bigger fan of this channel, and then you bring up Blender 💘
@Dracolmao_
@Dracolmao_ 2 жыл бұрын
Wow, everyone makes it so hard, thanks for making an easy three.js tutorial man.
@MobiusCoin
@MobiusCoin 2 жыл бұрын
Vite? At this point I'm going to have different tooling for every project I work on.
@Lolztech
@Lolztech 9 ай бұрын
idk what's happening but i cant follow half of the instructions here without something going wrong - Node JS isnt working as shown, the TextureLoader command is not recognizing the image path - perhaps this tutorial needs an update?
@iba001
@iba001 2 жыл бұрын
You've got magical tendency to post a video about topics I was 🤔 about (threejs AND putting together a portfolio website). Never thought of combining both but you might be onto something!
@TH3BADRO
@TH3BADRO 2 жыл бұрын
This is the most awesome tutorial I have seen about Three.js. Thank you !
@juanloutech2864
@juanloutech2864 2 жыл бұрын
Very nice tutorial! It's interesting to feel it so natural when you have been doing 3D game dev before with something like Godot. Thanks man!
@chickeninabox
@chickeninabox 2 жыл бұрын
That's me.
@abhiramsatpute
@abhiramsatpute 2 жыл бұрын
People might need to do an `npm install` before the `npm run dev` at 2:48
@crank9847
@crank9847 Жыл бұрын
I made it but i got an error anyways, that the "dev" script is missing
@terrorwizard4055
@terrorwizard4055 2 жыл бұрын
This is crazy !!! Expained very well. Need more tutorials on this.
@mkm_
@mkm_ 2 жыл бұрын
I've always wanted to do stuff with webgl/threejs but it seemed so complicated. This might finally motivate me to try it out. So thanks!
@skycrazyk
@skycrazyk 2 жыл бұрын
It was really interesting! I thought programming 3D animations more difficult, but now I think I should try it
@sebastianibe8147
@sebastianibe8147 Жыл бұрын
L l. L. Mmmm mmmmmmm/mmmmmm m. I. Öl oo. Öl l l. Lmm/mmmmmm n ooookoook ooookoook kmkkm/. Mmmmmmknlkkkkkkk. N. Kmkko l k o lol. I lol kkl OK kk OK. OK k l Oooooo9oooo oo oookooko I ooookoook k oo onooll ooonn9ooooo. Oo ooookoook and then I opened it to 0o9o9 ooooooooo9o9oo9ooo9999999 to make a good friend 0o9o9 Oooooo9oooo. Mm mmmom/. Mmmm/nnnnnmm0nnoo. O0 0 II ooo{oooooooo{oooo{{of oooooool. {{oooooo9o9oo9ooo9999999 nooooooo9o0o0okolooooooooioooo9olooo. Oooooo9oooo N no o. Poo. I. Poo {x9x69. 599m 5fk6f f6o t. Of Mo.. I o m fkfxtf. Zoom in oxft 6.oofkf6fktof.?!!. do..! Ox659. X. 5. 5otxof I. 5 of96fkkxmf o9fp6 9m5x.9x9.66o. Fkf o5fot. Fooxofkffofu. Click Click Click Click OK. Click This ist of. Kf.. F. on. on of. F.? Kfk. F.. It. CT.?! Tkxot9. T9f9 o6mffktk6kkf96. Too 6k from f9ckf mf96m96mcx9c9tofkfofoko. Okf I. I. Co.! Co. I. On ock. I. Co. Gott... Oof9. Fk59. C5l5ofk95kf9 95l!!!.?. 9!.?.
@sebastianibe8147
@sebastianibe8147 Жыл бұрын
Momomm{mm mooooommm{
@sebastianibe8147
@sebastianibe8147 Жыл бұрын
Oomo{m
@sebastianibe8147
@sebastianibe8147 Жыл бұрын
Kmmömmmmmm{{kkk
@sebastianibe8147
@sebastianibe8147 Жыл бұрын
Kmmömmmmmm{{kkkk
@Flocksta
@Flocksta 2 жыл бұрын
“Beginner friendly” 😢
@versatilevirtuoso1352
@versatilevirtuoso1352 2 жыл бұрын
So much information in just 15 mins. This is awesome!!!!
@Steven-bd8mn
@Steven-bd8mn 2 жыл бұрын
Finally a good tutorial in three.js, I'm having a hard time diving in this one
@spicybaguette7706
@spicybaguette7706 2 жыл бұрын
You can improve the moon with something called triplanar mapping, which basically takes an image for the x, y, z planes and projects them on the sphere. When you blur the edges you can get a really nice texture.
@mrmelon54
@mrmelon54 2 жыл бұрын
"its about as realistic as the moon landings" me: but the moon landings were real?
@kccupido3518
@kccupido3518 2 жыл бұрын
@@mrmelon54 or was it? Hmmmmmmm
@hurricanemeridian8712
@hurricanemeridian8712 2 жыл бұрын
@@mrmelon54 That sentence got me too... bruh
@nullbeyondo
@nullbeyondo Жыл бұрын
@@mrmelon54 He meant the footage of the moon landing cause it is low quality, not the landing itself. It should be obvious cause we talk about rendering in this video.
@SimpleLangSolution
@SimpleLangSolution 2 жыл бұрын
Welp, there goes my weekend.
@spectralquill1810
@spectralquill1810 2 жыл бұрын
Me too. Coder compulsiveness is itching again😅
@SO-fb4ef
@SO-fb4ef 2 жыл бұрын
This is the first thing I've seen that excites me about front end
@WilliamMelton617
@WilliamMelton617 2 жыл бұрын
Awesome video! I've really missed the longer and more in depth content
@FahadAli-ot5kn
@FahadAli-ot5kn 2 жыл бұрын
Hit the subscribe button and smash like button he is really genious person ...if u can't learn anything that's not a problem but hid idea is cool...
@peterferencz
@peterferencz 2 жыл бұрын
I literally just learnt about this framework a few days ago, and was wondering if someone has a tutorial for it
@colton3507
@colton3507 2 жыл бұрын
i am going to cry. this is beautiful
@bwustinbweem
@bwustinbweem 2 жыл бұрын
Thank you!!!! I’m in a coding slump right now and I needed this!!
@williamduncan7401
@williamduncan7401 2 жыл бұрын
The actual way to do this is record the 3D as a video and advance through the video with scroll. Why? - browser compatibility - no realtime rendering (compatibility with low spec devices) This is great if you want to code an online game, for which the user would understand a decent pc is required. But for a website meant to be opened by anyone... Imagine a recruiter opening your website on their 4GB ram i3 Windows 8 computer, they start lagging, they can't scroll because of lag, etc. Wouldn't be a pleasant experience. Hence you render the animation in advance, record it and put it in the background. Autoplay off, on scroll show next frame of the video. Note: this is not something that I invented, it's what popular websites (that require compatibility) use for fancier graphics. If all you wanna add to your website is something like a globe, it's probably alright, just beware that making a nice 3d scene might be too heavy for some of your visitors to handle.
@Achelon
@Achelon 2 жыл бұрын
I wonder if this really is a problem nowadays. I've been doing some stuff with the google 3d-viewer component and have not really had problems with cheap phones etc.
@AlphaQup1597
@AlphaQup1597 Жыл бұрын
This is how i think too
@ohs3099
@ohs3099 2 жыл бұрын
Great channel! Waiting for this tutorial for so long. ❤️
@EngineerNick
@EngineerNick 2 жыл бұрын
What's mindblowing is how concise you managed to make that :) ! My own introduction to threejs was a loooong and painful process.
@Wolflund2012
@Wolflund2012 2 жыл бұрын
The moonlanding was real tho
@aaxen7255
@aaxen7255 Жыл бұрын
Great tutorial, well explained. Question: where to host such a project? I'm assuming typical shared hosting doesn't support three.js ...?
@red.46
@red.46 Жыл бұрын
as long as the host supports a javascript website, you can use threejs. I use github pages to host my threejs website with react.
@aaxen7255
@aaxen7255 Жыл бұрын
@@red.46 thank you
@SapphireKR
@SapphireKR Жыл бұрын
@@red.46 how do you do this? I have spent hours and hours trying to figure it out, if you could help I would really appreciate it!
@bogdan07271997
@bogdan07271997 2 жыл бұрын
Great content my friend. Concise in information and extremely facile for learning. Keep up the good work!
@Luisja_c
@Luisja_c 5 ай бұрын
you have no idea how much this helped, I always reference you in my projects, thanks for being my sensei
@CarlitoProductions
@CarlitoProductions 2 жыл бұрын
does it affect performance on the site in any way when navigating/scrolling? I was talking to a friend today about using ThreeJS and GLSL in a future project, and not sure how many models you can render on screen at a time with ThreeJS before it slows down visibly. Would love to know performance comparison of a site with and without rendered objects.
@lucasjames8281
@lucasjames8281 2 жыл бұрын
Depends on the power of the clients machine id assume
@jonasex3001
@jonasex3001 2 жыл бұрын
"it doesn't look perfect but it's about as realistic as the official moon landz#&%" 😂😂
@hrsh042
@hrsh042 2 жыл бұрын
Man i didn't took that jokingly
@kevinmclarkey621
@kevinmclarkey621 2 жыл бұрын
ok boomer
@mohbkhaled6051
@mohbkhaled6051 2 жыл бұрын
This is absolutely amazing it will add amazing new animations to my webpages absolutely love it
@tomascalvo8
@tomascalvo8 2 жыл бұрын
It's amazing how much content there is in a sixteen-minute video.
@louisconnors8616
@louisconnors8616 2 жыл бұрын
when running npm run dev, i get an error saying that vite cannot be found and worker_threads module cannot be found. Any one have a solution?
@ricasfbp
@ricasfbp 2 жыл бұрын
same problem :/
@ricasfbp
@ricasfbp 2 жыл бұрын
i might have found the answer, after running: npm init @vitejs/app You just run these 3 commands: cd (name of your project) npm install npm run dev
@Golmixer
@Golmixer 2 жыл бұрын
@@ricasfbp thanks a lot!
@juliandavidalfonsomoreno6798
@juliandavidalfonsomoreno6798 2 жыл бұрын
14:58 how did you do that? The way you show the actual grid in vs code 😧
@MatiasDiezCanseco
@MatiasDiezCanseco 2 жыл бұрын
Mozilla Firefox has great visual feedback in the developer's tools. Check that out, you will find the grid helpers there. Don't know how to do it in vscode though.
@mohammedjawahri5726
@mohammedjawahri5726 2 жыл бұрын
leaving this here in case anyone replies with how lol
@mr.hahamuffingobrr3613
@mr.hahamuffingobrr3613 2 жыл бұрын
Could be wrong but I'm pretty sure that's added in post
@nebulousnomad
@nebulousnomad 2 жыл бұрын
Firefox developer tools allows you to highlight grid and flexbox. You can find it on the far right when you focus on an element that has `display: flex or grid`.
@reubenroy
@reubenroy Жыл бұрын
What absolute beasts Jeff and the Three.Js guys are!! Incredible!!
@oscardosjb
@oscardosjb 2 жыл бұрын
Thank you, I'm starting to learn this from now
@Trixz-the
@Trixz-the 2 жыл бұрын
I have a question. Must I install vite with react to use three.js?
@salmanarshad8861
@salmanarshad8861 2 жыл бұрын
No
@salmanarshad8861
@salmanarshad8861 2 жыл бұрын
Vite is optional
@Fireship
@Fireship 2 жыл бұрын
You don't need react. Vite is just an easy way to setup a project with NPM and hot module replacement, but it's not necessary.
@Trixz-the
@Trixz-the 2 жыл бұрын
Ok thankyou. 🙏
@codelightsparkles2403
@codelightsparkles2403 2 жыл бұрын
But if you want to use react then there is package called react three fiber which is awesome
I found more incredible 3D personal portfolios!!!
19:12
Developer Filip
Рет қаралды 143 М.
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 6 МЛН
Угадайте концовку😂
00:11
Poopigirl
Рет қаралды 4,2 МЛН
Что будет с кроссовком?
00:35
Аришнев
Рет қаралды 1,8 МЛН
船长被天使剪成光头了?#天使 #小丑 #超人不会飞
00:28
超人不会飞
Рет қаралды 11 МЛН
Top 2024 Web Design Trends
5:32
Codex Community
Рет қаралды 385 М.
How to get rich as a solo software developer - The Ultimate Guide
8:51
I wish I knew this before using React Three Fiber
28:23
Rabbit Hole Syndrome
Рет қаралды 108 М.
These Personal Websites are just WOW...
22:09
Developer Filip
Рет қаралды 1,1 МЛН
GitHub Copilot just got promoted to Captain
4:01
Fireship
Рет қаралды 424 М.
6 Months of Learning JavaScript Game Dev in 6 Minutes
6:35
Suboptimal Engineer
Рет қаралды 108 М.
I found the PERFECT duo for 3D web animations
5:52
Juxtopposed
Рет қаралды 175 М.
My Bleeding Edge Tech Stack for 2025
8:43
Fireship
Рет қаралды 870 М.
Three.js personal portfolios are amazing...
13:05
Developer Filip
Рет қаралды 434 М.
AI just officially took our jobs… I hate you Devin
4:14
Fireship
Рет қаралды 2,1 МЛН
Интел подвинься, ARM уже в ПК!
14:06
PRO Hi-Tech
Рет қаралды 156 М.
🔥Новый ЛИДЕР РЫНКА СМАРТФОНОВ🤩
0:33
КУПИЛ SAMSUNG GALAXY S24 ULTRA ЗА 88000 РУБЛЕЙ!
27:29
Start from 0 at any point on the T1 Digital Tape Measure
0:14
REEKON Tools
Рет қаралды 20 МЛН
Phone sees the future ! 📲🫣👽
0:38
BOGDANCHIKI
Рет қаралды 11 МЛН