New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
r73 : nothing works !?! #7360
Comments
What doesn't work? What errors are you getting? I always make sure all the examples still work. If something broke we should add a example that tests that. |
Nothing works !!!
Why did you release something like that ??? |
Ah! I see. We have completely replaced the animation system and SEA3D still relies in the old one (@sunag is working on an update I think). In the meantime you need to include the old animation system in your project: <script src="js/MorphAnimMesh.js"></script>
<script src="js/loaders/collada/Animation.js"></script>
<script src="js/loaders/collada/AnimationHandler.js"></script>
<script src="js/loaders/collada/KeyFrameAnimation.js"></script> You'll find the files in the |
And again, you messed up the backward compatibility ... OMG Anyway, here is something else (without animation and loader):
Honestly, r73 is a complete mess and it should be removed. |
I've been relying on Three.js for ChiliPeppr for about 1.5 years now. This morning it appears THREE.FontUtils is undefined so all font rendering is broken in ChiliPeppr. I'm guessing it's the same r73 issue as @RemusMar is referring to as well. |
You now have to include the files separately: <script src="js/geometries/TextGeometry.js"></script>
<script src="js/utils/FontUtils.js"></script>
<script src="fonts/helvetiker_regular.typeface.js"></script> I decided to move them out of core because the user had to include the |
@RemusMar We don't guarantee backwards compatibility between versions. But we do add transition code that notifies the user and keeps the code working when/where we can. |
Why don't you remove everything from the core?
That's a bad move Ricardo. The backward compatibility is a MUST in any serious project. cheers |
I gather you're an emotional guy. However, you stay around so I also gather that at the end of the day you find the project useful 😉
Maybe this is not as serious of a project as you think it is? I'm not Adobe you know?
People losing interest is not something I worry about. Instead, I focus on creating a beautiful API that abstract the annoyances of computer graphics and, at the same time, I want the library to fit in 100kb gzipped. It's impossible to forever include all the features that people add. |
@RemusMar Backward compatibility, if you use js libs like that you should be able to repair issue by yourself if something is not supported anymore. If not, ask in a more co-operative way, everybody is pleased to help. If examples are broken, feel free to repair it... |
@RemusMar One of the very first things I learned about three.js, when I started 3D programming in JavaScript, was the fact that it is not backwards compatible. I think, in general that is absolutely no problem, because I only have to make sure, that in my project I link to the same version of three.js I have built my code with. The policy not to take backwards compability into account was certainly the basis for the chance to develop three.js in such a dynamic manner, with such very fantastic possibilities, up to now. |
amazing how people notice this after 70+ revisions ) But to add to the point, someone was recently writing to me "the latest stable three.js is r72", lol. there is no stable three.js. they do not update old revisions with bug fixes, instead there comes new version with bugfixes and breaking changes or new bugs. |
Then again, some things magically work through versions even if underlying code was turned upside down. Like skins using buffer geometry ) |
While we're on subject of breaking changes, what is pissing me off the most are json changes. Someone has old exporting plugin in his 3dmax, and I spend ages editing json by hand to make animations work. |
That took some effort! 😅
Yes. Animation needs to get stable ASAP. I think the new animation system is a great step in the right direction. |
It looks like this sample is broken given your r73 changes. http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry |
Oh! Always forget about the samples in docs... |
@mrdoob |
This has been a concern of mine as well. I really don't want to ever have to re-export hundreds of models. |
That's a false statement. |
Agreed! The json format is something where I think backwards compatibility is super important. Is not hard to do anyway. |
Big sigh of relief =] |
It does seem a bit premature to release a build without updateing the migration guide when breaking changes are involved. Fortunately for me since I follow these boards, I was aware of the Animation Change. I wouldn't bet that all users were equally prepared. I do agree with Remus about removing things from the core just to keep the 100KB size limit. Personally I care about 10000x more about functionality than shaving off a few bytes. I know I can grab the necessary files from examples, but it seems a kind of unnecessary pain in the butt (especially having to update them every release). Anyway enough complaining from me. These few criticisms aside, amazing work guys! |
Doing a release involves quite a few steps. Sometimes my patience/dedication runs out... 😕 |
Fixed! |
also fixed "_typeface_js is not defined" bug, see mrdoob/three.js#7360 (comment)
Where can I find FontUtils in r74? Seems to be removed in r74... |
Yeah, sorry about that, the Please use http://threejs.org/examples/webgl_shadowmap.html as reference. var loader = new THREE.FontLoader();
loader.load( 'fonts/helvetiker_bold.typeface.js', function ( font ) {
var textGeo = new THREE.TextGeometry( "THREE.JS", {
font: font,
size: 200,
height: 50,
curveSegments: 12,
bevelThickness: 2,
bevelSize: 5,
bevelEnabled: true
});
textGeo.computeBoundingBox();
var centerOffset = -0.5 * ( textGeo.boundingBox.max.x - textGeo.boundingBox.min.x );
var textMaterial = new THREE.MeshPhongMaterial( { color: 0xff0000, specular: 0xffffff } );
var mesh = new THREE.Mesh( textGeo, textMaterial );
mesh.position.x = centerOffset;
mesh.position.y = FLOOR + 67;
mesh.castShadow = true;
mesh.receiveShadow = true;
scene.add( mesh );
} ); |
If anyone is interested, this is how I loaded font without async request, using NPM On a side note, it's cool that r74 includes Thanks! |
or you could just define _typeface_js.loadFace locally and eval it? |
That was a wise decision Ricardo. |
Should we add back loading of text geometry in the ObjectLoader? |
@fraguada well, is not that easy, we should also handle the font file... |
FontUtil is not defined in the version of r74 I've been getting: https://github.com/mrdoob/three.js/blob/master/build/three.js That appears to be the same as the one being used by http://threejs.org/examples/webgl_shadowmap.html (except minified) but I also don't see it explicitly including FontUtils or typeface... yet that example page works. (Whereas I still get "_typeface_js is not defined") Are you doing something in addition to what is shown in your comment (the code sample 6 comments above this one)? |
The documentation needs to get updated as the API changed, this no longer applies: http://threejs.org/docs/index.html#Reference/Extras.Geometries/TextGeometry It would have been super useful to have a very basic example without all the keystroke recording switching fonts, weights and bevels. Not that those aren't also great to have, but a simple basic one in your examples would have saved me a ton of time. This example could have helped a lot: http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry, but when you look at the source, it only ends up drawing a torus as it pulls in external resources to actually do the work. I put together this simple example on JSFiddle for anyone that finds this thread. |
r75 and r76dev: |
Just two my cents because I am also a fan of backwards compatibility: If compatibility cannot be guaranteed, it would be nice to have a This way it would be easy for programmers to catch up with the changes. I am still using r65 because of such "unknown" problems that I don't have the extra time to spent, figuring out how to fix these issues. |
Hi all, I just moved from r71 to r76 and discovered the new animation.mixer. So to keep my older json 3D objects librairies working I copied MorphAnimMesh.js Animation.js AnimationHandler.js and KeyFrameAnimation.js into my javascript lib. But now I get "data hierarchy undefined" error. Does this mean I have to RE-export all my former 3D json objects from Blender or is there a way the keep these working ? |
Hello, Nobody to help with "undefined data.hierarchy" ? |
Please, use StackOverflow for help. |
I recently run into this problem using an older version of three.js. But after reading through the comments and insults you received, instead of asking for help, I just wanted to thank you for maintaining three.js. You're a super dedicated and patient guy! 👍 |
The update from r72 to r84 was a bunch of work (~3 hours for one project). Helpful:
My happy result: https://www.matheretter.de/geoservant/en/ In detail what I needed to do from v72 to v84:
and added (gridstep was 1 before, then needed to set the value to 20 to get the same grid):
6.1 6.2 Lights changes, just replace as stated in the warnings:
6.3
Now my application runs as with the old threejs version. Good luck for your project too! |
Ricardo,
Did you ever test any of the previous projects on the latest r73 release?
All kind of errors, nothing works!
Why did you release something like that?
The text was updated successfully, but these errors were encountered: