lkspencer-Herosaver/README.md

52 lines
2.7 KiB
Markdown
Raw Normal View History

2019-06-29 14:54:07 +02:00
# Herosaver
2019-06-29 14:43:39 +02:00
2019-07-13 14:41:29 +02:00
Methodology to Save Configuration and STLs from websites using the THREE.JS framework for academic and educational purposes.
Please **Always** think about the **developers** of such websites and try to **support them whenever possible**, as without them, there would be no such tools.
2019-06-29 14:43:39 +02:00
2019-06-29 14:54:07 +02:00
## Usage
### Browser Console
2019-06-29 14:45:35 +02:00
1. Go to the intended website
2019-06-29 14:43:39 +02:00
2. Open the Javascript Console [F12], then click on Console
3. Paste the following
```
2019-06-29 14:45:35 +02:00
var xhr=new XMLHttpRequest;xhr.open("get","https://raw.githubusercontent.com/TeaWithLucas/Herosaver/master/herosaver.js",true);xhr.onreadystatechange=function(){if(xhr.readyState==4){var script=document.createElement("script");script.type="text/javascript";script.text=xhr.responseText;document.body.appendChild(script)}};xhr.send(null);
2019-06-29 14:43:39 +02:00
```
2019-06-29 14:54:07 +02:00
### Loading via Greecemonkey or other script loader
2019-06-29 15:26:27 +02:00
This method should automatically load the script on page load. Current it doesn't work if the page is reloaded (Open for suggestions?)
2019-06-29 14:54:07 +02:00
1. Install Greasemonkey Browser Addon (or alternative)
2019-06-29 14:54:07 +02:00
2. Click the icon and select 'New User Script' from the dropdown menu
2019-06-29 15:26:27 +02:00
3. Copy and pase from [Autoloader.js](Autoloader.js), editing the intended website
2019-06-29 14:54:07 +02:00
4. Save
## Buttons
* Export Model (STL) - Exports the current model and downloads a STL of it.
* Export (JSON) - Exports the current model settings in a JSON format.
* Import (JSON) - Imports a previously exported JSON file with model settings.
* Enlarge - Increases the size and rotates the model to match STL output for standard printing ```size:[10,10,10], rotation:[90,0,0]```
* Reset Scale - Resets the model and refreshes it, bug: refresh twice to reset some incorrect models.
2019-06-29 15:26:27 +02:00
## Bugs
Current bugs, open to solutions/suggestions
* Reset Scale Button doesnt work first press, need a second refresh to work.
* Autoloader.js doesnt work when page is reloaded, only on first page load.
* Some Geometry like facial experessions are not implemented, need to work on the THREE.js section.
* Shaders are not included, causing a more _'blocky'_ output, work on the THREE.js section is needed for this.
## Future work
Current things to work on, open to solutions/suggestions
* Rotation is off by 90 degrees, simple fix
* The buttons for enlarge and reset scale are a quick and ugly method, needs reworking to not affect the scale in brower if possible, if not, automatically change scale when downloading and resetting scale when downloaded. My lack of THREE.js experience means I am unsure how to do the latter.
2019-06-29 14:54:07 +02:00
## Limitations
2019-06-29 14:43:39 +02:00
2019-06-29 15:26:27 +02:00
Currently this is a compliled selection of various bits of code, so the output is not 100% great. If you want higher quality exports, consider purchasing the stl files or help work on the code :)