Staging

Starter pack

рдЗрд╕ рдкрд╛рда рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ 3D рдЕрдиреБрднрд╡реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░реЛрдлреЗрд╢рдирд▓ рд▓реБрдХ рджреЗрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рдЬрдмрдХрд┐ рдПрдХ рд╕реАрди рдХрд╛ рдХрдВрдЯреЗрдВрдЯ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЙрд╕рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рддрд░реАрдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╣рддрд░реАрди рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ 3D рдореЙрдбрд▓ рд╕рд╛рдзрд╛рд░рдг рджрд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рдорд╛рд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ Tesla Model 3 рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдмреАрдЪ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реИред

Tesla Model 3

рд╕реАрди рдореЗрдВ рдПрдХ рдСрд░реНрдмрд┐рдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо рдХрд╛рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдо рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░ рдХреА рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫреА рджреГрд╢реНрдпрддрд╛ рдмрдиреА рд░рд╣реЗред рдпрд╣ рднреА рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдлреЗрд╢рдирд▓ рд▓реБрдХрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рд╡рд╣рд╛рдБ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рд╣реИ: рдПрдХ рдПрдореНрдмрд┐рдПрдВрдЯ рд▓рд╛рдЗрдЯред рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рд╕реАрди рдХреЛ рд░реЛрд╢рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░ рдлреНрд▓реИрдЯ рджрд┐рдЦрддреА рд╣реИред

рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реБрдзрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ! рдореИрдВ рдЖрдкрдХреЛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦреЗрдЧрд╛ред

Stage

Drei рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ Stage рдПрдХ рд░реИрдкрд░ рдШрдЯрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╕реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓рд╛рдЗрдЯрд┐рдВрдЧ рд╕реЗрдЯрдЕрдк рдмрдирд╛рддрд╛ рд╣реИред

рдЖрдЗрдП рдЕрдкрдиреА рдХрд╛рд░ рдХреЛ Stage рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд▓рдкреЗрдЯреЗрдВ:

import { Stage } from "@react-three/drei";
// ...

export const Experience = () => {
  return (
    <>
      {/* ... */}
      <Stage>
        <TeslaModel3 scale={0.012} position-z={0.6} />
      </Stage>
      {/* ... */}
    <>
  );
};

рдХрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдмреЗрд╣рддрд░ рджрд┐рдЦ рд░рд╣реА рд╣реИ! рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ рдФрд░ рдХрд╛рд░ рдЕрдзрд┐рдХ 3D рджрд┐рдЦ рд░рд╣реА рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫрд╛рдпрд╛рдПрдВ рднреА рд╣реИрдВ!

рд╣рдо рдХреБрдЫ рдкреНрд░реЙрдкреНрд╕ рдкрд╛рд╕ рдХрд░рдХреЗ Stage рдХреЙрдореНрдкреЛрдиреЗрдВрдЯ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

<Stage intensity={0.4} preset={"upfront"} environment={"studio"}>
  <TeslaModel3 scale={0.012} position-z={0.6} />
</Stage>
  • intensity рд▓рд╛рдЗрдЯ рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 0.5 рд╣реИред
  • preset рд▓рд╛рдЗрдЯрд┐рдВрдЧ рд╕реЗрдЯрдЕрдк рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди rembrandt рд╣реИред
  • environment рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░реАрд╕реЗрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди city рд╣реИред (рд╣рдо рдЗрд╕ рдкрд╛рда рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗ)

рдпрд╣ рдШрдЯрдХ рдЖрдкрдХреЗ рд╕реАрди рдХреЛ рдмреЗрд╣рддрд░ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдФрд░ рддреЗрдЬ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рдкреНрд░реЙрдкреНрд╕ рднреА рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдк рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рд▓рд╛рдЗрдЯрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗред

рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рдФрд░ рдзреБрдВрдз

рдЕрдм рддрдХ рдЗрд╕ рдХреЛрд░реНрд╕ рдореЗрдВ, рд╣рдордиреЗ рд╣рдореЗрд╢рд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкрд╛рд░рджрд░реНрд╢реА рд░рдЦрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рдлреЗрдж рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА HTML рдкреЗрдЬ рдХрд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╕рдлреЗрдж рдерд╛ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ рдкреЗрдЬ рдХреЗ body рдХреА рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рдХреЛ CSS рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдпрд╛ рдЗрдореЗрдЬреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

index.css рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреЛрдбрд╝реЗрдВ:

body {
  margin: 0;
  background-color: #d9afd9;
  background-image: linear-gradient(0deg, #d9afd9 0%, #97d9e1 100%);
}

рдпрд╣ рдПрдХ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ Grabient рдкрд░ рдкрд╛рдпрд╛ред

Background gradient

рдЕрдм рд╣рдорд╛рд░рд╛ рджреГрд╢реНрдп рд╕реБрдВрджрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╣реИред

рд╣рдо рд╣рдореЗрд╢рд╛ рдкреЗрдЬ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЕрдкрдиреЗ рджреГрд╢реНрдп рдХреЗ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдЧрд░ рд╣рдо рдзреБрдВрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рдХрд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╣рдорд╛рд░реЗ рджреГрд╢реНрдп рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд░рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ scene рдХреА background рдкреНрд░реЙрдкрд░реНрдЯреА рдкрд░ color рдШрдЯрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рджреГрд╢реНрдп рдореЗрдВ рдЧрд╣рд░рд╛ рдиреАрд▓рд╛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

<Canvas camera={{ position: [-3, 1.5, 12], fov: 30 }}>
  <color attach="background" args={["#171720"]} />
  {/* ... */}
</Canvas>

Dark blue background

рд╣рдорд╛рд░реЗ 3D рджреГрд╢реНрдп рдХрд╛ рдЕрдм рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рд╣реИ рдФрд░ рдпрд╣ рдкреЗрдЬ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреЛ рдЫреБрдкрд╛ рджреЗрддрд╛ рд╣реИред

рдЕрдм рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рджреГрд╢реНрдп рдореЗрдВ рдХреБрдЫ рдзреБрдВрдз рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:

<Canvas camera={{ position: [-3, 1.5, 12], fov: 30 }}>
  <color attach="background" args={["#171720"]} />
  <fog attach="fog" args={["#171720", 20, 30]} />
  {/* ... */}
</Canvas>

fog рдШрдЯрдХ 3 рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ:

  • color: рдзреБрдВрдз рдХрд╛ рд░рдВрдЧред
  • near: рдХреИрдорд░реЗ рд╕реЗ рд╡реЗ рджреВрд░реА рдЬрд╣рд╛рдВ рдзреБрдВрдз рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред
  • far: рдХреИрдорд░реЗ рд╕реЗ рд╡реЗ рджреВрд░реА рдЬрд╣рд╛рдВ рдзреБрдВрдз рдЦрддреНрдо рд╣реЛрддреА рд╣реИред

рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдзреБрдВрдзрд▓рд╛ рдХрд░рддрд╛ рд╣реИ near рдФрд░ far рджреВрд░рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪред

End of lesson preview

To get access to the entire lesson, you need to purchase the course.