Design incisions on Cylinder Structure

I am facing a challenge while attempting to replicate a scene. The specific detail I am struggling with is quite intricate.

The scene features a surface made of cylinder geometry with numerous small circular notches. Inside these notches, there are white lines. What makes it particularly tough for me is how to accurately create all these notches on the surface? There are approximately 61 circular notches to be recreated.

https://i.sstatic.net/jWncD.jpg

I have considered using Clipping, but I doubt it will work seamlessly for the circular shape. Additionally, the sheer number of notches adds to the complexity...

Does anyone have any insights from the documentation that could guide me in addressing this issue?

Answer №1

To achieve the desired effect of depth for the circles, one approach is to utilize a 3D modeling program to generate the geometry. Alternatively, employing a normal map or parallax mapping can also create the illusion of depth.

For an illustration using normal maps, check out this THREE.js example.

Trust this information proves beneficial!

Answer №2

To achieve this effect, I recommend utilizing a 3D modeling software such as Blender. By using a boolean subtract modifier, you can create the desired embossed circles effect. Once you've completed the design, export it to a format like GLTF and then import it into three.js for further manipulation.

Attempting to achieve this solely within three.js may prove challenging, particularly when it comes to achieving smooth edges for the embossed circles. For a cleaner and more precise result, utilizing a modeling tool like Blender would be the most efficient approach.

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

I successfully converted a d3 chart to a base64 image format and now I am looking to share it on Facebook using either client-side JavaScript or Angular

After generating a base64 image from a cool d3 chart, my next challenge is figuring out how to share it on Facebook using either client-side javascript or Angular. Any suggestions? ...

What are the steps for implementing middleware that relies on a socket connection?

Using express.io, I am currently working on creating a middleware that necessitates a connection to a remote server through two sockets. However, I have encountered an issue. var net = require('net'); module.exports = function (host, port) { ...

It seems that sessionStorage and localStorage reset after refreshing the page

I have a local document for a project that doesn't run on a web server. It contains multiple pages, each with a sidebar that can be toggled open or closed. I have implemented sessionStorage to save the current state of the sidebar (open or closed), bu ...

I am interested in incorporating a captcha system using ajax

Recently, I implemented email and captcha validation in a form. Now, I am looking to make some modifications. Specifically, I want the form to not reload the page if the captcha is incorrect or left empty. This means that all fields that have already bee ...

Use VueJS v-on:click and Vanilla JS to collapse various divs when clicked

Can VueJS and vanilla JS be used to collapse specific divs among many? I have information contained in separate card elements that include a title and a body. My goal is to make the body of each card expand or collapse when the respective title is clicked ...

Leverage the power of an Express server to manage a Node.js application

I have a node.js application that communicates with a REST API hosted on a separate server. To control this application, I want to create a web interface using express.js which includes HTML, CSS, and Javascript. How can I enable the browser to interact w ...

Attempting to stop an Ajax form from sending in its usual manner will not prove successful

I am currently working on implementing a form submission using Ajax. I have tried using event.preventDefault(); to prevent the form from submitting normally, but I am still being redirected to my sendMail.php file. Below is the code I am using: $(documen ...

Ensure the latest item is stored in the browser's local storage

I'm currently working on developing a flipbook-type application using HTML canvas in React. One issue I've encountered is that when I save an object (drawing) from the canvas to local storage, it saves not only the current project but also the pr ...

Issue encountered during installation of the robotjs npm package

Would appreciate any assistance with troubleshooting this issue. I've been grappling with it for 3 days, putting in countless hours of effort. The problem arises when attempting to install the robotjs npm package, as errors keep popping up. I've ...

Is it possible to modify or delete the question mark in a URL?

Currently, I am working on implementing a search bar for one of my websites hosted on Github. Below is the code I have written for the search bar: <!-- HTML for SEARCH BAR --> <div id="header"> <form id="newsearch" method ...

What sets apart elem['textContent'] from elem.textContent?

When dealing with a HTMLElement in JavaScript, is there any distinction between the following lines of code: elem['textContent'] = "Test"; versus elem.textContent = "Test"; This question arises when setting the text content of an HTMLElement. ...

Create a new project in Express 4 with necessary dependencies that are reliant on having Express

Currently, I am working on a Node.js project that utilizes the latest version of express (4.3). However, I have come across a situation where one of my dependencies relies on express 3.3. Will this setup work or do I need to ensure all submodules are using ...

What is preventing me from installing react-router-transition on the 1.4.0 version?

$ npm install -S <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8dffe8eceef9a0ffe2f8f9e8ffa0f9ffece3fee4f9e4e2e3cdbca3b9a3bd">[email protected]</a> npm ERROR! code ERESOLVE npm ERROR! Unable to r ...

How can Vue 3's v-bind=$attrs be implemented effectively?

I am currently in the process of migrating my Vue 2 application to Vue 3. According to the official documentation, the $listeners object has been removed in Vue 3 and event listeners are now part of $attrs. This includes taking non-prop attributes like cla ...

Controlling the behavior of React components in response to updates

I'm currently learning ReactJs and utilizing the ExtReact framework for my project. I have successfully implemented a grid with pagination, which is functioning well. I customized the spinner that appears during data loading and it works as expected ...

What could be causing the ajax request to not go through?

Check out this function I created that triggers an event when any inputs in an HTML form are changed. Function Snippet: function customEvent(form, element) { var timer; $(element).keyup(function () { clearTimeout(timer); if ($(ele ...

Creating a WordPress post popup using Ajax with SimpleModal and jQuery

I tried to follow the instructions provided in this tutorial but unfortunately, I couldn't get it to work. This is the process I followed: 1 / Including in the header <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ...

Accessing a JBoss Web Service using JavaScript (AJAX) - A Comprehensive Guide

After experimenting with JBOSS's Web Services, I have successfully set up the following: http://127.0.0.1:8080/IM/TestService?wsdl My next challenge is to call Web Methods from that Web Service using JavaScript. For example, if there's a web m ...

Creating a Click Counter with jQuery 2.0.1/2.0.2: A Step-by-Step Guide

Currently in the process of creating a fundraising webpage for charity, I have chosen to display an animated rabbit making its way Around The World. My progress so far includes a non-looping gif that plays on click, with a limitation on how often it can b ...

Customizing the appearance of jQuery accordion components

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js" language="javascript"></script> <script type="text/javascript" src="http://www.compactcourse.com/js/accordionNew.js" language="javascript"></script> < ...