Prologue:
I will be very clear, this is a BASIC redo, forged around code cleanliness and better *simple* design. Biggest feature is parenting hierarchy. Only works for block worlds.
Release plan:
Version 0.0.0: Have basic editorial scene set up [Completed]
Version 0.1.0: Have basic selection system complete. [Completed]
Version 0.1.5: Have basic Camera system installed [Completed]
Version 0.2.0: Have Basic control axis complete (Move object along global axis') [Completed]
Version 0.3.0: Have control axis 1.0 complete (Edit objects individually) [In Progress][20%]
Version 0.4.0: Have advanced camera system implemented (Multiple modes of camera operation)
Version 0.5.0: Have Basic Drag-In System complete
Version 0.6.0: Have control axis 2.0 complete. (Rotate object along global axis')
Version 0.7.0: Have control axis 3.0 complete. (Move & rotate along local axis')
Version 0.8.0: Have control axis 4.0 complete. (Scale along local axis, support parenting)
Version 0.9.0 Have final camera system complete (Minor details reliant on control axis)
Version 0.10.0: Have advanced selection system complete (Select through parent hierarchy, have "target" selection)
Version 0.11.0 Have final control axis complete. (Operate from general center, or target center)
Version 0.12.0 Have value editing system complete.
Version 1.0.0 Have main menu implemented
Version 1.1.0 Have "Project system" implemented (WAHOO you are reading the entire post o.o)
Version 1.2.0 Have data I/O implemented for project system
Version 2.0.0 Have publish screen implemented.
Version 2.1.0 Have world DB system created
Version 3.0.0 Have world download implemented
Version 3.0.1 Have world combine implemented
Version 4.0.0 Have block generation scripting implemented (Python. By far. Much better than Lua. (similar syntax too))
Version 5.0.0: Everything is complete. Minor bugs taken care of
Version 5.1.0: Settings screen! Woopwoop!
Version 5.2.0: Preview mode
Version 6.0.0: Script repository
Version 6.1.0: Objects can have scripts attached to them
Version 7.0.0: Dynamic generation API
Version-less Release ideas, bugfixes, and todos:
Snap terrain to (gridsnapped) camera X-Z position
Shortcut to show buggy size relative to objects
Add focus-point-zoom-setting mode (scale current zoom to object, use default zoom, use default zoom scaled to object, do not change zoom)
Add axis color settings
Add settings for camera sensitivity
Add camera mode settings
Update camera to use CenterServer scale calculation
Add CenterServer scale modes
Finish axes shading when possible
To the users:
Kind support, and harsh criticism alike are welcomed. I must admit I am fueled by attention. Recent postings related to the world creator are what imbedded in me the whim to do this. If you want to see this done, PLEASE do not be afraid to cheer me on (or smack me down a little)! Otherwise, you might as well condemn it to failure.
P.S. Commenting more than once after new versions are released is critical.
Editor log:
- Created basic data structure for Selection
- Created basic selection processing system
- Created basic selection system input interfacer
- Made the terrain plane temporarily smaller to avoid strange pixelation (Thanks, Ender! :D)
- Click to select a cube and target it.
- Shift click to select a cube, and target it, WITHOUT deselecting others.
- Z-Click to target an all ready selected cube.
- Created basic structure in code for proper handling of keyboard and mouse events
- Created data and code system for a proper camera system supporting several modes (In the future)
- Created camera mode: "Unity"
- Allowed the deselection of objects by clicking the ground or air
- Created icon based around the selected cube. Thanks, Gub!
- Removed "Found this? Nice find" from post. Forgot to do that when I published
- Added control axes
- Added basic internal API for block manipulation, block center calculation
- Increased maximum zoom (found a way to reduce glitching and cutoff at high zoom)
- MASSIVELY increased maximum zoom-out (you can now zoom really far away without all that nasty glitching)
- Added internal logic for a new mode of camera and control axes center calculation; median point!
- Added internal API and base-logic for all the manipulation modes you can think of (well maybe not ALL, but a lot more than Unity has to offer) http://marsxplr.com/view-12153 for a taste of what is to come.
- Added internal logic for handling of clicking on axes... This took more work than expected, but has plenty of potential :)
- Added internal logic for all sorts of individual editing modes, as well as new scale calculation modes.
- Discovered and worked around some bizzare Unity raycasting bugs...
Version 0.3.0 in progress
Completion process:
- Figure out the UI system for all possible modes [Completed]
- Implement the UI system [In Progress][10%]
- Implement flesh code for individual Individuality (as opposed to the current "grouped" individuality) [Not Started]
Notes:
- This version will be internal only. Currently, the global move operation is exactly the same in individual mode.
Changelog:
Current controls:
- Click on a cube to select it and target it
- Click on the air to deselect all cubes
- Shift-Click on an unselected cube to select it without deselecting others
- Shift-click on a selected cube to deselect it
- Z-click on any selected cube to target it
- Option-Drag to rotate the viewpoint around the focus point
- Shift-Option-Drag to pan the camera (By moving the focus point)
- Scroll to zoom in and out
- Press F to set the focus point to the target of the selection