Commit 401b892f authored by frankie's avatar frankie 💬

kiosk mode

parent 433d96b3
......@@ -7,7 +7,7 @@ import sys
from shutil import copyfile
'''
SUPER IMPORTANT:
SUPER IMPORTANT:
A
execution and post-processing mode are defined by the value
......@@ -29,6 +29,8 @@ go to "regenerate_physics" function to tune cube and butt softbody settings
'''
#main_conf[ 'generation_path' ] = bpy.context.blend_data.filepath[:bpy.context.blend_data.filepath.rfind('/')+1] + main_conf[ 'generation_path' ]
main_conf = {
'armature':'butt_armature', # automatically added to generation
'skin':'butt_articulated', # automatically added to generation
......@@ -40,7 +42,7 @@ main_conf = {
'butt_xangl':( -10, 0 ), # variation of butt X orientation
'butt_yangl':( -5, 5 ), # variation of butt Y orientation
'butt_zangl':( -50, 50 ), # variation of butt Z orientation
'frames':( 0, 4000, 1, 200 ), # frame start, end, step (do not affect json export) & step (only affect json export)
'frames':( 0, 4000, 200, 200 ), # frame start, end, step (do not affect json export) & step (only affect json export)
'generation_layers':[1,10], # layer to enable during generation
'render_layers':[1,3,11], # layer to enable during rendering
'render_size': (1080,1080), # resolution of render
......@@ -55,7 +57,7 @@ main_conf = {
'avi_path': '', # set to empty string to disable avi generation
'export_png': False, # only used when rendering the generated file
'export_thumb': True, # generate a png with the last frame
'generation_path': 'generated/', # set to empty string to disable blend generation
'generation_path': 'generated/', # set to empty string to disable blend generation
'generation_name': 'sisyphus_cube_', # prefix used for the generated file
'generation_files': [], # extra files to copy when creating generation folder
'extra_objects_to_backup': [
......
......@@ -157,7 +157,18 @@ function Ground() {
this.mat2 = this.mat1.clone();
this.mat2.color = this.config.color2;
this.mat2.emissive = this.config.emissive2;
try{
if ( GROUND_PURE_BLACK !== undefined ) {
this.mat1.reflectivity = 0;
this.mat1.shininess = 0;
this.mat1.roughness = 0;
this.mat1.color = new THREE.Color( 0x000000 );
this.mat1.emissive = new THREE.Color( 0x000000 );
this.mat1.specular = new THREE.Color( 0x000000 );
}
} catch(e) {}
var cgeom = undefined;
if ( this.config.use_cubes ) {
cgeom = new THREE.BoxGeometry(
......
function requestFullScreen(element) {
// Supports most browsers and their versions.
var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;
if (requestMethod) { // Native full screen.
requestMethod.call(element);
} else if (typeof window.ActiveXObject !== "undefined") { // Older IE.
var wscript = new ActiveXObject("WScript.Shell");
if (wscript !== null) {
wscript.SendKeys("{F11}");
}
}
}
var elem = document.body; // Make the body go full screen.
requestFullScreen(elem);
var GROUND_PURE_BLACK = true;
\ No newline at end of file
<!--
_________ ____ .-. _________/ ____ .-. ____
__|__ (_)_/(_)( )____< \| ( ) (_)
`-' `-'
libre video game bazaar
-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>Sisyphus - avatar @ work</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<link rel="stylesheet" href="css/normalize.css"/>
<link rel="stylesheet" href="css/style.css"/>
</head>
<body>
<div id="container"></div>
<!-- UI -->
<div id="splash">
<div class="splash_bg">
<div class="splash_title">
<h1>Sisyphus</h1>
</div>
</div>
</div>
<!-- <div id="question">
<canvas id="question_canvas"></canvas>
<div id="question_link"><a href="javascript:question_ok()">OK</a></div>
</div> -->
<div id="ui_3d" class="menu_opening">
<div class="goto_about">
<button onclick="javascript:goto_about()">about</button>
</div>
<div id="toggle_camera">
<button onclick="javascript:toggle_camera()">toggle camera</button>
</div>
<div class="goto_gallery">
<button onclick="javascript:goto_inventory()">chair archive</button>
</div>
</div>
<div id="about_panel">
<div class="goto_back_left">
<button onclick="javascript:goto_mainmenu()">X</button>
</div>
<div class="goto_gallery">
<button onclick="javascript:goto_inventory()">chair archive</button>
</div>
<div class="panel_content">
<p class="big">Sisyphus is an absurd ergonomic simulation producing chairs.</p>
<p class="big">Ergonomic simulations are software used for evaluation in architectural and product design processes by imitating the average body of an end user. Body measurement databases define the shape and size of digital human models that are able to test comfort, assess safety and efficiency on virtual design prototypes. In the virtual space of the ergonomic simulation these avatars can outperform physical prototyping by being free of time and pain.</p>
<p class="big">Sisyphus subverts the ergonomic simulation process, in this case a seating material durability assessment, into a chair design method. The avatar’s data dictates the design process: By sitting on a cube for an extended period of time, the material deforms through the simulated body weight, pose and sitting time.</p>
<p class="big">To create a digital human model as stand in for a speculative future user, ergonomic simulation software is dependent on actual body data.</p>
<p class="big">Are these simulations ultimately defining and designing the human body by projecting an average user into the future?</p>
<br/>
<p class="small">An experiment by
<a href="http://technofle.sh/" target="_blank">Simone Niquille</a> &
<a href="http://frankiezafe.org/" target="_blank">François Zajega</a>.</p>
<p class="small">Built with three.js & Blender.The source code is available on
<a href="https://gitlab.com/frankiezafe/sisyphus" target="_blank">Gitlab</a>
under MIT and CCO licenses.</p>
<p class="small">Made possible with the generous support of the Belgian FWB and Creative
Industries Fund NL.</p>
<p class="small">All chairs have been produced during Simone Niquille’s installation SAFETY MEASURES in the Dutch Pavilion of the 16th Venice Architecture Biennale 2018 between the 26th of May and the 25th November 2018.</p>
</div>
</div>
<div id="inventory_preview">
<div id="inventory_panel_about" class="goto_about">
<button onclick="javascript:goto_about()">about</button>
</div>
<div id="inventory_panel_back" class="goto_back_right">
<button onclick="javascript:goto_mainmenu()">X</button>
</div>
<div id="inventory_list" class="panel_content" style="background-image:url('textures/checkboard.png')">
<!-- <div class="chair">
<img src="textures/chair-big.png"/><br/>
<div>14/05/18<br/>Production 23:46</div>
</div>
<div class="chair">
<img src="textures/chair-big.png"/><br/>
<div>14/05/18<br/>Production 23:46</div>
</div> -->
</div>
</div>
<div id="timeline">
<div id="production_duration">time info</div>
</div>
<script src="js/kiosk.js"></script>
<!-- three.js includes -->
<script src="build/three.js"></script>
<script src="js/threejs/objects/Sky.js"></script>
<script src="js/threejs/loaders/ColladaLoader.js"></script>
<script src="js/threejs/controls/OrbitControls.js"></script>
<script src="js/threejs/Detector.js"></script>
<script src="js/threejs/libs/stats.min.js"></script>
<script src="js/threejs/libs/dat.gui.min.js"></script>
<script src="js/threejs/postprocessing/EffectComposer.js"></script>
<script src="js/threejs/postprocessing/RenderPass.js"></script>
<script src="js/threejs/postprocessing/MaskPass.js"></script>
<script src="js/threejs/postprocessing/ShaderPass.js"></script>
<script src="js/threejs/shaders/CopyShader.js"></script>
<script src="js/threejs/shaders/FXAAShader.js"></script>
<script src="js/threejs/shaders/ConvolutionShader.js"></script>
<script src="js/threejs/shaders/LuminosityHighPassShader.js"></script>
<script src="js/threejs/postprocessing/UnrealBloomPass.js"></script>
<!-- sysiphus utils -->
<script src="js/utils/Basics.js"></script>
<script src="js/utils/Interpolation.js"></script>
<script src="js/utils/MorphableMesh.js"></script>
<!-- sysiphus includes -->
<script src="js/Ground.js"></script>
<script src="js/BoneScalePreset.js"></script>
<script src="js/SysiphusBone.js"></script>
<script src="js/SysiphusAvatar.js"></script>
<script src="js/PantonPouf.js"></script>
<script src="js/TimeManager.js"></script>
<script src="js/ObjectTracker.js"></script>
<!-- letś start the app -->
<script src="js/main.js"></script>
</body>
</html>
......@@ -59,6 +59,25 @@ export_files = [
'html_dst': 'index.html',
'js_dst': 'sisyphus_prod_#.js'
},
{
'html_tmpl': 'template.html',
'js_src' : [
'js/kiosk.js',
'js/utils/Basics.js',
'js/utils/Interpolation.js',
'js/utils/MorphableMesh.js',
'js/Ground.js',
'js/BoneScalePreset.js',
'js/SysiphusBone.js',
'js/SysiphusAvatar.js',
'js/PantonPouf.js',
'js/TimeManager.js',
'js/ObjectTracker.js',
'js/main.js'
],
'html_dst': 'kiosk.html',
'js_dst': 'sisyphus_kiosk_#.js'
},
{
'html_tmpl': 'template_archive.html',
'js_src' : [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment