forum

More Precise Movement

posted
Total Posts
11
This is a feature request. Feature requests can be voted up by supporters.
Current Priority: +4
Topic Starter
Torran
I'm trying to move from 320,450 to 320,22.5 in my storyboard but osu! won't allow it. Allow decimals please?
anonymous_old
I guess this makes sense.

However, why do you need .5? Why can't you round it, or move or scale another object so they align properly?
Topic Starter
Torran
Authentic storyboards are all about perfection. I feel bad if I can see something off by a pixel :P
peppy
File > Open .osu file in notepad.
Topic Starter
Torran

peppy wrote:

File > Open .osu file in notepad.
Open back up in osu! and it messes up :o
peppy
Shouldn't do? Do you have any specific examples? We all do direct script editing without any problems.

Edit: Oh right - the coordinates are only int-sensitive at the moment. Personally I don't think this needs to be changed...
Stefan
Bump. This should also be allowed for Hitobjects. However this can only be done by editing the .osu File. I think this can be done since a uneven SV (1.3, 1.5, etc.) cause problems by doing symmetry spacing from Hitobject to Hitobject while with even SVs (1.4, 1.6, etc) this doesn't happen. At least I think on this way that problem could be solved.
peppy
I am not willing to go into sub-pixels for now. Please tone down your OCD :p.
TheVileOne
Sub pixels would be useful. I would adjust blankets to subpixel perfect.
11t
I'm actually running into situations with my storyboards where floating-point values for the M command are necessary.

Currently, the resolution of the screen for the purposes of storyboarding is restricted to 854x480; whole values within this grid are the only points that you can define movement towards. While this is fine for general purposes, for more complex storyboards, this restriction becomes extremely limiting.

I've been recently working on simulating large 3D environments within storyboard code. I define a 3D "world" of sprites with x,y,z coordinates and rotation, along with a camera that represents the viewer's point of view, and I can simulate continuous movement within this 3D environment by periodically (once every few milliseconds) using the camera parameters to construct transformation matrices that map 3D coordinates to 2D viewport space (which can then be turned into a series of .osb-compliant M, R, and S commands).

Now R and S are totally fine since those take floating-point arguments. M, however, is not. Since the 3D-2D mapping is not a "neat" process, I frequently end up transforming a 3D coordinate like (10, 5, 8) to a 2D storyboard coordinate like (344.2626, 425.7251), which I then have to round off to (344, 426). Since most user monitors are much, much larger than 854x480 nowadays, this rounding causes a jump to occur within what would otherwise have been smooth sprite movement.

A single jump is no big deal and the human eye will scarcely notice such a insignificant disturbance. However, these jumps happen at every 3D-2D conversion step, and since each conversion step must occur within milliseconds of each other to accurately simulate 3D movement, the result is a very, very noticeable "wobbling" effect. Each sprite, instead of appearing to move smoothly from 3D point A to 3D point B, shakes its way rather roughly to its destination, as this is the visual result of rounding errors occurring every few milliseconds.

For general storyboarding purposes, floating-point values for the M command are never needed. However, I believe that the future of osu! storyboarding is in the simulation of dynamic 3D environments, and an issue as simple as this appears, at the moment, to be the largest obstacle impeding the fulfillment of this goal.

For the sake of the future of storyboarding, please allow the M command to take floating-point values!
FrzR
Use all the pixels. *n*)
Please sign in to reply.

New reply