我试图通过cdn导入ThreeJS和ThreeJS FBXLoader示例。为此目的,我创建了以下导入。
<script type="module">
import * as THREE from 'https://cdn.skypack.dev/three';
import * as FBXLoader from 'https://cdn.skypack.dev/three/examples/js/loaders/FBXLoader';
</script>
ThreeJS的导入是成功的,因为之后我可以访问THREE来呈现
为了学习ThreeJS,我一直在尝试建立一个测试环境。当试图从FBXLoader导入ThreeJS时,我遇到了一个问题。由于某些原因,我得到了以下错误:
Uncaught TypeError: Failed to resolve module specifier "three". Relative references must start with either "/", "./", or "../".
我试过使用我能想到的每一种可能的路径格式,但它似乎无法解决问题。不过,我目前使用的文件格式对于导入three.module.j
TypeError: worldMatrices is undefined
Traza de la pila:
parseScene@file:///C:/Users/Guillermo%20P/Proyectos/Blank%20Null%201.0/blankNull/10.0.0.3/js/FBXLoader2.js:1384:10
parse@file:///C:/Users/Guillermo%20P/Proyectos/Blank%20Null%201.0/blankNull/10.0.0.3/js/FBXLoader2.js:115:21
load/<@file:///C:
这就是一个例子。
我想要一个带有彩色地图和普通地图的模型。
就像这样,在微软的3D浏览器中。
我有一个普通地图的模型。
然后,使用替换方法,用原始地图替换颜色法线图。
<script type="module">
import * as THREE from './build/three.module.js';
import { OrbitControls } from './jsm/controls/OrbitControls.js';
import Stats from './jsm/li
我在我的项目中使用three.js。在开发前端时,一切正常,但在复制/传递.cshtml文件中的代码并迁移wwwroot中的静态文件后,JavaScript文件contatins threejs加载器无法加载.fbx文件。运行项目后,出现404错误。 此代码获取.fbx文件。 let loader = new FBXLoader();
loader.load("/fbx/earthfbx2.fbx", function (object) {
//do somethings
});
我在我的threejs项目的控制台中看到了类似以下的警告。 THREE.WebGLRenderer: Texture has been resized from (613x345) to (512x256). 环顾四周,它看起来并不是什么值得关注的事情。但是为了保持控制台的整洁,我想删除这些日志。我们如何才能做到这一点?
我正在加载一个fbx模型,里面有多个用Cinema4D制作的对象。加载模型时,我会收到此警告控制台消息。 THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer. 我知道这条消息是关于法线层,凹凸贴图或其他的,但在fbx文件中加载了它自己的url。有没有人知道有什么方法可以正确地加载它?或者以不同于C4D的方式导出它? 谢谢
我正在使用来自npm的最新three包,并希望将其导入到Angular 10项目中。 var THREE = require("three");
var FBXLoader = require("three/examples/js/loaders/FBXLoader"); 以及臭名昭著的错误消息: Uncaught ReferenceError: THREE is not defined
at Object.W5wy (FBXLoader.js:18)
at __webpack_require__ (bootstrap:79) 我确实理解FBX
我正在使用一个threejs库为react "import * as THREE from 'three';“渲染一个球体。
球体渲染得很好,纹理也是如此。
我有一个正在加载的图像,它包裹了整个球体。
问题是:如何在球体上重复图像?在我的特定示例中,假设我有一个半张脸的图像。每个半球,我想镜像这个图像,这样我就会在球体的每一边都有两个对称的面,向外看。全新的threejs,如有任何帮助,不胜感激!
我有一个动画原型-它在滚动上播放-有没有办法将滚动上的动画重置到顶部/底部?基本上它从顶部开始播放,当它到达底部时停止?现在动画循环并忽略顶部/底部(开始/结束)。
当从顶部滚动时,它向前播放,当到达底部时,它反向播放,这是所需的行为。
var container, stats, controls;
var camera, scene, renderer, light;
var clock = new THREE.Clock();
var mixer = [];
var mixers = [];
init();
如何在移动触摸设备上实现前后滚动,或者具有与桌面(onMouseWheel)相同的行为?示例:
JS Fiddle:
桌面(桌面上的动画工作正常)
移动(动画不向后工作-只向前工作):
function onTouchStart(event) {
startY = event.touches[0].pageY;
}
function onTouchMove(event) {
var delta = event.deltaY;
if (event.deltaY > 0) {
for (var i = 0
我正在使用托管在node.js上的three.js。我将它与一个可以生成opengl纹理作为输出帧的相机一起使用。我想在three.js中使用这个实时的纹理流。我已经能够在相机和three.js之间创建共享上下文,并且我可以确认在相机上下文和three.js上下文中都存在纹理。我不太确定如何让three.js尊重外部维护的纹理。现有的videotexture对象不是正确的方式,它从浏览器dom对象复制帧数据,我想直接使用相机生成的纹理。
由于这类似于threejs的render- to -texture支持,只是渲染发生在threejs之外,所以我尝试修改该代码以支持外部纹理,但这看起来有点繁
我一直在尝试学习THREEJS着色器材质。到目前为止,我了解了uniforms、vertexShader和fragmentShader在投影和着色glsl和webgl世界中的顶点和碎片方面所起的作用。我一直在努力寻找一些使用THREE.ShaderLib扩展THREEJS的ShaderMaterial的好例子。
假设我想扩展一个标准的threejs材质(THREE.ShaderLib' standard ')来编写envmap纹理,这是可能的吗?或者我绝对有必要从头开始写所有的东西?
我需要你的手。我正在将FBX模型导入到Threejs中,下面是导入代码:
let loader = new FBXLoader();
loader.load(model.obj_path, object => {
let mix = new THREE.AnimationMixer(object);
if (object.animations.length) {
var action = mix.clipAction(
object.animations[0]
);
mixer.push(mix);
action.play(
我有一个本地主机web服务器运行一个页面,该页面在<video>标记中播放远程视频(来自Fi还原存储)。录像播放得很正确。好吧,太好了。现在,我想将该视频用作ThreeJS画布中的纹理(使用THREE.VideoTexture)。但是ThreeJS没有显示视频,而是开始反复打印
THREE.WebGLState: DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The video element contains cross-origin data, a