This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Created by Anderson Mancini @2024 | |
// Check documentation on how to use it at https://codesandbox.io/p/sandbox/meshtransitionmaterialfree-l7pzn7 | |
import React, { useRef, useMemo } from 'react' | |
import { useFrame, useThree } from '@react-three/fiber' | |
import { easing } from 'maath' | |
export default function TransitionMaterialFree(props) { | |
const materialRef = useRef() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Copyright(c) June 2024 Anderson Mancini | |
Permission is hereby granted, free of charge, to any person obtaining | |
a copy of this software and associated documentation files (the | |
"Software"), to deal in the Software without restriction, including | |
without limitation the rights to use, copy, modify, merge, publish, | |
distribute, sublicense, and/or sell copies of the Software, and to | |
permit persons to whom the Software is furnished to do so, subject to | |
the following conditions: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// CONFETTI COMPONENT V2 BY ANDERSON MANCINI - CC 2024 | |
// If you use, please credit it :) | |
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' | |
import { useFrame } from '@react-three/fiber' | |
import * as THREE from 'three' | |
import { Instance, Instances } from '@react-three/drei' | |
/** | |
* ExplosionConfetti component creates a confetti explosion effect in a three.js scene. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useThree } from '@react-three/fiber' | |
import { gsap } from 'gsap' | |
import { useGSAP } from '@gsap/react' | |
export default function AnimateCamera() { | |
// Accessing camera from Three.js | |
const { camera } = useThree() | |
useGSAP(() => { // The new hook will take care of context and life cicle. | |
gsap.fromTo( // Creates the animation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* FakeGlow material by Anderson Mancini - Fec 2024. | |
*/ | |
import { ShaderMaterial, Uniform, Color, AdditiveBlending, FrontSide, BackSide, DoubleSide } from 'three'; | |
class FakeGlowMaterial extends ShaderMaterial { | |
/** | |
* Create a FakeGlowMaterial. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useMemo } from "react"; | |
import { shaderMaterial } from "@react-three/drei"; | |
import type { Object3DNode } from "@react-three/fiber"; | |
import { extend } from "@react-three/fiber"; | |
import type { Material, Side } from "three"; | |
import { AdditiveBlending, Color, FrontSide } from "three"; | |
import type { ColorRepresentation } from "three"; | |
/** | |
* @typedef {Object} FakeGlowMaterialProps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { useMemo } from 'react' | |
import PropTypes from 'prop-types' | |
import { shaderMaterial } from '@react-three/drei' | |
import { extend } from '@react-three/fiber' | |
import { Color, DoubleSide, AdditiveBlending } from 'three' | |
/** | |
* @typedef {Object} FakeGlowMaterialProps | |
* @property {Number} [falloff=0.1] - Controls the value of the Falloff effect. Ranges from 0.0 to 1.0. | |
* @property {Number} [glowInternalRadius=6.0] - Controls the internal glow radius. Ranges from -1.0 to 1.0. Set a darker color to get the fresnel effect only. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Holographic material by Anderson Mancini - Dec 2023. | |
*/ | |
import { ShaderMaterial, Clock, Uniform, Color, NormalBlending, AdditiveBlending, FrontSide, BackSide, DoubleSide } from 'three'; | |
class HolographicMaterial extends ShaderMaterial { | |
/** | |
* Create a HolographicMaterial. | |
* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Holographic material component by Anderson Mancini - Dec 2023. | |
* Dec 7th - Added useMemo for better performance | |
*/ | |
import React, { useRef, useMemo } from 'react' | |
import { shaderMaterial } from '@react-three/drei' | |
import { extend, useFrame } from '@react-three/fiber' | |
import { | |
Color, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// CONFETTI COMPONENT BY ANDERSON MANCINI AND ROMAIN HERAULT | |
// Based on: https://github.com/JamesChan21/threejs-confetti | |
// Based on: https://github.com/daniel-lundin/dom-confetti | |
// If you use, please credit it :) | |
import React, { useRef, useState } from 'react' | |
import { useFrame } from '@react-three/fiber' | |
import * as THREE from 'three' | |
/** |
NewerOlder