Hi John,
In the editor (sunburn 2.0.8) you can set the position of a sceneobject (tabpage Scene objects). It would be nice to allow manual scaling and rotation as well. fi: I have a little object and after importing it using the editor I can select it but there is a green circle making it impossible to scale my model up.
Kind regards,
Wim
Yes that would be great! And also to be able to scale along each axis individually (in the object's local space).
Hi guys,
For now this is not possible as transforms are often in a form that cannot be correctly decomposed, however I did add this as feature request for the future.
Do you think having a dialog box that allowed you to specify the relative scale, rotation, and translation, and showed the results in realtime would help?
This wouldn't decompose and show the existing world transform, but would allow fine tuning the values for the current relative transform (like Max's manual scale, rotation, and translation entry dialogs, only in realtime).
Follow me on Twitter – development and personal tweetsAwesome XNA Videos – Lighting, Rendering, and game videos
Ah yes I had the same issue when creating my own editor. I did exactly what you suggest John. I had X, Y and Z axis numeric boxes and an 'Apply' button, so I could specify an incremental rotation, hit the 'Apply' button to apply it and then the X, Y and Z values were reset back to zero.
Not the nicest of solutions but it did help with fine-tuning or making precise 90 degree rotations for example.
Also, have you ever considered having the editor controls as a separate floating dialog window? That's the way I did mine and it was nice because it left the game view uncluttered, and the editor controls could be placed on a second monitor. Was really easy to do as well.
Any kind of dialog or dockable panel would be ok for me. I just want to make use those input boxes to rotate, transform or scale my object an exact amount. For instance scale all my object with factor 0.75, or rotate exactly 75 degrees.
Relative rotation and scaling would be very nice! Although why not just two input boxes on the toolbar? Or even re-use the translation input box depending on the currently selected mode (translate, rotate, scale).
To be clear the current object model does not make it possible to consistently extract the scale, rotation, and translation, meaning those absolute values cannot be directly used in the editor.
The near-term alternative I'm asking about would allow you to fine tune the current relative transform.
As an example when you open the dialog the values would always first read:
Then any numbers plugged into the boxes would transform the object relative to its previous transform (the one just before opening the dialog), and would show the result of the change real-time in the scene allowing for fine tuning.
Let me know if this makes sense!
Ok I think I get it, the proposed solution is useful for a bit more fine grained control than using a mouse but if I really care about it being perfect I should store pre-rotated meshes in my model for now. (Posted to check I understand, no need to reply unless I'm way out :-) )
Paul
John, that sounds fine! At least we can do stuff like rotate walls 90 degrees exactly to make a corner :)
It makes perfectly sense!
Manipulating the relative transform seems ok but please if you decide to implement it make it clear to the end-user (like you stated Relative .... ) that the values are relative to the current model parameters.
I'd only have to try and implement something to achieve this relative rotation & scale myself, so it would be most appreciated if you do decide to implement it.
Can we also have a button to reset the scale/rotation back to Matrix.Identity?
Thanks!
Hi cj,
I've added this to our feature request system.
Hey John, I think this would be very useful. So add another vote.
I am not really sure if this is relative, but when "object model does not make it possible to consistently extract the scale, rotation, and translation" are you talking about using the matrices in the Scene.scene and the Matrix.Decompose Method in XNA 4.0? Because that would explain why the component to do something similar will not work.