| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- require('./custom.less')
- const tree = require('./tree')
- const walk = require('./walk')
- require('./ui')
- require('./stl-exporter')
- const THREE = require('./three')
- // if (window.scene) {
- // var i = -6
- // scene.traverse(o => {
- // o.name = o.type + i++
- // })
- // scene.getObjectByName('Bone3').rotation.z = 32
- // }
- window.bake = () => {
- const character = CK.character
- const baker = new THREE.Baker();
- baker.parse(character);
- console.log('Baked');
- }
- window.save = (filename) => {
- const character = CK.character
- const exporter = new THREE.GLTFExporter();
- exporter.parse(character, data => {
- window.data = data;
- console.log('done')
- if (filename) console.save(JSON.stringify(window.data), `${filename}.gltf`)
- })
- }
- window.console.save = function(data, filename){
- if(!data) {
- console.error('Console.save: No data')
- return;
- }
- if(!filename) filename = 'console.json'
- if(typeof data === "object"){
- data = JSON.stringify(data, undefined, 4)
- }
- var blob = new Blob([data], {type: 'text/json'}),
- e = document.createEvent('MouseEvents'),
- a = document.createElement('a')
- a.download = filename
- a.href = window.URL.createObjectURL(blob)
- a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
- e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
- a.dispatchEvent(e)
- }
- window.console.css = () => Array.from(document.styleSheets).map(ss => Array.from(ss.rules)).reduce((a, b) => a.concat(b), []).map(rule => rule.cssText).sort().join('\n')
- window.console.saveCss = (name) => window.console.save(window.console.css(), name || `${window.location.hostname}.css`)
- window.saveStl = (filename) => {
- var exporter = new THREE.STLExporter();
- var data = exporter.parse( CK.character, { binary: false } );
- console.save(data, `${filename || 'export'}.stl`)
- }
- const waitFor = fn => new Promise((resolve, reject) => {
- if (typeof fn === 'string') {
- const querySelector = fn
- fn = () => document.querySelector(querySelector)
- }
- const timer = setInterval(() => {
- try {
- const res = fn()
- if (res) {
- resolve(res)
- }
- } catch (err) {
- console.warn(err)
- }
- })
- })
- setInterval(() => {
- const links = Array.from(document.querySelectorAll('.shop-button'))
- links.forEach(link => {
- const a = document.createElement('a')
- a.className = 'shop-button clickable'
- a.innerText = 'Export STL'
- a.onclick = ev => {
- saveStl(CK.character.name || document.querySelector('.headerMenu-trigger-label').innerText.split('*').join('').trim())
- ev.preventDefault()
- setTimeout(() => document.querySelector('.tab-Pose').click())
- }
- link.replaceWith(a)
- })
- // const kick = Array.from(document.querySelectorAll('.corner-kickstarter'))
- // kick.forEach(kick => {
- // kick.remove()
- // })
- }, 1000)
- // // Your code here...
- // CK.Settings.rez = 'hiRez'
- // CK.Settings.forge = true
- // const CKBLoader = window.FuseBox.packages.creationkit.f["creationkit/resources/loaders/CKBLoader.js"].locals.exports.default
- // const oldLoad = CKBLoader.prototype.load
- // CKBLoader.prototype.load = function() {
- // const args = Array.from(arguments)
- // //args[0] = args[0].split('_loRez_').join('_').split('/static/').join('/forge/static/')
- // console.log(args)
- // return oldLoad.apply(this, args)
- // }
- window.Custom = {
- init() {}
- }
|