primocode 10.16.0 → 10.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSES/edit-ia-pro.txt +32 -0
- package/LICENSES/fontes-OFL.txt +476 -0
- package/LICENSES/hyperframes-Apache-2.0.txt +205 -0
- package/LICENSES/permanent-marker-Apache-2.0.txt +204 -0
- package/LICENSES/selfie-multiclass-Apache-2.0.txt +227 -0
- package/LICENSES/three-MIT.txt +23 -0
- package/LICENSES/video-use-MIT.txt +24 -0
- package/LICENSES/woven-sfx-CC0.txt +16 -0
- package/LICENSES/yunet-MIT.txt +21 -0
- package/README.md +2 -2
- package/bin/primocode.js +11 -2
- package/editor/LICENSE.md +11 -0
- package/editor/README.md +321 -0
- package/editor/SKILL.md +307 -0
- package/editor/THIRD_PARTY_NOTICES.md +228 -0
- package/editor/assets/baixar.json +591 -0
- package/editor/assets/fonts/anton/OFL.txt +93 -0
- package/editor/assets/fonts/caveat/OFL.txt +93 -0
- package/editor/assets/fonts/figtree/OFL.txt +93 -0
- package/editor/assets/fonts/fonts.json +10 -0
- package/editor/assets/fonts/montserrat/OFL.txt +93 -0
- package/editor/assets/fonts/permanentmarker/LICENSE.txt +202 -0
- package/editor/assets/models/SELFIE_MULTICLASS_LICENSE.txt +227 -0
- package/editor/assets/models/YUNET_LICENSE.txt +21 -0
- package/editor/assets/sfx/licencas/bass_drop.txt +32 -0
- package/editor/assets/sfx/licencas/cash.txt +76 -0
- package/editor/assets/sfx/licencas/charge.txt +31 -0
- package/editor/assets/sfx/licencas/click.txt +46 -0
- package/editor/assets/sfx/licencas/coin.txt +50 -0
- package/editor/assets/sfx/licencas/count.txt +47 -0
- package/editor/assets/sfx/licencas/data.txt +31 -0
- package/editor/assets/sfx/licencas/error.txt +32 -0
- package/editor/assets/sfx/licencas/flash.txt +31 -0
- package/editor/assets/sfx/licencas/gears.txt +82 -0
- package/editor/assets/sfx/licencas/keyboard.txt +48 -0
- package/editor/assets/sfx/licencas/metal_hit.txt +62 -0
- package/editor/assets/sfx/licencas/metal_riser.txt +61 -0
- package/editor/assets/sfx/licencas/mouse_click.txt +50 -0
- package/editor/assets/sfx/licencas/notification.txt +54 -0
- package/editor/assets/sfx/licencas/pop.txt +38 -0
- package/editor/assets/sfx/licencas/rewind.txt +32 -0
- package/editor/assets/sfx/licencas/rise.txt +46 -0
- package/editor/assets/sfx/licencas/sinteticos.txt +21 -0
- package/editor/assets/sfx/licencas/snap.txt +50 -0
- package/editor/assets/sfx/licencas/success.txt +40 -0
- package/editor/assets/sfx/licencas/synth_hit.txt +32 -0
- package/editor/assets/sfx/licencas/tick.txt +14 -0
- package/editor/assets/sfx/licencas/whoosh.txt +47 -0
- package/editor/assets/sfx/licencas/wind.txt +31 -0
- package/editor/assets/sfx/sfx.json +832 -0
- package/editor/assets/sfx/sfx_sinteticos.json +317 -0
- package/editor/assets/sfx/sfx_woven.json +387 -0
- package/editor/assets/sfx/woven/LICENCA.md +16 -0
- package/editor/fichas/briefing-do-video.md +45 -0
- package/editor/fichas/conferencia-da-amostra.md +56 -0
- package/editor/fichas/matriz-de-ganchos.csv +3 -0
- package/editor/fichas/padrao.json +16 -0
- package/editor/fichas/planilha-de-cenas.csv +4 -0
- package/editor/fichas/planilha-de-versoes.csv +4 -0
- package/editor/fichas/plano-em-blocos.md +32 -0
- package/editor/fichas/registro-de-materiais.json +27 -0
- package/editor/helpers/assets_ocr/ocr_vision.swift +41 -0
- package/editor/helpers/bordas_precisas.py +272 -0
- package/editor/helpers/camera_viva.py +426 -0
- package/editor/helpers/captions.py +601 -0
- package/editor/helpers/common.py +308 -0
- package/editor/helpers/compose_final.py +3555 -0
- package/editor/helpers/conferir_corte.py +234 -0
- package/editor/helpers/conferir_dados.py +405 -0
- package/editor/helpers/contact_sheet.py +282 -0
- package/editor/helpers/corte_por_onda.py +433 -0
- package/editor/helpers/corte_seco.py +595 -0
- package/editor/helpers/denoise.py +971 -0
- package/editor/helpers/efeitos.py +408 -0
- package/editor/helpers/efeitos_gerar.py +159 -0
- package/editor/helpers/elevenlabs_api.py +442 -0
- package/editor/helpers/face_layout.py +570 -0
- package/editor/helpers/fetch_images.py +423 -0
- package/editor/helpers/ganho_por_trecho.py +214 -0
- package/editor/helpers/gen_image.py +312 -0
- package/editor/helpers/gen_music.py +316 -0
- package/editor/helpers/gen_sfx.py +148 -0
- package/editor/helpers/grade.py +307 -0
- package/editor/helpers/icloud.py +119 -0
- package/editor/helpers/make_sfx.py +940 -0
- package/editor/helpers/matte.py +1342 -0
- package/editor/helpers/medir_referencia.py +2232 -0
- package/editor/helpers/mixar_trilha.py +354 -0
- package/editor/helpers/montar_corte.py +295 -0
- package/editor/helpers/motion/__init__.py +13 -0
- package/editor/helpers/motion/engine.py +1915 -0
- package/editor/helpers/motion/registry.py +510 -0
- package/editor/helpers/motion/render.py +665 -0
- package/editor/helpers/motion/templates/barra_progresso.py +370 -0
- package/editor/helpers/motion/templates/carimbo.py +132 -0
- package/editor/helpers/motion/templates/checklist.py +271 -0
- package/editor/helpers/motion/templates/comentario_cta.py +380 -0
- package/editor/helpers/motion/templates/contador.py +222 -0
- package/editor/helpers/motion/templates/destaque.py +263 -0
- package/editor/helpers/motion/templates/etiqueta_preco.py +461 -0
- package/editor/helpers/motion/templates/grafico_barras.py +510 -0
- package/editor/helpers/motion/templates/grafico_linha.py +462 -0
- package/editor/helpers/motion/templates/notificacao.py +266 -0
- package/editor/helpers/motion/templates/palavra_impacto.py +410 -0
- package/editor/helpers/motion/templates/passos.py +321 -0
- package/editor/helpers/motion/templates/riscado.py +298 -0
- package/editor/helpers/motion/templates/selo_garantia.py +150 -0
- package/editor/helpers/motion_render.py +241 -0
- package/editor/helpers/motion_sugerir.py +961 -0
- package/editor/helpers/noise_check.py +134 -0
- package/editor/helpers/pack_transcripts.py +223 -0
- package/editor/helpers/palavras_na_onda.py +176 -0
- package/editor/helpers/plano_sfx.py +839 -0
- package/editor/helpers/portao.py +427 -0
- package/editor/helpers/preview_server.py +1177 -0
- package/editor/helpers/rastrear_rosto.py +298 -0
- package/editor/helpers/render_cut.py +1256 -0
- package/editor/helpers/respiros.py +89 -0
- package/editor/helpers/sincronizar_cameras.py +571 -0
- package/editor/helpers/speech_regions.py +423 -0
- package/editor/helpers/style_catalog.json +231 -0
- package/editor/helpers/style_samples.py +246 -0
- package/editor/helpers/tela_verde.py +2113 -0
- package/editor/helpers/text_render.py +2059 -0
- package/editor/helpers/texto_na_tela.py +366 -0
- package/editor/helpers/timeline_view.py +292 -0
- package/editor/helpers/tira_de_quadros.py +113 -0
- package/editor/helpers/transcribe.py +734 -0
- package/editor/helpers/transcribe_batch.py +129 -0
- package/editor/helpers/trilhas.py +1146 -0
- package/editor/helpers/trilhas_humores.json +66 -0
- package/editor/helpers/valores.py +187 -0
- package/editor/helpers/verify_cut.py +820 -0
- package/editor/helpers/voice_levels.py +233 -0
- package/editor/helpers/voz_check.py +386 -0
- package/editor/helpers/voz_limpa.py +81 -0
- package/editor/helpers/watch_preview.py +372 -0
- package/editor/modelo-projeto/LEIA.md +402 -0
- package/editor/modelo-projeto/assets/fontes/OFL-Caveat.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/OFL-JetBrainsMono.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/OFL-Montserrat.txt +93 -0
- package/editor/modelo-projeto/assets/fontes/larguras.json +1 -0
- package/editor/modelo-projeto/assets/three/BufferGeometryUtils.js +1438 -0
- package/editor/modelo-projeto/assets/three/GLTFLoader.js +4895 -0
- package/editor/modelo-projeto/assets/three/LICENSE +21 -0
- package/editor/modelo-projeto/assets/three/ORIGEM.txt +17 -0
- package/editor/modelo-projeto/assets/three/RoomEnvironment.js +185 -0
- package/editor/modelo-projeto/assets/three/three.core.min.js +6 -0
- package/editor/modelo-projeto/assets/three/three.module.min.js +6 -0
- package/editor/modelo-projeto/build.py +4828 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_antes_depois.html +199 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_arquivo.html +232 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_busca.html +315 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_comando.html +304 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_conversa.html +217 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_esquema.html +289 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_medidor.html +249 -0
- package/editor/modelo-projeto/compositions/cenas/2d/k2d_notas.html +233 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_caminho.html +197 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_explodida.html +152 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_tela.html +167 -0
- package/editor/modelo-projeto/compositions/cenas/3d/k3d_volume.html +124 -0
- package/editor/modelo-projeto/compositions/cenas/3d/motor-three.js +728 -0
- package/editor/modelo-projeto/compositions/cenas/LEIA.md +177 -0
- package/editor/modelo-projeto/ferramentas/medir_fontes.py +65 -0
- package/editor/modelo-projeto/ferramentas/pessoa_recortada.py +176 -0
- package/editor/modelo-projeto/ferramentas/rastrear_maos.py +189 -0
- package/editor/modelo-projeto/hyperframes.json +12 -0
- package/editor/modelo-projeto/package.json +11 -0
- package/editor/modelo-projeto/projeto.json +16 -0
- package/editor/preview/app.css +1009 -0
- package/editor/preview/app.js +2122 -0
- package/editor/preview/index.html +307 -0
- package/editor/pyproject.toml +23 -0
- package/editor/references/3d.md +236 -0
- package/editor/references/animacao-catalogo.md +672 -0
- package/editor/references/animacao.md +498 -0
- package/editor/references/comandos.md +92 -0
- package/editor/references/corte-seco-como-funciona.md +50 -0
- package/editor/references/corte-seco.md +88 -0
- package/editor/references/corte.md +290 -0
- package/editor/references/direcao-por-blocos.md +218 -0
- package/editor/references/enquadramento.md +654 -0
- package/editor/references/estilos-prontos.md +355 -0
- package/editor/references/estudio.md +100 -0
- package/editor/references/exemplo-eventos.json +67 -0
- package/editor/references/lettering.md +252 -0
- package/editor/references/modelos.md +494 -0
- package/editor/references/phase2.md +1007 -0
- package/editor/references/referencia-aplicar.md +203 -0
- package/editor/references/referencia-medir.md +375 -0
- package/editor/references/revisao.md +335 -0
- package/editor/references/som-e-trilha.md +146 -0
- package/editor/references/tabela-de-sons.md +130 -0
- package/editor/references/variacoes.md +234 -0
- package/editor/uv.lock +1141 -0
- package/lib/act.js +36 -8
- package/lib/catalogo.js +4 -0
- package/lib/chamada-torta.js +81 -0
- package/lib/editor-pro.js +786 -0
- package/lib/entrega.js +58 -0
- package/lib/estudio/conferencia-visual.js +76 -0
- package/lib/estudio/diretor.js +6 -1
- package/lib/estudio/exportar.js +3 -1
- package/lib/estudio/gosto.js +45 -4
- package/lib/estudio/index.js +8 -5
- package/lib/estudio/kit-ae/base.jsx +119 -13
- package/lib/estudio/kit-ae/cenas.jsx +47 -15
- package/lib/estudio/kit-ae/guarda.jsx +274 -0
- package/lib/estudio/kit-ae/primitivas.jsx +180 -24
- package/lib/estudio/maquina-diretor.js +61 -7
- package/lib/estudio/maquina-foto.js +177 -0
- package/lib/estudio/maquina-guarda.js +207 -0
- package/lib/estudio/maquina-layout.js +22 -1
- package/lib/estudio/maquina.js +60 -11
- package/lib/estudio/referencias.js +1 -1
- package/lib/estudio/visao/visao.swift +97 -0
- package/lib/estudio/visao.js +60 -0
- package/lib/local/cerebro.json +192 -6
- package/lib/local/motor.js +5 -2
- package/lib/nuvem.js +11 -1
- package/lib/passagem.js +50 -0
- package/lib/perigo.js +19 -11
- package/lib/protecao.js +134 -0
- package/lib/titulo-conversa.js +46 -0
- package/lib/tools.js +3 -0
- package/lib/ui.js +1 -1
- package/package.json +3 -2
- package/skills/editar-meu-video/SKILL.md +6 -2
- package/skills/editar-video/SKILL.md +113 -0
- package/studio/pessoa.py +52 -0
- package/voz/primo_voz/app.py +43 -4
- package/voz/primo_voz/chat.html +17 -6
- package/voz/primo_voz/painel_dados.py +134 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright © 2010-2025 three.js authors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
three.js r181 (npm three@0.181.2), licença MIT: o texto está em LICENSE, nesta pasta.
|
|
2
|
+
Baixado de https://registry.npmjs.org/three/-/three-0.181.2.tgz
|
|
3
|
+
(integridade sha512-k/CjiZ80bYss6Qs7/ex1TBlPD11whT9oKfT8oTGiHa34W4JRd1NiH/Tr1DbHWQ2/vMUypxksLnF2CfmlmM5XFQ==).
|
|
4
|
+
|
|
5
|
+
Iguais ao pacote (sha256):
|
|
6
|
+
979c1ae4b0579c9901eacf797602c0b46df129d87102c6443d14be4a1f790b70 three.module.min.js (build/)
|
|
7
|
+
295a28f4a9786dd24a2a357a4ce90921eb041127e53a508335b9a0556c1e0875 three.core.min.js (build/)
|
|
8
|
+
bfe119ea4fd413f5f7ca3fcd63adb0c4a073ed39daa2fe7d3e6b769e21272601 LICENSE
|
|
9
|
+
|
|
10
|
+
Com uma mudança só (os imports de 'three' e de '../utils/' apontam para os arquivos desta pasta, para rodar
|
|
11
|
+
sem import map e sem internet; o resto é o arquivo original):
|
|
12
|
+
GLTFLoader.js (examples/jsm/loaders/)
|
|
13
|
+
BufferGeometryUtils.js (examples/jsm/utils/, usado pelo GLTFLoader)
|
|
14
|
+
RoomEnvironment.js (examples/jsm/environments/, a luz ambiente das cenas)
|
|
15
|
+
|
|
16
|
+
Quem usa: compositions/cenas/3d/motor-three.js (o motor das cenas 3D do kit). Nada aqui é baixado na hora do
|
|
17
|
+
render: a cena carrega estes arquivos da pasta do projeto.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// Arquivo do three.js r181 (npm three@0.181.2, examples/jsm/environments/RoomEnvironment.js), licença MIT (LICENSE nesta pasta).
|
|
2
|
+
// Única mudança: os imports de 'three' e de '../utils/' apontam para os arquivos desta pasta, para funcionar
|
|
3
|
+
// sem import map e sem internet.
|
|
4
|
+
import {
|
|
5
|
+
BackSide,
|
|
6
|
+
BoxGeometry,
|
|
7
|
+
InstancedMesh,
|
|
8
|
+
Mesh,
|
|
9
|
+
MeshLambertMaterial,
|
|
10
|
+
MeshStandardMaterial,
|
|
11
|
+
PointLight,
|
|
12
|
+
Scene,
|
|
13
|
+
Object3D,
|
|
14
|
+
} from './three.module.min.js';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This class represents a scene with a basic room setup that can be used as
|
|
18
|
+
* input for {@link PMREMGenerator#fromScene}. The resulting PMREM represents the room's
|
|
19
|
+
* lighting and can be used for Image Based Lighting by assigning it to {@link Scene#environment}
|
|
20
|
+
* or directly as an environment map to PBR materials.
|
|
21
|
+
*
|
|
22
|
+
* The implementation is based on the [EnvironmentScene](https://github.com/google/model-viewer/blob/master/packages/model-viewer/src/three-components/EnvironmentScene.ts)
|
|
23
|
+
* component from the `model-viewer` project.
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* const environment = new RoomEnvironment();
|
|
27
|
+
* const pmremGenerator = new THREE.PMREMGenerator( renderer );
|
|
28
|
+
*
|
|
29
|
+
* const envMap = pmremGenerator.fromScene( environment ).texture;
|
|
30
|
+
* scene.environment = envMap;
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @augments Scene
|
|
34
|
+
* @three_import import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';
|
|
35
|
+
*/
|
|
36
|
+
class RoomEnvironment extends Scene {
|
|
37
|
+
|
|
38
|
+
constructor() {
|
|
39
|
+
|
|
40
|
+
super();
|
|
41
|
+
|
|
42
|
+
const geometry = new BoxGeometry();
|
|
43
|
+
geometry.deleteAttribute( 'uv' );
|
|
44
|
+
|
|
45
|
+
const roomMaterial = new MeshStandardMaterial( { side: BackSide } );
|
|
46
|
+
const boxMaterial = new MeshStandardMaterial();
|
|
47
|
+
|
|
48
|
+
const mainLight = new PointLight( 0xffffff, 900, 28, 2 );
|
|
49
|
+
mainLight.position.set( 0.418, 16.199, 0.300 );
|
|
50
|
+
this.add( mainLight );
|
|
51
|
+
|
|
52
|
+
const room = new Mesh( geometry, roomMaterial );
|
|
53
|
+
room.position.set( - 0.757, 13.219, 0.717 );
|
|
54
|
+
room.scale.set( 31.713, 28.305, 28.591 );
|
|
55
|
+
this.add( room );
|
|
56
|
+
|
|
57
|
+
const boxes = new InstancedMesh( geometry, boxMaterial, 6 );
|
|
58
|
+
const transform = new Object3D();
|
|
59
|
+
|
|
60
|
+
// box1
|
|
61
|
+
transform.position.set( - 10.906, 2.009, 1.846 );
|
|
62
|
+
transform.rotation.set( 0, - 0.195, 0 );
|
|
63
|
+
transform.scale.set( 2.328, 7.905, 4.651 );
|
|
64
|
+
transform.updateMatrix();
|
|
65
|
+
boxes.setMatrixAt( 0, transform.matrix );
|
|
66
|
+
|
|
67
|
+
// box2
|
|
68
|
+
transform.position.set( - 5.607, - 0.754, - 0.758 );
|
|
69
|
+
transform.rotation.set( 0, 0.994, 0 );
|
|
70
|
+
transform.scale.set( 1.970, 1.534, 3.955 );
|
|
71
|
+
transform.updateMatrix();
|
|
72
|
+
boxes.setMatrixAt( 1, transform.matrix );
|
|
73
|
+
|
|
74
|
+
// box3
|
|
75
|
+
transform.position.set( 6.167, 0.857, 7.803 );
|
|
76
|
+
transform.rotation.set( 0, 0.561, 0 );
|
|
77
|
+
transform.scale.set( 3.927, 6.285, 3.687 );
|
|
78
|
+
transform.updateMatrix();
|
|
79
|
+
boxes.setMatrixAt( 2, transform.matrix );
|
|
80
|
+
|
|
81
|
+
// box4
|
|
82
|
+
transform.position.set( - 2.017, 0.018, 6.124 );
|
|
83
|
+
transform.rotation.set( 0, 0.333, 0 );
|
|
84
|
+
transform.scale.set( 2.002, 4.566, 2.064 );
|
|
85
|
+
transform.updateMatrix();
|
|
86
|
+
boxes.setMatrixAt( 3, transform.matrix );
|
|
87
|
+
|
|
88
|
+
// box5
|
|
89
|
+
transform.position.set( 2.291, - 0.756, - 2.621 );
|
|
90
|
+
transform.rotation.set( 0, - 0.286, 0 );
|
|
91
|
+
transform.scale.set( 1.546, 1.552, 1.496 );
|
|
92
|
+
transform.updateMatrix();
|
|
93
|
+
boxes.setMatrixAt( 4, transform.matrix );
|
|
94
|
+
|
|
95
|
+
// box6
|
|
96
|
+
transform.position.set( - 2.193, - 0.369, - 5.547 );
|
|
97
|
+
transform.rotation.set( 0, 0.516, 0 );
|
|
98
|
+
transform.scale.set( 3.875, 3.487, 2.986 );
|
|
99
|
+
transform.updateMatrix();
|
|
100
|
+
boxes.setMatrixAt( 5, transform.matrix );
|
|
101
|
+
|
|
102
|
+
this.add( boxes );
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
// -x right
|
|
106
|
+
const light1 = new Mesh( geometry, createAreaLightMaterial( 50 ) );
|
|
107
|
+
light1.position.set( - 16.116, 14.37, 8.208 );
|
|
108
|
+
light1.scale.set( 0.1, 2.428, 2.739 );
|
|
109
|
+
this.add( light1 );
|
|
110
|
+
|
|
111
|
+
// -x left
|
|
112
|
+
const light2 = new Mesh( geometry, createAreaLightMaterial( 50 ) );
|
|
113
|
+
light2.position.set( - 16.109, 18.021, - 8.207 );
|
|
114
|
+
light2.scale.set( 0.1, 2.425, 2.751 );
|
|
115
|
+
this.add( light2 );
|
|
116
|
+
|
|
117
|
+
// +x
|
|
118
|
+
const light3 = new Mesh( geometry, createAreaLightMaterial( 17 ) );
|
|
119
|
+
light3.position.set( 14.904, 12.198, - 1.832 );
|
|
120
|
+
light3.scale.set( 0.15, 4.265, 6.331 );
|
|
121
|
+
this.add( light3 );
|
|
122
|
+
|
|
123
|
+
// +z
|
|
124
|
+
const light4 = new Mesh( geometry, createAreaLightMaterial( 43 ) );
|
|
125
|
+
light4.position.set( - 0.462, 8.89, 14.520 );
|
|
126
|
+
light4.scale.set( 4.38, 5.441, 0.088 );
|
|
127
|
+
this.add( light4 );
|
|
128
|
+
|
|
129
|
+
// -z
|
|
130
|
+
const light5 = new Mesh( geometry, createAreaLightMaterial( 20 ) );
|
|
131
|
+
light5.position.set( 3.235, 11.486, - 12.541 );
|
|
132
|
+
light5.scale.set( 2.5, 2.0, 0.1 );
|
|
133
|
+
this.add( light5 );
|
|
134
|
+
|
|
135
|
+
// +y
|
|
136
|
+
const light6 = new Mesh( geometry, createAreaLightMaterial( 100 ) );
|
|
137
|
+
light6.position.set( 0.0, 20.0, 0.0 );
|
|
138
|
+
light6.scale.set( 1.0, 0.1, 1.0 );
|
|
139
|
+
this.add( light6 );
|
|
140
|
+
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Frees internal resources. This method should be called
|
|
145
|
+
* when the environment is no longer required.
|
|
146
|
+
*/
|
|
147
|
+
dispose() {
|
|
148
|
+
|
|
149
|
+
const resources = new Set();
|
|
150
|
+
|
|
151
|
+
this.traverse( ( object ) => {
|
|
152
|
+
|
|
153
|
+
if ( object.isMesh ) {
|
|
154
|
+
|
|
155
|
+
resources.add( object.geometry );
|
|
156
|
+
resources.add( object.material );
|
|
157
|
+
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
} );
|
|
161
|
+
|
|
162
|
+
for ( const resource of resources ) {
|
|
163
|
+
|
|
164
|
+
resource.dispose();
|
|
165
|
+
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function createAreaLightMaterial( intensity ) {
|
|
173
|
+
|
|
174
|
+
// create an emissive-only material. see #31348
|
|
175
|
+
const material = new MeshLambertMaterial( {
|
|
176
|
+
color: 0x000000,
|
|
177
|
+
emissive: 0xffffff,
|
|
178
|
+
emissiveIntensity: intensity
|
|
179
|
+
} );
|
|
180
|
+
|
|
181
|
+
return material;
|
|
182
|
+
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { RoomEnvironment };
|