J'ai une sphère de rotation sur laquelle j'ai un div attaché l'exemple peut être consulté ici: https://jsfiddle.net/ao5wdm04/ Je calcule les valeurs x et y et place la div en utilisant une translate3d
transformer et ça marche plutôt bien.Trois.js cube visage rotation vecteur par rapport à la caméra
Ma question est de savoir comment peut obtenir les valeurs de la rotateX
, rotateY
et rotateZ
ou rotate3d
transforme donc les div « tangentes » la surface de la sphère. Je sais que le maillage du cube fait face au centre de la sphère, donc je suppose que le vecteur de rotation du vecteur normal faisant face à l'extérieur par rapport à la caméra contiendrait les valeurs dont j'ai besoin. Mais je ne suis pas sûr de savoir comment les obtenir.
Mise à jour
En utilisant des angles d'Euler Je suis presque les effets désirés, ici: https://jsfiddle.net/ao5wdm04/1/ mais la rotation est pas assez grand.
[Ce violon] (http://jsfiddle.net/qa6erofL/) montre comment mélanger '' WebGLRenderer' et CSS3DRenderer'. Cela fonctionne dans Chrome pour moi, mais il peut y avoir quelques problèmes. Pouvez-vous utiliser 'TROIS.PlaneGeometry' au lieu de divs pour votre application et éviter CSS3D? – WestLangley
C'est une bonne idée, mais cela ne fonctionne pas dans Safari, les transformations css ne sont-elles pas viables? –
Désolé, je ne suis pas sûr de ce qui se passe. Envisagez d'utiliser 'WebGLRenderer' uniquement. – WestLangley