Orthographic with low quality fullscreen bugged???

Not favoritedFavorited Favorited 0 favourites
  • 6 posts
From the Asset Store
3D Car Pack 1
$2.99 USD
3D models + Rendered Low-Poly Cars in isometric, top-down, and side angles.
  • I have a few projects that are entirely 2D, but use z elevation to order certain things. I use orthographic projection so the pixels remain the same size.

    For the last bunch of updates (basically since 3d models were implemented) these games are really zoomed in, unless I turn off orthographic or switch to high quality fullscreen quality.

    I don't want to do either of these. Any idea on what's happening?

    High quality mode:

    Low quality mode:

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • The default setting of the Z axis scale is changed from 'Normalized' to 'Regular' and is also removed from the project settings. Maybe that is the problem.

    There is an entry in the deprecated features list. Maybe that is helpful for you:

    https://www.construct.net/en/make-games/manuals/construct-3/tips-and-guides/deprecated-features

    Look under: Z axis scale 'Normalized'

  • It seems to be a bug. Made a simple c3p with an ortho camera that alternates the scaling mode and found the bigger the window the more it zooms with low quality. Can't find a way to compensate since you can't set the layout/layer scale with a ortho camera.

    dropbox.com/scl/fi/a0dhqhrhgkla73jruvowx/ortho_camera_low_high_fullscreen_scaling_bug.c3p

  • That said, if everything is 2d facing the camera then you could still use the perspective camera and adjust the size and position of the objects with different z so they are visually unmoving. Even some 3d stuff can be distorted to look unchanged.

    edit:

    Here's how:

    Set camera to Perspective, and add the 3dcamera object to your project.

    Then any object you to undo the perspective scaling to add three instance variables: xx, yy, and s.

    Start of layout:
    -- sprite: set xx to self.x
    -- sprite: set yy to self.y
    
    every tick
    -- sprite: set s to 1-Self.Z/3DCamera.DefaultCameraZ
    -- sprite: set scale to self.s
    -- sprite: set x to (Self.xx-scrollx)*Self.s+scrollx
    -- sprite: set y to (Self.yy-scrolly)*Self.s+scrolly

    or if you want to use arbitrary sized sprites:

    Start of layout:
    -- sprite: set xx to self.x
    -- sprite: set yy to self.y
    -- sprite: set ww to self.width
    -- sprite: set hh to self.height
    
    every tick
    -- sprite: set s to 1-Self.Z/3DCamera.DefaultCameraZ
    -- sprite: set size to (self.ww*self.s, self.hh*self.s)
    -- sprite: set x to (Self.xx-scrollx)*Self.s+scrollx
    -- sprite: set y to (Self.yy-scrolly)*Self.s+scrolly

    You just need to update xx and yy whenever you move the sprite.

  • As ever the best place for bug reports is the issue tracker. However based on the project file shared by R0J0hound I think I have a fix for the next beta.

  • Thanks ASHLEY. Good result. I wasn't actually sure it was a bug.

    R0J0hound That's a really neat idea. I wouldn't have thought to change the scale.

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)