itee / threejs-full-es6 Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED: Use three-full instead
License: MIT License
DEPRECATED: Use three-full instead
License: MIT License
Seems that prototype for LineSegments is not set up properly, works with regular threejs, breaks with this version.
Description
When using the OBJLoader the library would throw an error on a load because it thought that "Loader" did not exist. It turns out that the UMD build appends "$1" to global variables, but it didn't do it consistently. I am not sure why, but some of the references to Loader$1 don't have the "$1" appended.
I don't know enough about UMD to even guess what happened during the build process.
Here's the full error if anyone is really interested:
columnNumber: 11
fileName: "http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b"
lineNumber: 192806
โ
message: "Loader is not defined"
โ
stack: "loadTexture@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192806:11\nsetMapForType@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192645:19\ncreateMaterial_@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192687:13\ncreate@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192608:9\npreload@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192574:9\nonMtlLoad@http://localhost:3000/app/app.js?hash=9a111c8f6e0bbdbf50c4667ead6236cd50cff9f2:117:13\nload/<@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:192306:9\nload/<@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:145703:38\nzone.js/</Zone$1</ZoneDelegate</ZoneDelegate.prototype.invokeTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:251729:17\nonInvokeTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:6251:24\nzone.js/</Zone$1</ZoneDelegate</ZoneDelegate.prototype.invokeTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:251728:17\nzone.js/</Zone$1</Zone</Zone.prototype.runTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:251496:28\nzone.js/</Zone$1</ZoneTask</ZoneTask.invokeTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:251803:24\ninvokeTask@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:252844:9\nglobalZoneAwareCallback@http://localhost:3000/packages/modules.js?hash=46576314c50b796413508f325387c5546a838a9b:252870:17\n"
Hello,
I would like to use the files you've adapted for ES6 in my application.
I include them like that for instance:
import { ShaderPass } from 'threejs-full-es6/sources/postprocessing/ShaderPass'
But sometimes i encounter problems with some dependencies which are missing.
For example in ShaderPass.js, i had to add this line to make it works:
import { UniformsUtils } from '../renderers/shaders/UniformsUtils.js'
Do I forget a step ?
I tried to use patch & build commands, but then i don't really understand what file to use :/
Thank you
Hi,
I am getting the below error. Could you please help me on this?
build.js:1 SyntaxError: 'import' and 'export' may only appear at the top level (127829:0) while parsing \node_modules\threejs-full-es6\builds\Three.es.js while parsing file: \node_modules\threejs-full-es6\builds\Three.es.js
Thanks,
Sabari.
Love this project.
Reflector.js throws an error missing Math.isPowerOfTwo.
To fix, Reflector.js needs
import { _Math } from '../math/Math'
and line 65 needs to be updated with the underscore.
if ( ! _Math.isPowerOfTwo( textureWidth ) || ! _Math.isPowerOfTwo( textureHeight ) ) {
Well done with this package, so far it looks like one of the best solutions to the problem of importing three.js examples as modules!
Personally, I need to be able to select which branch the modules come from, especially for development work. I'd love to be able to do some thing like npm run convert dev
to convert examples from the dev branch. Is there any way of setting that up?
Hello,
I am trying to load some FBX files in a React component and I can't do it. No errors show in the console. I noticed that FBXLoader needs zlib library, and i have installed it from npm npm install zlipjs
- but what after that? The documentation of that package is not too helpful too.
I have tried OBJ files and it works just fine.
Could you please give me a hand on this ?
Thank you for your work on this project!
Trying to use threejs-full-es6/builds/Three.es.js
Constructor is being called before FunctionNode is defined.
Hi,
There is a little typo on some of the usage of isPowerOfTwo (in Water.js line 78 for example).
The function is used from the Math Javascript library and not the _Math functions from Three.js.
Would appreciate if you could fix it as i couldn't figure out how to submit a pull request !
Thank you.
Loader
is undefined as it is not imported from THREE at this line:
https://github.com/Itee/threejs-full-es6/blob/master/sources/loaders/GLTFLoader.js#L1665
I loaded an OBJ file using OBJLoader. The OBJ had a related material file. One of the materials didn't have a texture, hence no texture coordinates in the OBJ. Then there were 3 materials with textures, and texture coordinates in the OBJ ('vt' vertices). This means that some faces had vt vertices and others didn't.
In RawMesh.prototype.buildFace
there is a section where the loader pushes indices to the variable used to create the geometry. The issue is that when there are texture coordinates for some faces and not for others then the object counts get all out of whack. I fixed the issue by just pushing uv indices even if the face being parsed didn't have a vt vertex. This just fills the array with a NaN
(which is the same thing that happens in the original OBJLoader. I have a feeling that the same thing would happen if some faces had normal vertices and others didn't.
I'm not sure about the spec for OBJ files. This file can be read by other programs, so I think that the file is probably fine, and that the problem lies in how it's being parsed. Either buildFace
needs to pass NaN
or the code that processes the parsed faces needs to change something.
Hello!
Great repo but I've some issue like follow:
Unable to find specific path part for:
myapp/node_modules/threejs-full-es6/node_modules/three/examples/js
Convert:
myapp/node_modules/threejs-full-es6/node_modules/three/examples/js/AnimationClipCreator.js
myapp/node_modules/threejs-full-es6/sources/AnimationClipCreator.js
'convert-three' errored after 373 ms
Error: Unable to find specific path part for:
myapp/node_modules/threejs-full-es6/node_modules/three/examples/js/AnimationClipCreator.js
Is it my fault?
Claudio
The following line(66020) breaks
workerCode += 'THREE = { LoaderSupport: {} };\n\n';
It works fine when I replace it with
workerCode += 'var LoaderSupport = {};\n\n';
It would be great it if it can be fixed.
Hi! I tried to load .mtl in my scene and got the next error:
Uncaught ReferenceError: Loader is not defined
at webpackJsonp../node_modules/threejs-full-es6/builds/Three.es.js.MTLLoader.MaterialCreator.loadTexture (Three.es.js:70426)
In this part of code:
loadTexture: function ( url, mapping, onLoad, onProgress, onError ) {
var texture;
var loader = Loader.Handlers.get( url );
And as i can see you didn't import Loader into MTLLoader.js
This is your imports:
import { FileLoader } from '../loaders/FileLoader.js'
import { Color } from '../math/Color.js'
import { MeshPhongMaterial } from '../materials/Materials.js'
import { Vector2 } from '../math/Vector2.js'
import { TextureLoader } from '../loaders/TextureLoader.js'
import {
FrontSide,
RepeatWrapping
} from '../constants.js'
import { DefaultLoadingManager } from '../loaders/LoadingManager.js'
import { Scene, GLTFExporter, GLTFLoader, OrbitControls, PerspectiveCamera, Color, AmbientLight, DirectionalLight, SpotLight, WebGLRenderer, PCFSoftShadowMap } from 'threejs-full-es6';
import { Utils } from './utils';
The from 'threejs-full-es6'
has this error:
Try `npm install @types/threejs-full-es6` if it exists or add a new declaration (.d.ts) file containing `declare module 'threejs-full-es6';`
And when I'm trying to build it:
TypeScript error: src/index.ts(1,166): Error TS7016: Could not find a declaration file for module 'threejs-full-es6'. 'c:/users/ranbu/documents/dev/threejs-viewer/node_modules/threejs-full-es6/builds/Three.es.js' implicitly has an 'any' type. Try
npm install @types/threejs-full-es6if it exists or add a new declaration (.d.ts) file containing
declare module 'threejs-full-es6';
Any idea on what's wrong?
If its not a bug - Maybe you can provide some simple example or a boilerplate for how to use and build a project that is using this module?
Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.