Remix
https://glitch.com/~four-clock
la zona de confort
¿y que pasa con las medidas?
medida de la vista
Importante
hacia el frente es Z y va disminuyendo
Importante
¿de que esta compuesto un objeto en 3D?
¿Que es un vertice?
.dae, contiene la información del material en el mismo archivo
.obj / .mtl, dos archivos, es muy pesado, muy usado en unity, formato por defecto. el .doc de 3D
.blend, archivos exportados desde blender.
formato preferido para web. contiene un archivo .bin que debe estar en la misma ruta
json loader, three loader, etc
ecosistema glTF
Estructura de un glTF
Un Material esta compuesto de:
Luz ambiente requerida para dar color a los objetos
similar a la de ambiente pero con dos colores top/bottom
es omnidireccional y afecta a los objetos dependiendo de la distancia y material
no es omnidireccional y afecta a los objetos dependiendo de la distancia y material // la batiseñal
como una linterna
Propiedades animables
Propiedades de la animación
Tener en cuenta
A freely-moving object. Dynamic bodies have mass, collide with other objects, bounce or slow during collisions, and fall if gravity is enabled.
objetos afectados por la gravedad y por otros objetos
A fixed-position or animated object. Other objects may collide with static bodies, but static bodies themselves are unaffected by gravity and collisions.
paredes, pisos, puertas.
is the distance between the center of the pupils of the two eyes. IPD is critical for the design of binocular viewing systems, where both eye pupils need to be positioned within the exit pupils of the viewing system.
Components of A-Frame’s entity-component framework are JavaScript modules that can be mixed, matched, and composed onto entities to build appearance, behavior, and functionality. We can register component in JavaScript and use it declaratively from the DOM. Components are configurable, reusable, and shareable. Most code in an A-Frame application should live within components.
html syntax
<script>
AFRAME.registerComponent('bar', {
// ...
});
</script>
<script>
// Registering component
AFRAME.registerComponent('component-name', {
schema: {},
init: function () {},
update: function () {},
tick: function () {},
remove: function () {},
pause: function () {},
play: function () {}
});
</script>
<script>
// Registering component
AFRAME.registerComponent('bar', {
schema: {
color: {default: '#FFF'}
},
init: {
console.log(this.data.color);
}
}
</script>
<a-scene>
<a-entity bar="color: red;"></a-entity>
</a-scene>