is there a way to instantly jump to a particular point in an animation when a button is clicked, rather than smoothly transitioning my mesh

Upon loading a 3D model with threejs, I am able to initiate animation clips. However, instead of simply running the animation, I desire to navigate to a specific point in the sequence on button click. For instance, if my animation clip is 1-minute long, when a user clicks a button, I aim to manipulate the geometry to mimic its appearance at the 30-second mark within the animation.

Is there a method to achieve this functionality using threejs, or do you have an alternative suggestion?

Answer №1

Do you know if there is a way to achieve this using threejs, or perhaps you have another suggestion?

A potential solution could involve playing back an animation clip in threejs and pausing it to set the time property accordingly. Here is an example of how this can be done:

  const clipAction = mixer.clipAction( clip );
  clipAction.play();
  clipAction.paused = true;
  clipAction.time = 0.5;

You can see this approach in action here: https://jsfiddle.net/w6catxfh/1/

Answer №2

If your animation can be controlled by time, there are different approaches you can take to make a cube move upwards. One option is to directly instruct the cube to move up by a specific distance in each animation loop:

var animate = function () {
                requestAnimationFrame( animate );

                cube.position.y += 0.01;

                renderer.render( scene, camera );
            };

Alternatively, you can define the cube's position as a function of time for a similar animation effect:

var currentTime = 0;

var animate = function () {
                requestAnimationFrame( animate );

                cube.position.y = 0.01 * currentTime;
                currentTime += 1;

                renderer.render( scene, camera );
            };

Both methods result in the same visual outcome, but manipulating the currentTime variable allows for navigation through the animation timeline.

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

JQuery Datatables: Struggling to make JQuery function work following AJAX update

Watch this screencast to get a clearer understanding of the issue.... I'm currently working on my first project involving AJAX, and I'm encountering some obstacles. The datatable is loading user details from a JSON output using AJAX. Each row ...

Tips on utilizing multiple dynamically generated toggle switches efficiently

As a Frontend beginner, I am working on implementing toggle switches using HTML, CSS, and Vanilla JavaScript. Approach: I am generating an HTML table with multiple rows based on the data from my Django database. Each row contains details like name, id, a ...

The functionality of jQuery's appendTo method seems to be malfunctioning

I am trying to display an image with a popup using jQuery mobile. In my loop, I have the code below: for( var i = 0; i < imageArray.length; i++ ) { counter ++; // Create a new Image element var img = $('<img data-rel="popup" class=" ...

Learn how to properly register the order of checkboxes in AngularJS

I have a unique requirement for my webapp where I need to display the order in which checkboxes are checked. I came up with the following code to achieve this functionality: $scope.updateNumbers = function(id, checked, inputs) { if (checked === true) ...

Using Javascript regex for extracting JSON string content including property values within HTML code

I have data in the following format that is not valid JSON. I am trying to convert it using regex, but the parse won't go through. For more details, refer to this question which I've tried. The problem lies in the fact that the response string a ...

Looking for assistance with a Vue.js BMI Calculator project

Currently, I am delving into Web Development using Vue. As part of my project, I have constructed a component that calculates the BMI (Body Mass Index) of an individual. To collect the necessary data, I have implemented a form utilizing bootstrap-vue. Howe ...

After calling Subject.next, the function will return an Observable

In my current Ionic 2 project, I am focusing on implementing two key functionalities - logging out the user and remotely clearing the database. Below is the code snippet I have been working on: private logoutEvent: Subject<any> = new Subject(); priv ...

Spin the object around the world's central axis

I've encountered several different methods that claim to rotate an object around the world axis, but they all seem to rotate the object around its own axis instead of the world's. Can anyone advise on the correct approach to rotate an object arou ...

Unable to create a polygon on the Google Maps API using GPS coordinates inputted from a text field

I am currently developing an interactive map using the Google Maps API. The map includes a floating panel with two input fields where I can enter GPS coordinates. My goal is to create markers and connect them to form a polygon. While I can easily draw lin ...

"Encountered a corrupt XLSX file when attempting to download through Vue.js with Axios

Hey there, I've been attempting to generate a download using axios for an excel file but unfortunately, I haven't been successful in opening it. Could you please assist me in identifying the problem? const blob = new Blob([result.data], { ty ...

Guide to importing a glTF scene into your three.js project while using Internet Explorer 11

After successfully implementing a simple html code to load a gltf model using three.js and their gltfloader.js, I encountered an issue where it works flawlessly on Mozilla but fails to display on ie11 without any errors being thrown. Despite trying the es6 ...

Find and filter the values in the range.getValues() array that correspond to the first element in apps script

In the spreadsheet provided, I have compiled a list of cities in different states of my country. This information will be utilized in a form; however, it is not feasible for users to sift through an extensive list of all cities listed. Therefore, I am look ...

I am attempting to verify a user's login status with Next.js and Supabase, however, I am encountering difficulties in making it function properly

I recently cloned this repository from https://github.com/vercel/next.js/tree/canary/examples/with-supabase-auth-realtime-db and I'm trying to implement a navigation bar that changes based on the user's login status. Unfortunately, the code I&ap ...

Fetching an item from Local Storage in Angular 8

In my local storage, I have some data stored in a unique format. When I try to retrieve the data using localStorage.getItem('id');, it returns undefined. The issue lies in the way the data is stored within localStorage - it's structured as a ...

"Enhancing User Authentication with Firebase Email Verification in React Native

Does Firebase have a feature that allows me to verify if an email confirmation has already been sent to a user? I am able to check validation, but I need to determine whether the verification email has already been sent in order to decide if it needs to be ...

Ensure that the JSON file contains values within an array of objects

Currently, I am working with JavaScript and have a JSON file containing Twitter data. Accessing the data is not an issue as I can easily retrieve it using something like: var content = data.text;, allowing me to modify a div using innerHTML. However, I am ...

Is it possible for a button to simultaneously redirect and execute a function using asynchronous JavaScript?

After browsing through several related posts, I realized that most of them were using href to redirect to a completely new webpage. However, in my JavaScript code, I have a button that utilizes the Material-UI <Link>. <Button component={Link} to= ...

Issue with Ionic displaying data from AngularJS $http.get request

Having just started learning AngularJS, I have followed tutorials on YouTube and read the documentation, but I am struggling to display data from an API using the $http.get() request. Here is my JavaScript and HTML code: var exampleApp= angular.modul ...

Is there a way to detect when the browser's back button is clicked?

As I work on supporting an e-commerce app that deals with creating and submitting orders, a user recently discovered a loophole wherein they could trigger an error condition by quickly pressing the back button after submitting their order. To address this ...

Can you tell me how to add a variable to an array of objects in JavaScript?

I am currently engaged in a small project aimed at: Reading data from a CSV file (such as employee names and shifts) Displaying this data on FullCalendar. How can I incorporate the CSV result into this line of code: { id: 'a', title: 'Audi ...