You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Three.js渲染模型与Blender渲染效果差异问题求助

Three.js(React Three Fiber + Next.js)渲染GLB模型与Blender效果差异问题

使用最新版本的Next.js搭配React Three Fiber时,发现Three.js渲染的GLB模型与Blender中的渲染效果在外观和光照上存在巨大差异,希望找到方法让两者渲染效果匹配。

问题复现步骤

  • 从Blender导出GLB文件至Three.js,导出设置如下:
    Blender导出设置
  • 模型渲染代码:
import React, { useRef } from "react";
import { useLoader, useFrame } from "@react-three/fiber";
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader";


const GltfModel = ({ rotation, ...props }) => {
    const gltf = useLoader(GLTFLoader, "./fish_stall_2.glb", (loader) => {
        const dracoLoader = new DRACOLoader();
        dracoLoader.setDecoderPath("../static/js/gltf/");
        loader.setDRACOLoader(dracoLoader);
    })

    const ref = useRef();
    const object = gltf.scene;

    // Subscribe this component to the render-loop, rotate the mesh every frame
    // rotation is updated by passing the "rotation" prop
    useFrame((state, delta) => {
        ref.current.rotation.x = rotation.x;
        ref.current.rotation.y = rotation.y;
    });

    return (
        <>
            <primitive
                ref={ref}
                object={object}
                {...props}
            />
        </>
    );
};

export default GltfModel;
  • 网页渲染效果:模型光照、质感与Blender差异显著
  • Blender预期渲染效果:
    Blender渲染的用户视角图1
    Blender渲染的用户视角图2
    Blender渲染的鱼店正面图1
    Blender渲染的鱼店正面图2

补充信息

  • 尝试使用GLTF Report工具检测,渲染效果仍与Blender差异明显,报告中存在不少2级严重错误,但认为这并非导致渲染差异的主要原因。
  • 已搜索相关问题但未找到可行解决方案,现寻求帮助以让Three.js渲染效果匹配Blender。
  • Blender源模型文件可通过Google Drive获取

内容的提问来源于stack exchange,提问作者Felix Isaac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:53:23