Three.js Crash Course For Beginners | Create This Awesome 3D Website!

Sdílet
Vložit
  • čas přidán 8. 12. 2022
  • BLACK FRIDAY SALE 40% OFF ALL COURSES 🔥🔥🔥
    developedbyed.com/
    USE COUPON: BF40
    Today we are going to learn how to use Three.js, which is a library on top of webgl that allows you to create immersive 3D Websites with just a few lines of code. This is a beginner tutorial on how to learn Three.js starting from absolute scratch. This will be a potential series where we dive deeper into Three.js but also learning how to model with blender.
    🛴 Follow me on:
    Twitter: / developedbyed
    Instagram: / developedbyed
    Github: github.com/developedbyed/
    #coding
  • Věda a technologie

Komentáře • 320

  • @developedbyed
    @developedbyed  Před rokem +153

    Definitely keen on making a series out of this, hopefully progressing into making full blown 3D Websites. Let me know if you are interested 🔥🔥
    Black Friday sale is still on so make sure you get it before Christmas 🚀

    • @Web-Dev-Codi
      @Web-Dev-Codi Před rokem +1

      Absolutely

    • @md.asifal-mahmud5952
      @md.asifal-mahmud5952 Před rokem +1

      Make it free

    • @sh.roy.855
      @sh.roy.855 Před rokem +1

      It would be extremely beneficial in learning Three JS, Ed. Thank you for making this video.

    • @kasparasbalys2304
      @kasparasbalys2304 Před rokem +1

      Such a massive YES!!!, youtube series or a course, doesn't matter .. CAN"T WAIT! I have been looking for this for so long...

    • @HarpreetSingh-jd3tu
      @HarpreetSingh-jd3tu Před rokem

      Yeah I will purchase your course if you made something focused on 3d

  • @LeeMandM
    @LeeMandM Před 11 měsíci +127

    Thank you so much, it was great to follow along with the tutorial.
    I will point out some things that happened to me in hopes it could help someone :)
    1. I don't know why but for me, the PointLight didn't work at the values (0xffffff, 1, 100), I couldn't see the sphere at all everything was black. I had to put the intensity at 70 instead: new THREE.PointLight(0xffffff, 70, 100, 1.7);
    2. In the "mouse animation colorrr" you can simply do r: rgb[0], as you mentioned, the problem is when working with graphics libraries like THREE.js and animation libraries like GSAP, the function expects normalized values for colors [0-1]. If you don't multiply by 255 and just use Math.round((e.pageX / sizes.width)) you can use them directly, no need for that extra variable newColor.

    • @neverpresent
      @neverpresent Před 10 měsíci +12

      life saver, thanks a lot!

    • @u.tassinari2916
      @u.tassinari2916 Před 10 měsíci +4

      same for me, this issue have to be explained, if someone knows... (thank you @LeeMandM)

    • @smydo1164
      @smydo1164 Před 9 měsíci +3

      You can replace 0xffffff to 0xFFFFFF its just the maj who disturb the js

    • @honeypot11
      @honeypot11 Před 8 měsíci

      it helped me thank u!

    • @07sunny10
      @07sunny10 Před 8 měsíci

      Helpful. I had the same situation. Thanks

  • @sayakraha12
    @sayakraha12 Před rokem +34

    Just awesome explanation. Not unlike other youtubers who write a predetermined code on their console, you do errors and explain them nicely. Best webdev youtuber rn.

  • @Lobott
    @Lobott Před 6 měsíci +3

    man you're my new favourite youtuber, never heard someone swearing and sneezing during a code tutorial, it makes it so real

  • @tryingtobeproductive
    @tryingtobeproductive Před rokem +2

    Your casual attitute and ease of approach makes this the perfect tutorial. I usually cant connect with tutorials but this was perfect. Well done.

  • @user-lu7dm2fg2x
    @user-lu7dm2fg2x Před rokem +3

    Wow, this video was absolutely amazing! I loved the attention to detail and the clear explanations provided throughout. The best part for me was watching as things got broken and then fixes were suggested to get them working properly again. This approach really helps to tackle frequent issues head-on and learn how to debug them effectively. The ability to render things out exactly how we want on the canvas is crucial, and this video showed just how to do that. Thank you for sharing such a fantastic tutorial!

  • @aceflash0r
    @aceflash0r Před rokem +6

    This was amazing. Easy to follow, easy to understand the concepts. I started learning THREEJS and this video was a godsend to start. 100% would watch more, from basics to more advanced stuff. Great content as always.

  • @jake221
    @jake221 Před rokem +7

    I think more blender and three JS Tutorials would be kindly appreciated 😊

  • @IvayloDechkoff
    @IvayloDechkoff Před rokem +1

    YES! Make a series of this! Great job as always!

  • @anguluth2878
    @anguluth2878 Před rokem +1

    It's a real pleasure to learn with you. Your positive tone, calm pace and explanations makes it really enjoyable. Thanks a lot

  • @KristianTheDesigner
    @KristianTheDesigner Před rokem

    This tutorial is the first time I am trying three js. Everything went super smooth. Very nice tutorial. I only had one issue, and that was at the very beginning, but that was all my fault because I went into three js site to try and get started in there first. That was a mistake, since everything I needed to do got explained by you...soooo..yeah! Awesome job!

  • @omarbader9529
    @omarbader9529 Před rokem

    wow! usually i dont comment or like youtube videos, but damn you made fall in love with threejs as this was my first video about it, so thank you so much, this video is insane please do more like this

  • @akash_badadani
    @akash_badadani Před rokem +1

    So neatly explained, I thought it's very difficult to create 3D objects but now I understand it's not that hard. Thank you for the good explanation!!

  • @NNNedlog
    @NNNedlog Před rokem +3

    As soon as I saw this on my feed, I clicked faster than I've ever done. ThreeJS is something I've always wanted to learn

  • @ryokogreg
    @ryokogreg Před 10 měsíci +5

    it would be awesome to have a Tuto that show what we need to instal ( like vanilla Js , node JS.... ) for the very beginer , thank you

  • @muhammedmusthafa8623
    @muhammedmusthafa8623 Před rokem

    I was literally waiting for this, you are so timely

  • @basidev
    @basidev Před rokem +1

    I'm working now with three.js and this is an amazing new video from u coming

  • @osebestephraim4400
    @osebestephraim4400 Před rokem

    This is a great crash course. Thanks Ed. Please keep it coming, more tutorials on Three

  • @eriknewland4119
    @eriknewland4119 Před rokem

    Super helpful video as someone diving into threejs. Would love to see more!

  • @creative_yudai
    @creative_yudai Před rokem

    Thanks for this awesome tutorial Ed, this one should have a million views already. Thanks for sharing value 💙

  • @NNNedlog
    @NNNedlog Před 3 měsíci

    I'm really grateful for this tutorial. The way you explain is so easy to follow along. Because of your tailwind tutorial, it's my go-to for styling, and in a few months time, I'll be back to say the same thing on three.js.
    Thanks for all you do

  • @tunaralyarzada
    @tunaralyarzada Před rokem

    Amazing tutorial, awesome explanation! Thanks for everything, Ed! Wish u the best..

  • @colindante5164
    @colindante5164 Před 7 měsíci

    One of the best teaching styles. Loves it.))) Thanks a whole bunch. ))

  • @pixelprogrammer36
    @pixelprogrammer36 Před rokem +1

    I can't watch 20min+ study video in one go but, in this i don't know where time go, and this is my first video on threejs its awesome thank you🍨

  • @mykeleze
    @mykeleze Před rokem +43

    I have already liked the video before watching because I know you won't disappoint and you didn't.

    • @kolavithonduraski5031
      @kolavithonduraski5031 Před rokem +3

      i was disappointed... it was only around 40min. long.... we need more of this good stuff 😄😄😄

    • @mykeleze
      @mykeleze Před rokem +2

      @@kolavithonduraski5031 🤣🤣🤣... Yeah

  • @lucid2232
    @lucid2232 Před rokem +3

    thank you! been looking for threejs tutorial and yours come with the perfect timing. this tutorial is the best one I've seen so far

  • @hvok01
    @hvok01 Před rokem +4

    Great crash course! would you like to do some sort of series about how canvas works and maybe webgl? because i think it's kind hard to find this kind of resources, would be very helpful

  • @MilkyWayTarot
    @MilkyWayTarot Před 6 měsíci

    Thank you so much for this tutorial. I really enjoyed you style of teaching. You are very clear easy to follow along and you don't hide code or techniques. You are indeed one of the best teachers on here. Please continue to make more videos. I am new to three js. If you knnow how to do the water reflection rendering please consider making videos on the subject.

  • @soulforthekindheart3766
    @soulforthekindheart3766 Před 8 měsíci

    Can’t wait to implement this to my nav and and footer on my portfolio. Might do some 3d effects on the next one.

  • @Web-Dev-Codi
    @Web-Dev-Codi Před rokem

    Another banger dev tutorial!

  • @justiceasuelimen
    @justiceasuelimen Před rokem +5

    Great job 👍, but I didn't understand how you created vite project at the beginning. I don't know the framework whether it's vanilla or react. Thanks 😊.

  • @iamravimeena
    @iamravimeena Před rokem

    Thank you so much 🥰, was waiting for a 3js tutorial and now planning to watch this after my end semester exams ✨🙌🏻

  • @abbashaidari8313
    @abbashaidari8313 Před rokem

    Thanks Bro! Extremely Helpful!!

  • @tohirasadov689
    @tohirasadov689 Před rokem

    thank you. there is nothing to say about the video because it is best of the best. Please make a video using three js with react or next js as well.

  • @steveb8236
    @steveb8236 Před rokem

    Awesome, works like a charm

  • @deonarayanchoudhari5237
    @deonarayanchoudhari5237 Před rokem +1

    Please do more of ThreeJS videos. Thank You in advance.

  • @AmitSaini-mn5ls
    @AmitSaini-mn5ls Před rokem

    great video, much better explanation than other videos.

  • @lumpy_carl5792
    @lumpy_carl5792 Před rokem

    Great vid! Thanks for making it.

  • @zen8400
    @zen8400 Před 10 měsíci

    The rgb values in mesh.material.color range from 0 to 1 where 0 is 0 and 1 is 255. So using rbg array directly will work if u jst keep the division and don't multiply it by 255. If anyone has difficulty visualising it, i suggest to go console log mesh.material.color object. The reason three.Color works is because it also convers to rgb values ranging between 0 n 1.

  • @dremiq6670
    @dremiq6670 Před rokem

    hey ed, glad you're doing good bud, keep going!

  • @alik5023
    @alik5023 Před rokem

    Waited for this for very long time

  • @holomorfo
    @holomorfo Před rokem

    Great tutorial! thanks for sharing.

  • @elmoutaouakkilmohammed1432

    An extremely helpfull tutorial. thanks!

  • @VBEXPLAIN
    @VBEXPLAIN Před rokem

    Just done with this amazing thing and I love this ,❤❤
    Thank you

  • @rogeriogouvea7278
    @rogeriogouvea7278 Před 5 měsíci

    Thank you, really helped me getting me started

  • @ayoolaniyi4594
    @ayoolaniyi4594 Před rokem +1

    Wonderful Tutorial again!, please more threejs content with blender

  • @torquebiker9959
    @torquebiker9959 Před měsícem

    thx for the great tutorial!!

  • @colab_ora
    @colab_ora Před rokem

    Thanks, very useful video, i apreciate it so much, regards from Chile😃👋

  • @mariko-chan162
    @mariko-chan162 Před 5 měsíci

    Really enjoyed doing this super quick tutorial to dip my toes into three.js. I did feel some type of way whenever you didn't use a semicolon at the end of a line though. I know, I know, JS doesn't care about terminators but my pettiness couldn't handle it lol

  • @voidemon490
    @voidemon490 Před rokem +2

    Hey I just learnt that you can pass the color directly if the values are between 0 and 1 which is what THREE.Color does it converts the rgb values to a value between 0 and 1.
    Code:
    const rgb = {
    r: Math.round(e.clientX / dimensions.width),
    g: Math.round(e.clientY / dimensions.height),
    b: 0.6,
    };
    gsap.to(mesh.material.color, rgb);

    • @lampjaded
      @lampjaded Před rokem

      I discovered this as well from their docs, but just to note, it works better if you remove the Math.round :)

  • @zacklau8349
    @zacklau8349 Před rokem

    That's really amazing.... thank you so much for the tutorial ...

  • @rxrider1451
    @rxrider1451 Před rokem +4

    I understand what you're saying about the context of units being arbitrary at 12:25...
    But in reality, I believe those units are in pixels (px) by default.
    Please correct me if I'm wrong👍.

  • @ryyanrashid
    @ryyanrashid Před rokem

    Thanks Ed for this amazing tutorial. Is there a way to add a moon texture on the sphere?

  • @santiagoavalos3637
    @santiagoavalos3637 Před rokem

    Oh wow, I was just needing this but with the planet Eath instead of a green ball

  • @GAURAVSHARMA-ty8nm
    @GAURAVSHARMA-ty8nm Před 6 měsíci

    hey thanks for the tutorial , very much beginner friendly and could be consider for starting out in journey of learning 3js , wonderfully explained the procedure , functions thanks for this , although encountered bit troubleshooting specially at the pointLight and that's all , and again thanks for this brother

  • @aditipareek8293
    @aditipareek8293 Před rokem

    Thank you so much for this

  • @jedt3d
    @jedt3d Před rokem

    well worth 43.50 min for my first Three.js video!
    btw, wanna see the little puppy face too next time :) it's cute!

  • @SwarupKumarKuila
    @SwarupKumarKuila Před rokem

    wow, you are just amazing 💯💯💯💯

  • @abdulmoizsiddiqui6865
    @abdulmoizsiddiqui6865 Před rokem +1

    You are amazing ed

  • @kunalprasad4215
    @kunalprasad4215 Před 2 měsíci

    That was a good course I have learned a lot.

  • @adelepiligrim7904
    @adelepiligrim7904 Před rokem

    Thank you so much 👍🏻❤️

  • @juanfelipetoroumana8716

    You are amazing!!!

  • @404-UsernameNotFound
    @404-UsernameNotFound Před rokem

    Ed looking even more "gorgeous" in that awesome Christmas sweater. 🎄 ⛄

  • @shinchannohara9511
    @shinchannohara9511 Před rokem +2

    Hey loved your background and your smily face at the beginning🌸🌸❣❣

  • @diogomaia6636
    @diogomaia6636 Před rokem

    List style of get the fuck out caught me completly off guard. Cracked me up!

  • @firewatermoonsun
    @firewatermoonsun Před 3 měsíci

    Cool, thank you.

  • @numaanjaved
    @numaanjaved Před 4 měsíci +8

    the sphere is not visible, i tried all combinations of what is shown here, black screen is visible but no sphere and no camera, but they are apparently present in scene, checked by console log,
    EDIT: the issue is of meshStandardMaterial, it is not working correctly but meshBasicMaterial is working ..

    • @f2pbtw826
      @f2pbtw826 Před měsícem +2

      Basic material doesn't need light. But standard material needs light to show up, ,,, so that's must be causing the error , try adjusting the light

  • @shreyaskulkarni245
    @shreyaskulkarni245 Před rokem

    That's awesome!!!

  • @markopolo2224
    @markopolo2224 Před rokem +1

    please make more of this

  • @sharvinsoosaipillai9687

    This was a really helpful tutorial! I just got a quick question, how would you go about adding html content under the three.js elements?

  • @Rantalytics
    @Rantalytics Před rokem +2

    Thank you so much! would you mind dropping a codepen for this? I can't tell if i have a bug in my code, or i simply ran the vite app wrong. Really love your stuff! thank you brotha

  • @athsofouu9807
    @athsofouu9807 Před rokem

    Great video!

  • @varunsalat619
    @varunsalat619 Před rokem

    please make more videos on three.Js BTW great work 😇😇

  • @monzermohamd4853
    @monzermohamd4853 Před rokem

    you are GOAT in explaition🌹🌹

  • @lennyedwards62
    @lennyedwards62 Před rokem

    Full course please. From one Ed to another

  • @urbanebachelor
    @urbanebachelor Před 10 měsíci

    Love the breakdown of using the native functionality, but how do you import 3D models in to use them?

  • @kianebtekari2028
    @kianebtekari2028 Před rokem

    WOW!
    Thanks you

  • @markopolo2224
    @markopolo2224 Před rokem

    came in perfect timing

  • @baddesign2619
    @baddesign2619 Před rokem

    Love you dude

  • @dbiswas
    @dbiswas Před 25 dny

    I am looking for a framework that can help animate a character based on the real time data feed like IoT or a sound or input text. Is this possible to do using three.js ? Or do I need to use some other animation engine? Can you suggest? Thanks so much in advance

  • @heydevdev
    @heydevdev Před 10 měsíci

    I'm 40 seconds in, haven't learned a thing, but subbed for charisma alone.

  • @FushigiMigi
    @FushigiMigi Před 5 měsíci +1

    Start completely from scratch, yet packages, files, githuh,etc. were already created in the file explorer before you started. Good job.

    • @rikawrites7104
      @rikawrites7104 Před 5 měsíci

      heyyy i was figuring out how to use vite here, do u know how to do it ? coz everytime i create a project with it , it asks to select a framework like react etc , but he doesnt seem to use any

    • @muhammadhafizuddin2965
      @muhammadhafizuddin2965 Před 5 měsíci

      Select vanilla, vanilla means without framework. ​@@rikawrites7104

  • @waltermelo1033
    @waltermelo1033 Před 7 měsíci +4

    I'm getting a problem here since yesterday. if someone is not seeing the green ball at all. increase the intensity of the pointlight at the second parameter (I used 100 and works well. don't know why)

  • @Kakao-Felix
    @Kakao-Felix Před rokem

    completely from scratch :D i doent even know what program you have open in the beginning

  • @ankitjain-1
    @ankitjain-1 Před rokem +2

    @32:14, you should to put `transform: translate(-50%, -50%) to position it correct, whether you're giving it `top: 75%` or `top: 25%`.

    • @rdawo6408
      @rdawo6408 Před 8 měsíci

      I think I will try this 😂

  • @simoncovenant9407
    @simoncovenant9407 Před rokem

    Lovely video, I'm curious is there a github repo for this project?

  • @danieltavares8285
    @danieltavares8285 Před rokem

    Perfect video

  • @bolawolesegun4248
    @bolawolesegun4248 Před rokem

    Please do more and our we can embed it into an exiting website...THANK YOOOOOOU

  • @CopperNic1972
    @CopperNic1972 Před 7 měsíci

    I know this is from a bit ago but what theme are you using and what icons extension are you using? I like :D

  • @muhammaddaniyalimtiaz2055
    @muhammaddaniyalimtiaz2055 Před 7 měsíci

    well explained from scratch

  • @everything_Ola
    @everything_Ola Před 3 měsíci

    AMAZING VIDEO

  • @kakami1482
    @kakami1482 Před rokem +1

    Is there a way to turn a sphere like this into a button, that when clicked zooms in and takes you to a different concept page

  • @wolfmeowmeow
    @wolfmeowmeow Před 11 měsíci

    love the sweater

  • @PraveenSC-qn5mp
    @PraveenSC-qn5mp Před 3 měsíci

    Can u try wave plotter example like ECG, Resp etc..

  • @threeveloper
    @threeveloper Před rokem

    Love the simplicity 👏 I actually created some CZcams videos about Bruno Simon's portfolio project. Willing to help you with the full 3D website series if you need any help there :)

  • @kevinlyman1
    @kevinlyman1 Před rokem

    I haven't coded much in javascript in a while. Just curious why you don't seem to use semicolons?

  • @advktN
    @advktN Před rokem

    YES PLEASE

  • @genericbinary558
    @genericbinary558 Před rokem

    pls more video on three jss

  • @rahulbudhan5863
    @rahulbudhan5863 Před rokem

    Awsome Tutorial, Can I get the repo link for this?

  • @alik5023
    @alik5023 Před rokem +1

    Make more videos on there.js or lunch a course of it