godotengine / godotengine/godot

Scale is applied after orienting the ring emitter shape in Particles making it skew the shape

Open
#92,517 0 comments 0 reactions 0 assignees View on GitHub
breaks compat discussion topic:3d topic:particles
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

Reproduced in 4.2.2.stable and v4.3.dev.custom_build [8bf8f41fc]

### System information

Godot v4.3.dev (8bf8f41fc) - Windows 10.0.22631 - Vulkan (Forward+) - dedicated AMD Radeon RX 7800 XT (Advanced Micro Devices, Inc.; 31.0.24019.1006) - AMD Ryzen 9 7900X 12-Core Processor (24 Threads)

### Issue description

When applying a non uniform scale to a ring emission shape, you can see that the scaling it performed after orienting the ring to the axis, causing it to skew the shape, rather than scale it along it's local axis. Position is also applied afterwards, which is probably also undesireable. Note CPU particles do not have the scale option, so the issue does not exist there.

https://github.com/godotengine/godot/assets/4955051/5bd68086-b592-4841-a806-325838428473

### Steps to reproduce

Create a GPU particles system with a ring emitter and an axis of 1, 1, 0 and scale the x axis.

### Minimal reproduction project (MRP)

NA

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue by creating a GPU particles system with a ring emitter, setting its axis to 1, 1, 0, and scaling the x axis. Locate the GPU particle ring-emission implementation and trace the order of orientation, scale, and position transforms; done means non-uniform scale follows the ring's local axis without skewing the shape.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.