Quelles sont les meilleures options pour les animations (animations de texture, objets en mouvement, cacher/montrer un objet, ...) dans three.js? Utilisez-vous plus de lib. comme tween.js ou autre chose? Merci.Meilleures options pour l'animation dans THREE.JS
Répondre
Tween.js est le moyen populaire pour aller ... vérifier l'article à: http://learningthreejs.com/blog/2011/08/17/tweenjs-for-smooth-animation/
Beaucoup sont d'accord que vous avez besoin RequestAnimationFrame de gérer les performances du navigateur. Three.js inclut même un cross-browser shim for it.
Je recommanderais également Frame.js pour la gestion des rendus basés sur la chronologie. RequestAnimationFrame fait un excellent travail, mais ne maintient qu'un taux d'images minimum basé sur les performances du navigateur. De meilleures bibliothèques de contrôle de flux comme Frame offrent la possibilité d'avoir un débit d'images maximal et de mieux gérer plusieurs opérations intensives. En outre, Javascript FSM est devenu une partie essentielle de mes applications three.js. Que vous construisiez une interface utilisateur ou un jeu, les objets doivent avoir des états, et une gestion attentive des animations et des règles de transition est essentielle pour toute logique d'application complexe.
Et oui, vous avez besoin d'une bibliothèque d'accélération. J'utilise souvent le jQuery.easing plugin. Il est un plugin pour jQuery.animate, mais les fonctions d'assouplissement peut également être consulté comme ceci:
var x = {}; // an empty object (used when called by jQuery, but not us)
var t = currentTime;
var b = beginningValue;
var c = potentialChangeInValue;
var d = durationOfAnimation;
valueAtTime = jQuery.easing.easeOutExpo(x, t, b, c, d);
Ce plugin jQuery, et la plupart des plugins d'assouplissement sont basés sur Robert Penner's ActionScript2 easing library, qui est la peine de vérifier si le t, b , c, d chose semble étrange.
Depuis la version r48 (je pense) three.js inclut RequestAnimationFrame dans le noyau. Merci, je vois des plugins pour ça. – soil
Copier coller ceci:
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback){
window.setTimeout(callback, 1000/60);
};
})();
(function animloop(){
requestAnimFrame(animloop);
render();
})();
function render()
{
// DO YOUR STUFF HERE (UPDATES AND DRAWING TYPICALLY)
}
L'auteur original est: http://paulirish.com/2011/requestanimationframe-for-smart-animating/
Je l'ai fait à imiter en orbite avec des caractéristiques humaines (saccadé), mais il peut être utilisé pour d'autres animations comme les traductions d'objets, positions et les rotations.
function twController(node,prop,arr,dur){
var obj,first,second,xyz,i,v,tween,html,prev,starter;
switch(node){
case "camera": obj = camera; break;
default: obj = scene.getObjectByName(node);
}
xyz = "x,y,z".split(",");
$.each(arr,function(i,v){
first = obj[prop];
second = {};
$.each(v,function(i,v){
second[xyz[i]] = v;
})
tween = new TWEEN.Tween(first)
.to(second, dur)
.onUpdate(function(){
$.each(xyz,function(i,v){
obj[prop][xyz[i]] = first[xyz[i]];
})
})
.onComplete(function(){
html = [];
$.each(xyz,function(i,v){
html.push(Math.round(first[xyz[i]]));
})
$("#camPos").html(html.join(","))
})
if(i >0){
tween.delay(250);
prev.chain(tween);
}
else{
starter = tween;
}
prev = tween;
});
starter.start();
}
petit tour d'horizon en 2017: consultez cette simple ligne de temps-lib qui peut facilement déclencher l'EFM (statebased anim) mentionnée ci-dessus & Les tween.js (anim lisse):
Merci! Exactement ce que je cherchais. D'autres alternatives ou est-ce le meilleur? –
- 1. Quelles sont les meilleures options pour un forum Wordpress?
- 2. Meilleures options pour implémenter mon propre fournisseur de transactions
- 3. Meilleures options pour la traduction d'une application rails
- 4. Meilleures options de configuration pour PostgreSQL (machine de développement)
- 5. Quelles sont les meilleures options pour l'édition de texte enrichi dans Rails?
- 6. Quelles sont les meilleures options disponibles pour une interface utilisateur riche dans une application ASP.NET MVC?
- 7. meilleures options pour les lignes pointillées (svg path animation) dans ie?
- 8. Quelles sont mes meilleures options de remplacement d'ASP.Net GridView?
- 9. one-liner pour définir les options par défaut globales pour Unix/Linux Commandes - Meilleures pratiques
- 10. Additive Blending dans three.js
- 11. importation dans Three.js
- 12. Faces adjacentes dans Three.js
- 13. Options Linker pour Boost
- 14. Options SSO pour .NET
- 15. Quelles sont les meilleures options pour créer une navigation avec AngularJS?
- 16. Quelles sont les meilleures options pour une interface d'interrogation Java/jQuery?
- 17. Quelles sont les options et les meilleures pratiques pour la modélisation inspirée de PV3D
- 18. chaîne d'analyse dans JSON three.js
- 19. Quelles sont les meilleures options pour le transfert de port NAT?
- 20. Comment activer l'ombrage dans Three.js
- 21. Meilleures options pour créer une application Web avec SimpleDB en tant que source de données?
- 22. Quelles sont les meilleures options pour réaliser une journalisation distribuée à faible charge sur Azure?
- 23. Quelles sont les meilleures options actuelles pour la parallélisation d'une application .NET gourmande en ressources CPU?
- 24. Options pour les meilleures performances de connexion de Microsoft Access ADO à SQL Server
- 25. Meilleures options pour héberger mon service Web asmx sur une machine ne disposant pas d'IIS
- 26. Meilleures options de pile pour le serveur de chat vidéo utilisant GAE/Java et Flash
- 27. Meilleures options pour intégrer mon application avec les fonctionnalités Nike + de l'iPhone 4G
- 28. Comment utiliser réflexion dans three.js?
- 29. comment obtenir élément dans Three.js
- 30. Three.js Progressbar pour le chargement Modèle? WEBGL
Merci. Et pour l'animation de texture est le meilleur choix? https://github.com/stemkoski/stemkoski.github.com/blob/master/Three.js/Texture-Animation.html – soil
Eh bien, je suis partial parce que je l'ai écrit moi-même. Il pourrait y avoir une meilleure façon d'utiliser Sprites et uvOffsets, mais le code auquel vous faites référence fonctionne très bien pour moi - pour la démonstration en direct: http://stemkoski.github.com/Three.js/Texture-Animation.html –
Et quand je vais utiliser ParticleSystem avec texture.offset? C'est plus simple que Sprite? Ou TROIS.Sprite et TROIS.Particle System est le même pour la performance? Je veux dire que Sprite a beaucoup d'options inutiles pour moi. – soil