将 SpotLight 指向与相机 Three.js 相同的方向(手电筒)

2023-11-27

我对这件事真的很陌生。我想制作一个简单的 3D 场景,我可以在其中使用 PointerLockControls 飞行,但我还想要某种手电筒。因此聚光灯应与相机指向同一方向。

我已经让聚光灯跟随相机,但它的目标绑定到 0,0,0。

实现这一目标的最佳方法是什么?

谢谢。


我遇到了同样的问题,我解决如下:

flashlight = new THREE.SpotLight(0xffffff,4,40);
camera.add(flashlight);
flashlight.position.set(0,0,1);
flashlight.target = camera;

由于 SpotLight 的 .target 需要是一个对象(而不是一个位置),我发现直接放置手电筒在心理上更容易behind相机,然后瞄准at相机。因此,光线穿过相机并照亮其前面的物体。

如果您想要手电筒效果,将手电筒靠近胸部(身体中央)而不是放在一侧,那么这种方法就很好。

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

将 SpotLight 指向与相机 Three.js 相同的方向(手电筒) 的相关文章

随机推荐

  • 类定义内的自引用

    如何在类定义中引用类对象 你能告诉我你会怎么做吗 或者更具体地说 如何在类方法的装饰器中传递类对象 这是一个简单的例子 我试图将我声明的第二个方法传递给第一个方法的装饰器 def decorate w def wrap f def call
  • preg_replace:错误的正则表达式==“未知修饰符”?

    我正在编造虚假的电子邮件地址 我只是想确保它们采用有效的电子邮件格式 因此我尝试删除不在以下集合中的任何字符 jusr email preg replace a zA Z0 9 g jusr email 我在 Windows 机器上没有遇到
  • Laravel 5 + AngularJS 跨域 CORS

    我到处寻找答案 但到目前为止没有任何效果 堆栈上列出的所有解决方案尚未被证明是足够的 我的 laravel 日志中没有任何错误形式的信息 我只得到标准 XMLHttpRequest cannot load http api domain d
  • 弹性项目是否应该溢出弹性容器而不是换行?

    我有这样的布局 A row 柔性容器 with a 确定尺寸 e g width 175px A flex item 与一个在definite flex basis e g flex basis content 这是不灵活的 例如flex
  • 为 Scikit-image 构建自定义 AWS Lambda 层

    Outline 我需要使用scikit image在一些 AWS lambda 函数内部 所以我希望构建一个自定义 AWS lambda 层 其中包含scikit image 我的问题一般应该适用于任何 python 模块 尤其是 scik
  • .NET 反射的“成本”是多少? [复制]

    这个问题在这里已经有答案了 可能的重复 NET 反射的成本有多高 我目前的编程心态是反思是我最好的朋友 我经常使用它来动态加载内容 允许 松散实现 而不是严格的接口 以及许多自定义属性 使用反射的 实际 成本是多少 对于频繁反射的类型是否值
  • 如何检测webgl中的碰撞?

    如何在不使用诸如 Three js 之类的库的情况下检测 webgl 中的碰撞 如何在webgl中检测碰撞 你不知道 WebGL 与 OpenGL 一样 仅用于绘图 它不管理场景 它没有 对象 或碰撞等高级事物的概念 这都是关于点 线 三角
  • 如何为所有浏览器使用 jQuery 绑定到 localStorage 更改事件?

    如何使用 jQuery 将函数绑定到 HTML5 localStorage 更改事件 function window bind storage function e alert storage changed localStorage se
  • 如何清除日期选择器

    我有一个日期选择器用于选择生日 这将用于一些过滤 过滤后 我希望该值为重置 即 DatePicker 应该变为空白 有什么帮助吗 如果您想清除TextField of the DatePicker 您可以使用 datepicker getE
  • 找不到 ffprobe?

    我正在尝试在我的节点项目中生成视频缩略图 thumbsupply 和 video thumbnail npm 都返回相同的错误 称为not found ffprobe const thumbsupply require thumbsuppl
  • iOS 可以使用 TTS 吗

    有谁知道在iOS开发中是否可以像Android一样实现TTS 是在图书馆还是什么地方 我相信我听说过一些有关 iOS 中的实用程序和 TTS 的信息 但我很难找到有关此问题的任何文档 任何帮助 将不胜感激 flite TTS 已转为 iOS
  • 在 Javascript 中添加延迟

    我需要在我的 Javascript 代码中添加大约 100 毫秒的延迟 但我不想使用setTimeout的功能window对象 我不想使用繁忙的循环 有没有人有什么建议 很遗憾 setTimeout 是唯一的reliable方式 不是唯一的
  • 如何从给定的 hunspell 词典中获取所有可能的单词?

    我想解析支持 hunspell 格式的开放办公室aff and dic files English aff and dic文件可以从这里下载 例如 http extensions openoffice org en project engl
  • 如何将文件内容读入istringstream?

    为了提高从文件读取的性能 我尝试将大 几个 MB 文件的全部内容读入内存 然后使用 istringstream 访问信息 我的问题是 读取此信息并将其 导入 到字符串流中的最佳方式是什么 这种方法的一个问题 见下文 是 在创建字符串流时 缓
  • 在 C# ASP.NET 中获取发布值

    我有一个动态表单 允许动态添加许多字段 我知道如何使用 Request Form myField 获取 aspnet 中单个字段的值 但这里我有多个字段 而且我不知道这些字段的数量 因为这些字段是动态的 字段名称是 orders ex
  • 使用 React-Router-Dom 隐藏 Url 扩展

    我在用着react router dom在 React 站点中创建客户端页面 这个扩展工作正常 但我想知道是否有办法隐藏 URL 扩展 使其不出现在浏览器导航栏中 这是我的代码 class App extends Component ren
  • 如何使用 .Net Windows 服务的新基本身份验证对 Visual Studio Team Services 进行身份验证?

    我正在尝试访问https visualstudio com 原名https tfs visualstudio com http www tfspreview com 来自我在 NET 上编写的 Windows 服务 我想使用新的基本身份验证
  • C 位操作/将一位从一个字节复制到另一个字节

    我知道如何设置一个位 清除一个位 切换一个位以及检查是否设置了一个位 但是 如何将位 例如 byte 1 的 nr 7 复制到 byte 2 中的位 nr 7 可以不使用 if 语句 不检查该位的值 吗 include
  • 如何对 Python 整数文字使用数字分隔符?

    有什么方法可以对 Python 代码中的数字进行分组以提高代码的可读性吗 我试过了 and 哪个是数字分隔符其他一些语言 但无济于事 将左侧与右侧连接起来的奇怪运算符也可以解决 几年后更新 Python 3 6 现在支持PEP515 因此您
  • 将 SpotLight 指向与相机 Three.js 相同的方向(手电筒)

    我对这件事真的很陌生 我想制作一个简单的 3D 场景 我可以在其中使用 PointerLockControls 飞行 但我还想要某种手电筒 因此聚光灯应与相机指向同一方向 我已经让聚光灯跟随相机 但它的目标绑定到 0 0 0 实现这一目标的