I'm currently working on a town part in Surveyor 2.0 and I noticed that 'rotstep' option from asset config.txt is being applied while trying to copy objects with 'Ctrl' button. This is a bit annoying and inconsistent, because Surveyor 2.0 generally allows rotating such objects by arbitrary angle in some places, and other places take this option into account, giving weird effects and forcing the modeller to fix the angles after each single operation.
I checked the behavior on two different objects. Firstly, 'ZiuT Tenement 1 V3 - Seasonal', <kuid2:448741:1523:2>. This asset does not configure any value for 'rotstep' in its config.txt file, therefore I believe the game applies the default value of 1:
1. I create an object and set the rotation angle to 123.5 degree,
2. I click the object, press 'Ctrl' and drag it to create a copy,
3. In the new object, the rotation angle has been rounded to 124 degrees.
The difference is visible if you try to create a row of identical objects that touch one another.
The second object, 'Building City Office 05', '<kuid2:60349:25307:1>. This asset sets the 'rotstep' to 5 in config.txt:
1. I create an object and set the rotation angle to 8 degrees,
2. I click the object, press 'Ctrl' and drag it to create a copy,
3. In the new object, the rotation angle has been rounded to 10 degrees.
Again, if you want to create a row of objects, the game firstly allows you creating an object with arbitrary angle and then messes it up during the copy operation.
Expected behavior
I would expect to ignore the custom 'rotstep' in Surveyor 2.0 consistently for the sake of usability. If I can type any angle in 'Info' box and the gizmo also rotates the object by any angle, the other tools should preserve it and the game should not do any rounding based on 'rotstep' option.
In the second scenario the configured angle is big enough that we can easily notice that something is wrong. In the first scenario, with rotstep = 1, the difference is small enough that you may not notice it in some cases until it is too late, forcing you to redo the recently done work. I started noticing it while creating track junctions on one of the stations from the template objects based on real-world junctions which assume that the side track deviates from the main one by 6.4 angle. I copied some templates, started laying tracks and noticed that something is wrong, because the templates did not match each other. After the inspection, I realized that for all copied templates, the rotation was rounded down to 6 degrees and my track layout is invalid. The ability to copy an object is useless, because I need to fix the rotation anyway which is no different from creating new objects.
I checked the behavior on two different objects. Firstly, 'ZiuT Tenement 1 V3 - Seasonal', <kuid2:448741:1523:2>. This asset does not configure any value for 'rotstep' in its config.txt file, therefore I believe the game applies the default value of 1:
1. I create an object and set the rotation angle to 123.5 degree,
2. I click the object, press 'Ctrl' and drag it to create a copy,
3. In the new object, the rotation angle has been rounded to 124 degrees.
The difference is visible if you try to create a row of identical objects that touch one another.
The second object, 'Building City Office 05', '<kuid2:60349:25307:1>. This asset sets the 'rotstep' to 5 in config.txt:
1. I create an object and set the rotation angle to 8 degrees,
2. I click the object, press 'Ctrl' and drag it to create a copy,
3. In the new object, the rotation angle has been rounded to 10 degrees.
Again, if you want to create a row of objects, the game firstly allows you creating an object with arbitrary angle and then messes it up during the copy operation.
Expected behavior
I would expect to ignore the custom 'rotstep' in Surveyor 2.0 consistently for the sake of usability. If I can type any angle in 'Info' box and the gizmo also rotates the object by any angle, the other tools should preserve it and the game should not do any rounding based on 'rotstep' option.
In the second scenario the configured angle is big enough that we can easily notice that something is wrong. In the first scenario, with rotstep = 1, the difference is small enough that you may not notice it in some cases until it is too late, forcing you to redo the recently done work. I started noticing it while creating track junctions on one of the stations from the template objects based on real-world junctions which assume that the side track deviates from the main one by 6.4 angle. I copied some templates, started laying tracks and noticed that something is wrong, because the templates did not match each other. After the inspection, I realized that for all copied templates, the rotation was rounded down to 6 degrees and my track layout is invalid. The ability to copy an object is useless, because I need to fix the rotation anyway which is no different from creating new objects.