bevyengine / bevyengine/bevy

Offer a way to flip a 3D model

Open
#25,081 8 comments 0 reactions 0 assignees View on GitHub
A-Math A-Rendering C-Feature S-Needs-Design
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

I have a 3D model that I would like to instantiate both as itself and as its mirrored version.

## What solution would you like?

No preconceived idea of how that should work, but ideally just calling a function or adding a component and providing info about which plane to flip the object around, would be enough.

## What alternative(s) have you considered?

First thing I tried is scaling by `Vec3::new(-1.0, 1.0, 1.0)`, but the normals got messed up.
I can also duplicate my models and flip them ahead of time in e.g. Blender, but 1. that's some more work 2. that doubles the quantity of assets.

Contributor guide

Open the contributing guide

Research direction

Start by examining how Bevy represents 3D model transforms and handles normals when using Vec3::new(-1.0, 1.0, 1.0). Compare the requested component or function approach with the Blender duplication workaround; done means an instanced model can be mirrored around a selected plane without incorrect normals.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.