Restrict OrbitControls horizontal rotation limits

Is there a way to restrict the horizontal rotation on OrbitControls?

In reviewing the code, I noticed that vertical limitation is achievable with minPolarAngle and maxPolarAngle. However, I have not been able to locate a method for setting horizontal limits.

--

Edit: I understand that OrbitControls rotate the camera, not the mesh. My goal is to find a solution for imposing horizontal constraints on the camera.

Answer №1

UPDATE: There is a new feature in controlling camera movement both horizontally and vertically with OrbitControls.

// Setting limits for vertical orbiting.
// Range from 0 to Math.PI radians.
this.minPolarAngle = 0; // radians
this.maxPolarAngle = Math.PI; // radians

// Setting limits for horizontal orbiting.
// The interval [ min, max ] must be within the range of [ -2 PI, 2 PI ], with ( max - min < 2 PI )
this.minAzimuthAngle = - Infinity; // radians
this.maxAzimuthAngle = Infinity; // radians

Using three.js r.147

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

Problem with Angular2, NodeJS, and Passport Integration

At the moment, my Angular2 front-end is running on localhost:3000 while the NodeJS back-end (using KrakenJS) is running on localhost:8000. When I input the credentials and make a call to the this.http.post('http://localhost:8000/login', body, { h ...

Solving errors in the console when using ReactJS involves identifying the root cause of the

I've encountered an issue with a React component that I developed. When it's rendering, I'm facing the following error: Warning: Cannot update a component (`Inweight`) while rendering a different component (`StackPlan`). To locate the bad s ...

Serialization appears to be disabled when utilizing jQuery's load function

One example of loading a div with content from another page is: $("#content").load("<?php echo Config::get('URL'); ?>employment/new_employment" + " #inner_main_content"); The form serialize data is stored in the footer, which is included ...

module 'next/router' cannot be located or its associated type declarations are missing

Running into some issues with my NextJS application. An unusual error message is appearing, even though my code is functioning smoothly without any errors. import { useRouter } from 'next/router'; // Cannot find module 'next/router' or ...

Error: The specified JSON path for Ajax request could not be

Although my expertise lies in C++, I must confess that my knowledge about web development is quite limited. Therefore, please bear in mind that my question requires a simple answer. Recently, I stumbled upon a fascinating C++ library for creating a web se ...

Transform a binary large object (BLOB) file, specifically a music file, into a .WAV format using NODE.js on the server

I'm having difficulty grasping a basic concept. My Node server is successfully handling POST requests. I am sending a Blob to it (converting the blob to a .wav file). How can I save this Blob as a .wav file on disk? I want to use a music player to ...

Incorporating DefinitelyTyped files into an Angular 2 project: A step-by-step guide

I am currently developing an application using angular 2 and node.js. My current task involves installing typings for the project. In the past, when starting the server and activating the TypeScript compiler, I would encounter a log with various errors rel ...

Troubleshooting issues with the Bootstrap dropdown menu

I am struggling to get a dropdown menu working properly with Bootstrap. Despite looking through similar questions on this forum, I have not yet found a solution that works for me. Below is the HTML head section of my code: <!DOCTYPE html PUBLIC '- ...

Encountering issues with link functionality on homepage due to React-Router v6 and Material-UI Tab integration

I'm currently working on a homepage that requires different page links. Below you can find the necessary code snippet for setting up the tabs and routes for each page: <li> The tabs are located here - <Link to="/demo">D ...

Using the function to show content by calling its assigned ID

<script type="text/javascript"> function selectRow(id){ $.get("http://inactive/test.php?id=" + id, function(data,status){ return data; }); } </script> <script type="text/javascript"> $("tr").click(function() { window.l ...

Guide on converting the webxr camera into scene orientation

Currently, I am working on developing a 3D viewer application and have encountered some difficulties with webxr and threejs scene rendering. One of the features I am trying to implement is having a simple sphereGeometry with a cubemap image around the cam ...

What is the reason behind create-next-app generating .tsx files instead of .js files?

Whenever I include with-tailwindcss at the end of the command line, it appears to cause an issue. Is there any solution for this? npx create-next-app -e with-tailwindcss project_name ...

Odd behavior observed while running npm scripts in the npm terminal

Included in my package.json file are the following dependencies: "devDependencies": { "chromedriver": "^2.37.0", "geckodriver": "^1.11.0", "nightwatch": "^0.9.20", "selenium-server": "^3.11.0" }, "scripts": { "e2e": "nightwatch -c test ...

I find it strange that this warning message continues to pop up even though there is already a key prop assigned. It keeps saying: "Each child in a list should have a unique 'key'

As a newcomer to React, I find myself puzzled by the recurring appearance of this warning message: Warning: Each child in a list should have a unique "key" prop Even though there is already a key prop present on the element, why does this warn ...

Restrict the amount of JSON data returned within an array

My script fetches JSON data and extracts a list of actors stored in an array called 'cast'. To display the first actor from this list, I use the following JavaScript... let movieCredits = document.getElementById("movieCredits"); movieCr ...

The functionality of nth-child(odd) seems to be malfunctioning when there is a change

When I group certain elements together in one container, I like to make odd elements stand out by giving them a different background color. However, when I try to filter elements based on conditions and move unwanted elements to another class, the nth-chil ...

Botkit, conveying messages to chat rooms on Jabber

I have been working on a project to develop a chatbot for jabber, and it successfully sends messages to individual users like this: bot.say(message = { text: 'hi', user: '<a href="/cdn-cgi/l/email-protection" class="__cf_email__" ...

Guide on embedding a form component within an iframe using ReactJS

I am trying to figure out how to render my form component inside an iframe, but so far it's only rendering the iframe itself. Any tips on how to accomplish this task? import './App.css'; import ReactDOM from "react-dom/client" impo ...

In what situations is it beneficial to utilize inherited scope, and when is it best to avoid it

Is it better to use inherited scope (i.e scope:true) when creating a directive, or is it more appropriate not to use it (i.e scope:false)? I grasp the distinction between scope types and their respective functionalities. However, I am uncertain about whic ...

Changing the scrolling behavior of an iframe

I'm attempting to update the layout of to resemble . To achieve this, I've created a page with an iframe. However, I'm facing an issue with the iframe scroll function, as it does not match the desired design. I've experimented with t ...