Three.js: Окно измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ сторон

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 27 Π΄Π΅ΠΊ. 2010  Β·  13ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: mrdoob/three.js

Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½:
Π― Ρ…ΠΎΡ‚Π΅Π» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°,

window.addEventListener( 'resize', onWindowResize, false );
function onWindowResize(){
    renderer.setSize( window.innerWidth, window.innerHeight );
}

Π­Ρ‚ΠΎ "Π² основном" Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ†Π²Π΅Ρ‚ частиц сбрасываСтся Π½Π° Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ, Π° ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон Π½Π΅ обновляСтся, прСвращая ΡˆΠ°Ρ€Ρ‹ Π² яйца ... ΠΈ я Π½Π΅ знаю, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Бпасибо :-)

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ:

window.addEventListener( 'resize', onWindowResize, false );

function onWindowResize(){

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    renderer.setSize( window.innerWidth, window.innerHeight );

}

ВсС 13 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ:

window.addEventListener( 'resize', onWindowResize, false );

function onWindowResize(){

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    renderer.setSize( window.innerWidth, window.innerHeight );

}

Π£ мСня Π΅ΡΡ‚ΡŒ Β«divΒ» с динамичСскими Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° Π˜Π›Π˜ ΠΊΠΎΠ³Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты Π½Π° страницС скрыты. Когда этот ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Β«divΒ» измСняСтся, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ холст ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ» div. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ $ ('# center-pane'). Width () ΠΈ .height () для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСти, которая ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ заполняСт "center" div ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ, Π½ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€.

ВСорСтичСски я ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΠΎΠΈΡ… сцСнариСв измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρƒ мСня ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с camera.updateProjectionMatrix () ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π£ мСня Π΅ΡΡ‚ΡŒ alert () Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ ΠΎΠ½ срабатываСт ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, поэтому я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ ΠΈ срСдство Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

МнС Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° холстС Π±Ρ‹Π»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, для Ρ‡Π΅Π³ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ функция, Π½ΠΎ Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π²Π΅Ρ€Π½ΠΎ?
Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ CombinedCamera. (Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ Π½Π΅ΠΌΡƒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€);

Π― Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ этот ΠΌΠ°ΠΊΠ΅Ρ‚: http://layout.jquery-dev.net/demos/simple.html
МнС Π½ΡƒΠΆΠ½Π° функция измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ динамичСски Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ "ui-center-pane" Π±Π΅Π· ΠΊΠ½ΠΎΠΏΠΊΠΈ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

Благодаря,
Brent

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Π½ΠΎ я Π½Π΅ понимаю, Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ объяснСниС?

Π₯ΠΎΡ€ΠΎΡˆΠΎ, прости.

  1. НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ мСня с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ CombinedCamera
  2. ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° появляСтся сообщСниС ΠΎΠ± отсутствии ΠΌΠ΅Ρ‚ΠΎΠ΄Π° updateProjectionMatrix ().
  3. Как ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ слСдуСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. (Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ это влияСт Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π»ΡƒΡ‡ΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий)

Brent

1 НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ мСня с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ CombinedCamera

Π­Ρ‚ΠΎ СдинствСнноС, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ:
https://github.com/mrdoob/three.js/blob/master/src/extras/cameras/CombinedCamera.js

2 ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° появляСтся сообщСниС ΠΎΠ± отсутствии ΠΌΠ΅Ρ‚ΠΎΠ΄Π° updateProjectionMatrix ().

Когда я ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠΆΡƒ Π½Π° http://layout.jquery-dev.net/demos/simple.html ΠΈ мСняю Ρ€Π°Π·ΠΌΠ΅Ρ€ страницы, я Π½Π΅ Π²ΠΈΠΆΡƒ Ρ‚Π°ΠΊΠΎΠΉ ошибки. Π― Π²ΠΈΠΆΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Uncaught TypeError: Object #<Object> has no method 'getCookie'

3 Как ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ слСдуСт ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. (Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ это влияСт Π½Π° ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Π»ΡƒΡ‡ΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий)

Π’Π°ΠΌ слСдуСт ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ сторон ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ (ΡˆΠΈΡ€ΠΈΠ½Π° / высота). И установитС Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ для Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π°. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° влияСт Π½Π° Π»ΡƒΡ‡, Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² # 988.

camera.aspect = ΡˆΠΈΡ€ΠΈΠ½Π° / высота; Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ camera.updateProjectionMatrix () Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π­Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с ΠΌΠΎΠΈΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ функция onWindowResize ().

Бсылка UI-Layout Π±Ρ‹Π»Π° Π½Π° ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΠΎΠΉ ссылкой? camera ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ updateProjectionMatrix() .

Π’ΠΎΡ‚ ΠΌΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:
https://github.com/BioInfoBrent/BIOINFORMATICS
Π€Π°ΠΉΠ»:
Π‘Π˜ΠžΠ˜ΠΠ€ΠžΠ ΠœΠΠ’Π˜ΠšΠ / js / networkMain.js

БСйчас ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° части, Π² сСрСдинС сСмСстра Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ контролировался ΠΎΠ΄Π½ΠΈΠΌ большим заявлСниСм "SWITCH", я Π² процСссС ΠΏΠΎΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ с этим.

Π― Π·Π°Π²Π΅Ρ€ΡˆΡƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π² ΠΊΠΎΠ½Ρ†Π΅ Π½Π΅Π΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ освободит ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ фактичСской стороной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° THREE.js. Π£ мСня Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ нСсколько вопросов, ΠΈ я смогу Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ свои вопросы Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· дСнь ΠΈΠ»ΠΈ Π΄Π²Π°.

Ах я Π²ΠΈΠΆΡƒ. CombinedCamera camera Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ updateProjectionMatrix() .

@ zz85 : ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ updateProjectionMatrix() ΠΌΠ΅Ρ‚ΠΎΠ΄ CombinedCamera ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ updateProjectionMatrix() ΠΊΠ°ΠΊ для cameraO ΠΈ для cameraP ?

Бпасибо! Π― ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŽ это. Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° ΠΌΠΎΠ΅ΠΌ сСрвСрС.
АдрСс: http://cas-biodb.cas.unt.edu/bionet/dev.html
-Кнопка "Π‘Π΅Ρ‚ΡŒ" Π²Π²Π΅Ρ€Ρ…Ρƒ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ СдинствСнная рабочая Ρ‡Π°ΡΡ‚ΡŒ.

Благодаря!

Для мСня это Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

camera.aspect = 1;
camera.updateProjectionMatrix ();
renderer.setSize (window.innerWidth, window.innerHeight);

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ 66 ΠΈ звоню

window.addEventListener( 'resize', onWindowResize, false );

function onWindowResize(){

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    renderer.setSize( window.innerWidth, window.innerHeight );

}

Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для CombinedCamera . ВмСсто этого ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅

function onWindowResize(){

    if(camera.inPerspectiveMode){
        camera.cameraP.aspect = window.innerWidth / window.innerHeight;
        camera.cameraP.updateProjectionMatrix();
    }
    else{
        camera.cameraO.left = window.innerWidth / - 2;
        camera.cameraO.right = window.innerWidth / 2;
        camera.cameraO.top = window.innerHeight / 2;
        camera.cameraO.bottom = window.innerHeight / - 2;
        camera.cameraO.updateProjectionMatrix();
    }

    renderer.setSize( window.innerWidth, window.innerHeight );

}

Π― Ρ…ΠΎΡ‡Ρƒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ glft Π² React Three Fibre

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ