Block rotation could be easier (hold LMB to select, RMB to rotate)

Joined
Feb 13, 2017
Messages
59
Likes
8
Points
9
#1
Currently to rotate an already placed block on my Tech, I have to hold LMB (to select it) and then remove it from its place, then move it back and RMB will work to rotate it. This might be seen as a bug, unsure.

Wanted: hold RMB on your already placed block (to select it), then clicking RMB should rotate it(currently does nothing, unless the block is first moved away from current position(drag it away), then RMB does rotate it)

LMB=left mouse button
RMB=right mouse button

Thanks for all the hard work!
 
Likes: zanzistar

StyxAnnihilator

Well-Known Member
Joined
Dec 1, 2015
Messages
504
Likes
255
Points
470
Location
Norway, Oslo.
#4
No to RMB LMB to rotate blocks. RMB is used to move camera angle while holding a block. LMB to hold a block.
As mentioned can use keys (F G) or mouse scroll (as F or G) to cycle through combinations of positions.
Several previous suggestions on block rotation.

An issue with current method is that often have to go through many positions, maybe even not manage to get the one wanted. The scroll wheel works as zoom originally, but now it also do block rotation when holding a block. My original suggestion were that the the rotation temporary replaced (scroll wheel) zoom when a block were in a position to be placed (when connection points highlights).

My suggestion repeated: F (and wheel forward - from you) rotates a block "forward", with x axis as center. The G (and wheel back - towards you) rotates the block with the clock, z axis. Then you will get all positions available in a controlled way. Find a box and try yourself with your hands.
Not sure if someone in Payload Studios understand, or have knowledge enough to code it, or low priority, or another solution (not told). Can always add (4) more keys to get y axis and opposite direction. Scroll wheel push/down/click is often middle mouse button, as a 3rd key maybe.
 

tomo_cjt

Well-Known Member
Joined
Aug 14, 2014
Messages
401
Likes
362
Points
475
#5
My suggestion repeated: F (and wheel forward - from you) rotates a block "forward", with x axis as center. The G (and wheel back - towards you) rotates the block with the clock, z axis. Then you will get all positions available in a controlled way. Find a box and try yourself with your hands.
Not sure if someone in Payload Studios understand, or have knowledge enough to code it, or low priority, or another solution (not told).
I've already addressed this a while ago, but that only works if it goes through every rotation possible - many blocks can't be positioned like that, so you'd end up going through rotations that aren't needed or possible (failing to do the one thing that is being requested here). If you ignore those positions then this method fails to work, so you have to show extra positions that can't be used and then show that a block can't be placed in that rotation.

We want to improve this area, but it's not quite as easy as suggested.
 
Likes: reportingbug1
Joined
Feb 13, 2017
Messages
59
Likes
8
Points
9
#6
Makes sense. If some rotations aren't possible without dropping the attached blocks, maybe don't cycle them - the the user has to move out the block and thus fall off the other blocks before doing the other rotations.
 

StyxAnnihilator

Well-Known Member
Joined
Dec 1, 2015
Messages
504
Likes
255
Points
470
Location
Norway, Oslo.
#7
@tomo_cjt OK, I may have overlooked that was as an issue I had to explain in more detail. Several ways to solve that.

A tech always have a definition of up down front back left right, and where ground and obstacles are.
Initially every block ought to have a first logic orientation (and angle) relative to camera and tech, as good as possible (avoid too many "if"'s?). Like wheels is mostly placed "to the left or right and down (wheel on ground)" or relative to other wheels (of same type) that are close.
When picking up a block, attached or not, it "snaps" to the closest valid orientation. Have to drop it and change camera position (or push it around with a tech or holding another block) to pick it up again if to "snap" it to another angle.

First choice:
Every block that have a connection option larger than 1 (block) have a fixed reference connection, depending of block and function, that is a 1x1x1 block, in a corner or center. That the rotation axis's have as reference.
OR
Rotation axis's is relative to the center (xyz) of a block.

Second choice:
Have a difference in rotating a block and placing a block. So if in a "not possible placing" then just have to rotate a bit more until find a valid one. Then the block "locks" to the tech where the pointer is pointing, to valid connections between the tech and the new block.
OR
When rotating, jump to a valid position closes to "forward" or "right", cycle to next. Some blocks may have so few options in rotation that then can have a cycle list as today.

Since I do not know how the game are put together, I do not know how much (or little) code have to change for any of the above. Or that I could see a third option able to be coded acceptably easy enough.

BTW: Someone probably suggested to have a kind of graphic/GUI/button rotation methods too.
Just that not so easy to use if to build when a tech is in fast motion and maybe fighting. Then can always add it as an option to activate (with a key and/or button and/or settings).