three.js définir l'image de fond
Comment créer un arrière-plan statique de l'image?
Pour l'arrière-plan par défaut:
scene = new THREE.Scene();
//...
renderer = new THREE.WebGLRenderer( { antialias: false } );
renderer.setClearColor( scene.fog.color, 1 );
Comment mettre une image pour scene.fog
, ou réglez l'opacité pour clearcolor
?
Vous devez vous connecter pour publier un commentaire.
Si vous essayez de définir un arrière-plan statique de l'image (même si vous faites pivoter votre appareil photo principal, le fond ne change pas), vous devez créer 2 scènes et 2 caméras.
La première scène sera composé d'un plan de base sur laquelle une texture est appliquée.
La deuxième scène de tous vos objets.
Voici un code qui permettrait de le faire :
**Démo ici **
Espère que cette aide.
NOTE (2014/06/28): Ce code fonctionne avec la dernière version de Three.js: R67
cette course:
{ background-image: url('whatever.jpg') }
sur votre toile de l'élément ou de son contenant.renderer = new THREE.CanvasRenderer({alpha:true });
Utilisation de la Texture chargeur pour charger n'importe quelle image comme texture et ensuite l'appliquer à la scène comme ceci:
Résultat:
Démo:
Voir le Pen La Terre Plate Three.JS par Hitesh Sahu (@hiteshsahu) sur CodePen.
merci ))
J'ai encore trouvé une autre solution:
Une image d'arrière-plan peut être défini par le réglage de la
scene.background
attribut de laTROIS.La scène
:Le ratio d'aspect de l'image peut être ajustée pour le ratio d'aspect de la toile comme ceci:
Voir l'extrait de code:
JS:
HTML:
Il semble assez tard dans la journée pour être l'ajout d'une contribution à ce fil, mais voici ma 'hap'orth':
Ce plutôt simpliste approche a ses limites. L' .jpg image conserve ses dimensions en pixels, de sorte que, pour différentes tailles de la fenêtre du navigateur, on voit des quantités différentes de l'image. Si la toile de la taille dépasse la taille de l' .jpg, puis le carrelage se produit.