How do I Rotate a graphic inside of a 3D billboard instead of changing it's direction?

0 favourites
  • 7 posts
From the Asset Store
Rotate & Animation for 16 Direction & Mouse Direction
  • I am attempting to rotate a sprite billboard and just changes the direction that it is facing, but I am trying to rotate the graphic within the billboard instead of making it change directions. Any solutions?

  • It would be great if you post example project file, or illustration for what you want to achive. Probably you are looking for this? https://www.construct.net/en/forum/construct-3/your-construct-creations-9/example-mesh-distort-sphere-161470#forumPost1045886

  • Basically I am trying to make a steering wheel rotate for a game where you are inside of the vehicle, but in order to achieve this I have to keep it flat because when I stand it up with mesh distortion changing the angle just rotates the sprite away from the driver.

    I am almost sure you showed me the right place to look, even lucky enough to have the grand wizard rojo on it too! Thanks bud!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Okay, this is some wonderful examples BUT I was kind of looking to rotate and flat billboard with 2x2 mesh distortion points. I can possibly figure that out from the included examples but the examples given are basically making a full cube or ball out of many mesh distortion points and then rotating that which is much more complex than say a swirling billboard portal or a steering wheel that stands up and turns.

    I remade this post in another question because I didn't know how to modify the title.

  • Sounds like you just want to rotate the distort mesh around some other axis besides the z axis like setting the angle does.

    You can search the forum for “rotate around a point” or “rotate around x axis” to get you the math involved. Search posts by me for 3d rotation and I think there’s some examples too.

    The math involved is just taking the corner points and multiplying each one by a rotation matrix. Ideally it would only need to be an 2d rotation which simplifies the math. Alternately you could multiply them by a rotation quaternion. Anyways, just some ideas where to look to get a possible solution. At least till someone can make and example.

  • Thanks much rojo, I am going to do some searching as suggested and see if I can comprehend some of the mathemagics going on!

  • dropbox.com/scl/fi/6w8o0vdzkalhxl7awjri8/3drotateMesh.c3p

    Here is an example. It builds a rotation matrix from a series of rotations and then applies that to the corners of the quad to do the distort. Since the quad is flat its slightly simpler than if we wanted to handle z too.

    Notes:

    * Project property: "z axis scale" is set to regular.

    * The object's size is set to 1x1 and we set the size from the scale function.

    * Distort points can't have a z<0. So to work around that we set the zelevation to -1000, and add 1000 to the zelevation of the distort points.

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