昨天bolt.new更新了新的功能,就是在网址后面输入github的地址,即可直接编译和修改别人的共享代码,于是从github上找了一个开源的元宇宙场景代码进行优化。
原始的源码地址是:
https://github.com/Novarista13/portfolio-with-r3f
我直接打开
https://bolt.new/github.com/Novarista13/portfolio-with-r3f
然后等待几秒就可以直接运行起来。
然后对其中某些比较好的功能代码让AI进行解释。
import { Html } from "@react-three/drei";
const CustomHtml = ({ style, ...props }) => {
return (
<Html
transform
wrapperClass="htmlScreen"
zIndexRange={[100, 0]}
distanceFactor={3}
style={{
cursor: "pointer",
...style,
}}
occlude="blending"
{...props}
>
{props.children}
</Html>
);
};
distanceFactor={3}: 这个属性控制 HTML 内容的缩放。当摄像机距离物体 3 个单位时,HTML 内容会以 1:1 的比例显示。当摄像机靠近时,内容会变大;当摄像机远离时,内容会变小。 occlude="blending": 这个属性使得 HTML 内容会在被 3D 对象遮挡时逐渐消失。这创造了一种当你靠近时内容才会出现的效果。 zIndexRange={[100, 0]}: 这个属性控制 HTML 内容的 z-index,确保它在正确的层级显示。 这些属性结合起来,创造了一种当摄像机靠近时内容才会清晰可见的效果。当你远离时,内容会变小并可能被其他 3D 对象遮挡,从而实现了"靠近才出现"的效果。
关于作者