To create a simple home page that displays this 3D component, we'll use a React Project. This will allow us to set up the necessary files and configurations.
With these changes, you should now have a simple home page that displays the 3D Lanyard component. The component is dynamically imported to ensure it only loads on the client-side, as it requires browser APIs.
To complete the setup, make sure to:
card.glb
and lanyard.png
files in the appropriate directories (e.g., public/assets
).Lanyard.tsx
file to point to the correct locations of these assets.npm install
or yarn install
.This implementation creates a responsive home page with a title and the 3D Lanyard component. The necessary configuration changes have been made to support the required file types and dependencies.
The error "Cannot convert object to primitive value" often occurs when trying to use an object where a primitive value (like a string or number) is expected. Let's revise the code to address this issue.
These changes should address the "Cannot convert object to primitive value" error. The main modifications include:
Lanyard
component props.Canvas
component to use the color
prop for setting the background color.Environment
component usage.next.config.mjs
to use the asset/resource
type for handling GLB and PNG files.Make sure to place your card.glb
and lanyard.png
files in the public
directory, and update the import paths in the Lanyard.tsx
file accordingly:
import cardGLB from '/card.glb'
import lanyard from '/lanyard.png'
After making these changes, run npm install
or yarn install
to update your dependencies, and then start your development server. The error should be resolved, and you should see the 3D Lanyard component rendered on your home page.