如何在 Three.js 中使用 gltf 模型投射阴影?

2023-11-26

嘿,我是三个 js 的新手,想知道如何用 gltf 模型投射阴影? 我可以看到这是可能的,因为它正在工作here我假设我没有正确构建我的代码 -

var model = new THREE.GLTFLoader();
model.load('https://threejs.org/examples/models/gltf/Duck/glTF/Duck.gltf', function(gltf) {scene.add(gltf.scene);});
model.castShadow = true;

这是小提琴https://jsfiddle.net/steveham/ckpfwy24/87/

Cheers!


你需要设置castShadow = true在每个子网格上,如下所示:

var loader = new THREE.GLTFLoader();

loader.load( 'https://threejs.org/examples/models/gltf/Duck/glTF/Duck.gltf', function( gltf ) {

    gltf.scene.traverse( function( node ) {

        if ( node.isMesh ) { node.castShadow = true; }

    } );

    scene.add( gltf.scene );

} );

三.js r.113

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Three.js 中使用 gltf 模型投射阴影? 的相关文章

  • Three.js 通过 Gui 阻止 Raycast

    我想通过光线投射选择对象 但每次我想在 Three js GUI 上选择某些内容时 Mousdown 事件都会被触发 我怎么说 如果 Gui 在对象前面 则不触发 之类的话 document addEventListener mousedo
  • 为什么音频可视化直播无法在移动设备/Safari 上运行?

    我正在尝试基于 Three js 示例制作音频直播可视化工具 https trijs org examples q visua webaudio visualizer https threejs org examples q visua w
  • 将几何图形转换为 BufferGeometry

    据我了解 Geometry 存储顶点和面的 javascript 对象结构 而 BufferGeometry 仅通过 Float32Arrays 等存储原始 gl 数据 有没有什么方法可以将标准 Geometry 转换为 BufferGeo
  • 计算相机近平面和远平面边界

    我正在尝试执行中提到的计算使用 THREE Frustum 计算近 远平面顶点 https stackoverflow com questions 12018710 calculate near far plane vertices usi
  • Three.js - 在自定义几何体上平滑兰伯特材质着色的问题

    我在 Three js 中创建了一个自定义几何体 现在 我想创建一个使用平滑阴影兰伯特材质的网格 使用循环 我创建了顶点数组 然后创建了面 然后我调用了 geometry computeCentroids geometry computeF
  • Material.alphaTest 是什么意思?

    在过去的几天里 我一直在非相交对象的透明度方面遇到重大问题 我遇到了设置的建议alphaTest将材料的值调整为0 5 从而解决了问题 太好了 但我想更好地理解它的含义以及它如何如此优雅地解决问题 有人可以建议吗 从一个简单的实验来看 这似
  • Three.js 通过加载模型上的材质名称为材质添加边框

    是否可以在材料周围添加边框 如图所示 我可以通过以下代码设置材质颜色 object traverse function child if child instanceof THREE Mesh child material color se
  • 星系模拟:更改点的颜色并在鼠标悬停时显示文本

    我正在尝试创建模拟 https riteshsingh github io galaxies 4673 个最近星系的位置 星系是点 我想为鼠标悬停时的点着色并加载星系的名称 我花了很多天试图实现它 我可以更改颜色以及进行基本的光线投射 但是
  • 将球体 a 旋转到自身的 b 点

    我试图弄清楚如何将球体从 A 点旋转到 B 点 我找到了一些Unity3d代码 Quaternion rot Quaternion FromToRotation pointA pointB sphere transform rotation
  • FontLoader 和 TextGeometry 未在 Threejs 中正确导入

    我正在尝试在 BoxGeometry 侧面的前 右 左和顶部添加 3D 文本 我实现了这个代码如下 loadFont gt const loader new THREE FontLoader loader load https threej
  • 重复凹凸贴图

    我正在尝试使用 Three js r55 将凹凸贴图应用到平面上 以创建一个模糊的感觉表面 这是我的代码 var mapHeight THREE ImageUtils loadTexture images felt png mapHeigh
  • 在 Three.js 中渲染具有大量对象的多个场景的最佳方式

    想象一下 您想要绘制两个场景 每个场景都有数百个球体 并提供在这些场景之间切换的功能 做到这一点的最佳方法是什么 目前 一个开关大约需要 4 到 5 秒 因为我要删除 创建和绘制每个开关上的所有球体 下面是在场景切换上运行的代码示例 cle
  • 将颜色渐变应用于网格上的材质 - Three.js

    我有一个 STL 文件加载到我的场景中 并将单一颜色应用于 phong 材质 我想要一种方法 将两种颜色应用于该网格物体的材质 并在 Z 轴上应用渐变效果 如下例所示 渐变花瓶 https i stack imgur com Ty9gq j
  • 使用 ThreeJS 获取球体纹理上的点击位置

    目前 我有一个带有纹理的球体 它绕 y 轴旋转 我还有在 3D 空间中单击的位置 以及球体上的旋转位置 我认为 目标 获取纹理上的位置 例如 我想获取我点击的图像的哪个方块 参见示例球体和下图 在实践中 我不会使用此图像 但我觉得这将是一个
  • Three.js 光线投射器可以与组相交吗?

    我想知道我的光线投射器是否正在查看我已加载的 OBJ 由于从 Cinema4D 导出的方式 我相信 OBJ 是一个具有 3 个子级的 THREE Group 而不是 THREE Object 我可以更改我的 raycaster 代码行来查找
  • ThreeJS bufferGeometry 位置属性在应用翻译时不会更新

    我使用 STLLoader 将 stl 加载到返回 BufferGeometry 的 ThreeJS 场景中 然后我用了 myMesh position set x y z myMesh rotation setFromQuaternion
  • Three.js 椭圆

    如何在 Three js 中创建一个椭圆 我看过这个 在 THREE js 中绘制椭圆 https stackoverflow com questions 11419896 drawing an ellipse in three js 但如
  • CSS3DObject 始终位于 WebGL Mesh 前面

    我正在混合CSS3D Renderer with WebGL Renderer to add HTML3D 空间中的元素WebGL场景 这CSS3DObject在前面WebGL网格即使WebGL Renderer具有较高的 z index
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 将 USD 模型转换为 GLTF 文件格式 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在寻找一种转换的方法 usdc usda usdz文件到 gltf使用命令行 Python 节点等等 到目前为止 一直在研究每个

随机推荐

  • winutils.exe chmod 命令未设置权限

    gt D gt echo HADOOP HOME gt D Apps winutils hadoop 2 7 1 在与 HADOOP HOME 相同的磁盘上创建 tmp hive 文件夹 D gt dir tmp hive Director
  • 为什么 Jetpack Compose Preview 不显示任何内容?

    我正在使用 Jetpack Compose 预览仅显示标题 但如果我使用 dev13 版本 它工作正常 IDE Android Studio 4 2 Canary 7撰写 0 1 0 dev17 这是一个已知问题 它应该在 Android
  • Django 管理,自定义错误消息?

    我想知道如何在 Django 管理中显示错误消息 我的网站上有一个私人用户部分 用户可以在其中使用 点 创建请求 一个请求从用户的帐户中获取 1 或 2 个积分 取决于请求的两种类型 因此如果帐户有 0 个积分 则用户无法发出任何请求 在私
  • 无法加载文件或程序集“xxxx”或其依赖项之一。该系统找不到指定的文件

    在 VS2005 中 我们整个编程人员都收到此错误消息零星地它总是在贝尼控制项目 此错误消息每天会发生多次 并且在进入控件的设计模式时会发生 通常重建贝尼控制解决了问题 但有时必须重建整个解决方案 还有其他人解决了这个问题吗 有哪些建议或网
  • 在 ncurses 中捕获 control+key 的正确方法

    在 ncurses 中捕获 control key 的正确方法是什么 当前我正在这样做定义控制 如下所示 define ctl x x 0x1f 它工作正常 但问题是我无法同时捕获 C j 和 ENTER 这是因为 j 106 110101
  • java中可以连续分配对象吗?

    假设我有一大堆相对较小的对象 我需要经常迭代它们 我想通过提高缓存性能来优化我的迭代 所以我想分配物体 而不是引用 在内存上连续 所以我会得到更少的缓存未命中 并且整体性能可能会明显更好 在 C 中 我可以只分配一个对象数组 它会根据我的需
  • 为什么可以在持久卷上设置多个访问模式?

    例如在下面的例子中 apiVersion v1 kind PersistentVolumeClaim metadata name exmaple pvc spec accessModes ReadOnlyMany ReadWriteMany
  • 如何在 Java 程序中运行 Java 源代码

    我写了一些代码来编译Java源代码 然后它会生成 class 文件 问题是我该如何运行它 例如 我可以设置程序和类的名称 我使用了 prog p new prog 但是在这种情况下 类文件在编译之前还不存在 不太确定该怎么做 有人可以给我建
  • Oracle 何时/为何将 NaN 添加到数据库表中的行

    我知道 NaN 代表非数字 但是 我很难理解 Oracle 何时以及为何将其添加到一行中 是遇到小于 0 的值 如负数 还是垃圾值时 从文档中 Oracle 数据库数字数据类型存储正负定点和浮点数 零 无穷大以及作为未定义运算结果的值 不是
  • iPhone 上的 JSON POST 请求(使用 HTTPS)

    我托管了一个 WCF 服务 并且尝试在 iPhone 应用程序中将其用作 JSON POST 请求 我计划稍后使用 JSON 序列化器 但这就是我的请求 NSString jsonRequest username user password
  • 精确检查一个布尔选项集

    嗯 这有点hacky function b2n boo return boo 1 0 if b2n opt1 b2n opt2 b2n opt3 1 throw new Error Exactly one option must be se
  • Android Studio 无法与 HoloEverywhere 和 ActionBarSherlock 配合使用

    我能够将 ActionBarSherlock 和 HoloEverywhere 导入 Android Studio 但无法编译我的应用程序 截屏 https docs google com file d 0BwOn70drOiMfZHZVe
  • hibernate 4.3.x - 加载所有实体注释类

    在我从事的项目中 我不使用 Spring 仅使用 Hibernate 我不想使用 hbm xml 文件进行实体映射 描述 等 我只想使用注释 我如何告诉 Hibernate 加载所有内容Entity Table来自某些包的带注释的类 我在网
  • 在 Python 中实现可观察集合的推荐方法?

    我希望在 Python 中有一些可观察的集合 序列 让我能够监听更改事件 例如添加新项目或更新项目 list ObservableList a b c list addChangeListener lambda new value prin
  • 跨翻译单元和 gcc 4.6 自动内联函数

    如果我不将函数 f 声明为内联 如下 A h X f Y y A cpp X f Y y 然后在不同的翻译单元中 B cpp include A h Z g W w f 然后我用 gcc 4 6 编译两个翻译单元 A o 和 B o 然后也
  • 如何从控制器返回特定的状态代码并且没有内容?

    我希望下面的示例控制器返回没有内容的状态代码 418 设置状态代码很容易 但似乎需要做一些事情来表明请求结束 在 ASP NET Core 之前的 MVC 中或在 WebForms 中 可能会调用Response End 但它在 ASP N
  • C# 中的条件变量 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 C 中使用条件变量和监视器吗 有人能给我举个例子吗 与仅用于在 NET 中发出信号的条件变量等效的是抽象 WaitHandle 类 它的实际实现是 ManualResetEven
  • Xamarin Forms共享首选项交叉

    我想知道以跨平台方式操作应用程序设置的最佳解决方案是什么 在 iOS 中 我们可以在设置屏幕中更改应用程序外部的设置 但在 Windows Phone 和 Android 中则没有此功能 因此 我的想法是在应用程序内创建一个普通页面 屏幕
  • 用于开发 Flash 应用程序的最佳开源工具是什么?最好从哪些地方开始学习? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 就工具而言 我知道Haxe MTASC and swfmill 您能提供与其中任何一个相关的成功或恐怖故事吗 还有其他我应该调查的吗 在学习方面 Adobe 开发人员连接似乎包含不错的参考
  • 如何在 Three.js 中使用 gltf 模型投射阴影?

    嘿 我是三个 js 的新手 想知道如何用 gltf 模型投射阴影 我可以看到这是可能的 因为它正在工作here我假设我没有正确构建我的代码 var model new THREE GLTFLoader model load https th