The art of spinning objects in Three.js

Currently experimenting with creating a basic multi-resolution panorama in Three.js.

Successfully implemented the cubic projection using the following code:

mesh = new THREE.Mesh(new THREE.BoxGeometry(512, 512, 512, 20, 20, 10, 10), new THREE.MeshFaceMaterial(materials));
mesh.scale.x = -1;
scene.add(mesh);

I am attaching tiles to a parent element and attempting to align the cube faces with the background box.

   var face_b = new THREE.Object3D();
       face_b.position.z = -511;
       scene.add(face_b);
   var face_f = new THREE.Object3D();
       face_f.position.z = 511;
       face_f.rotation.y = -180;
       scene.add(face_f);
   var face_l = new THREE.Object3D();
       face_l.position.z = 0;
       face_l.position.x = 512;
       face_l.rotation.y = -90;
       scene.add(face_l);
   var face_r = new THREE.Object3D();
       face_r.position.x = -512;
       face_r.position.z = 0;
       face_r.rotation.y = 90;
       scene.add(face_r);
    var face_u = new THREE.Object3D();
        face_u.position.z = -511;
        //scene.add(face_u);
    var face_d = new THREE.Object3D();
        face_d.position.z = -511;
        //scene.add(face_d);

The rear face (b) is functioning correctly.

However, the rest of the faces are displayed but their rotation seems to be off and not properly aligned.

Is my usage of rotation correct in this scenario?

Answer №1

The key was executing the lookAt( camera.position ) function

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Find the top two exam scores using MongoDB

Within my student database, I have a collection structured as follows: How can I identify the two highest exam scores for each student? [ { "_id" : ObjectId("61868aa03b2fe72b58c891a5"), "name" : "Max", ...

Populating a HTML document with data retrieved from an AJAX request

I have a button that, when clicked, should display the values of a specific user. The code snippet for this functionality is as follows: HTML Button: <button onclick="return getUserDetails(<? echo $user['id']; ?>)" class="btn btn-xs bt ...

What is the best way to implement this component into my vue.js project?

I am having trouble integrating this vue component into my app as it is not loading properly. You can find the source of the component here. The following warnings are showing up: Unresolved function or method isNumeric() at line 35 Unused parameter e at ...

display the information stored within the sports attribute using React

I am attempting to display the values stored in the sports property. So, I inserted a console log within the sports property. However, an error is being thrown: Syntax error: C:/codebase/src/containers/sports.js: Unexpected token, expec ...

Identify the geometric figure sketched on the canvas using the coordinates stored in an array

After capturing the startX, startY, endX, and endY mouse coordinates, I use them to draw three shapes (a line, ellipse, and rectangle) on a canvas. I then store these coordinates in an array for each shape drawn and redraw them on a cleared canvas. The cha ...

Issue with Jenkins running Cucumber causing timeout on JavaScript form

My current setup involves Cucumber 1.2.1 with Watir-webdriver 0.6.1 for webpage testing. While the tests run smoothly on my local machine, I encounter a timeout issue on a CI machine (Jenkins) when trying to fill out a javascript form. Despite having emai ...

Localization of labels and buttons in Angular Owl Date Time Picker is not supported

When using the Owl Date Time Picker, I noticed that the From and To labels, as well as the Set and Cancel buttons are not being localized. Here is the code snippet I am using to specify the locale: constructor( private dateTimeAdapter: DateTimeAdapter&l ...

Is it possible to use the setState function in a React functional component when the form is loading

Implementing a React component using hooks: Requirement: Upon page load, data should populate from the backend into dropdowns and tables with checkboxes. When the Submit button is clicked, the consolidated object of default selected values should be used ...

A single feature designed to handle various elements

I currently have this HTML code repeated multiple times on my webpage: <form class="new_comment"> <input accept="image/png,image/gif,image/jpeg" id="file" class="file_comment" key=comment_id type="file" name="comment[media]"> <spa ...

What is preventing images from displaying in my slider within baguetteBox?

Currently, I am in the process of incorporating a slider into my website using the baguetteBox library. After consulting the documentation, I successfully implemented an example that is functioning smoothly without any issues. In order to display a series ...

Encountering an error due to an unidentified provider for a resolved value

I am currently working on a basic Router setup: .when('/login/:id', { templateUrl: 'views/login.html', controller: 'RoomLoginCtrl', resolve: { roomData: function($route, S ...

Django Implementation of JavaScript Confirmation Dialogue

Currently working on a Django form that requires a confirm/cancel dialog upon submission. I've considered sending POST data from jQuery, but I'm curious if it's possible to integrate a JavaScript dialog as middleware instead? ...

What is the best way to utilize this resulting value as an input?

I am trying to generate a random number using math.random and use that value in the following script: let bday = Math.floor( Math.random() * (30 - 1 + 1) + 1 ); await test.page.select('select[name="day_select"]',bday); However, I am ...

Fetching external data in a Cordova application from a remote server

I have encountered multiple questions similar to mine, but none of them have been able to solve my issue. Currently, I am developing a Cordova app for testing on Android and iOS platforms. My goal is to retrieve data in JSON format from my webserver using ...

Setting up PostgreSQL database integration with Node.js

I want to remove certain entries from a PostgreSQL database based on creation/expiry dates, but I only want this to happen when the Node server first starts. Currently, I have added the line DELETE FROM ....db WHERE date <= CURRENT_DATE to the main r ...

Is there a way to render an image onto a canvas using an input tag?

Looking to create an image preview using canvas? Upload the image with the input tag and watch it display on canvas. I've experimented with various methods such as using img tags, setting img src for canvas using img tags, and trying onclick function ...

Transforming a Typescript class instance into a JavaScript object

Here is the code snippet I am working with: class A{ test: string constructor(test: string){ this.test = test } } const a = new A("hi") console.log(a) This is what the output looks like: A { test: 'hi' } However, when at ...

Locating the source and reason behind the [object ErrorEvent] being triggered

I'm facing an issue where one of my tests is failing and the log is not providing any useful information, apart from indicating which test failed... LoginComponent should display username & password error message and not call login when passed no ...

The AngularJs project is currently experiencing issues when trying to function as a single page web application

I'm currently working on incorporating AngularJS into an existing web project that uses jQuery. Here is a snippet of my code: <div class="medya" ng-repeat="d in data" masonry-item-dir> <a href="{{d.Url}}" class="onizleme"><img src="{ ...

JavaScript fails to focus on dynamically inserted input fields

Within my HTML template, there is an input element that I am loading via an Ajax call and inserting into existing HTML using jQuery's $(selector).html(response). This input element is part of a pop-up box that loads from the template. I want to set f ...