Hi guys, happy new year!
Very quick, and possibly very simple solution, but I can’t find anything that works properly.
I want every object in my scene to move upwards when a negative Y position is given, and downwards when a positive Y value is given. The default up vector is 0, 1, 0
by default. I’ve tried changing this to 0, -1, 0
, but this doesn’t seem to do anything.
I found this (old) topic with the same question, but without a definitive answer. Easiest way to make positive-Y axis go downward (without using scale)? - #4 by trusktr
I’ve tried camera.scale.y = -1
, which seems to work, but I’m wondering about the possible (negative) side-effects of this approach.
Calling Object3D.DefaultUp.set(0, -1, 0)
before rendering anything doesn’t seem to do much (is this a bug, or am I using this wrong?).
I’m trying to avoid a manual conversion (at all costs) between my coordinate system and the renderer.
Thanks in advance!
Edit: To help visualize the issue. Here is a screenshot of a level blueprint:
This is the rendered scene (don’t mind the basic unlit materials for now)
By setting Object3D.DefaultUp.set(0, -1, 0)
, I’m expecting the scene to be flipped on its Y-axis, but it doesn’t. When debugging things like this.scene.up
, I am seeing the negative Y-value though.
It is important that the values in position vectors remain intact, meaning they should reflect their coordinates as defined in the level data.
What am I missing?