Autor | Zpráva | ||
---|---|---|---|
vojtak Profil |
#1 · Zasláno: 15. 9. 2009, 16:21:58
Dobrý den,
tuší někdo jak v papervisionu obtacet kameru kolem objektů a ne rotovat objekty? function sbChangeX(e:MySliderEvent):void { var xDist:Number = e.scrollPercent * 360; cube.rotationX = xDist; lines.rotationX = xDist; _world.rotationX = xDist; renderer.renderScene(scene, camera, viewport); } na scene mam napriklad tyto 3 objekty...takto s nimi otacim kolem osy kazdeho z objektu....... chtěl bych ale, aby se hýbala kamera a objekty zůstaly na místě... je to mozne? diky |
||
Steve Profil |
#2 · Zasláno: 15. 9. 2009, 19:36:20
samozřejmě, že to je možné... osobně většinou používám matematické řešení. pozici kamery lze skriptem nastavit a správnou rotaci můžeš buď spočítat a nebo snadněji kameře nastavit .lookAt(<nějaký referenční bod>). a jak se spočítá pozice kamery? to už je matematika střední školy - nápověda funkce Math.sin() a Math.cos() budeš používat velmi často :)
|
||
vojtak Profil |
#3 · Zasláno: 16. 9. 2009, 09:33:48
a lookAt je nejaka metoda objektu camera3D??
var camera:Camera3D = new Camera3D(); camera.zoom = 10; camera.focus = 100; jde mi o to, jak vubec říct kameře, aby se někam pohnula.. |
||
Steve Profil |
#4 · Zasláno: 17. 9. 2009, 18:46:39
lookAt je metoda objektu CameraObject3D, ze kterého dědí Camera3D... tím zajistíš správnou rotaci kamery, aniž bys musel něco počítat.
Já osobně řeším pohyb matematicky (jak jsem napsal výše)... spočívá to v tom, že si pohyb kamery počítám sám tak, že v každém snímku vypočítám všechny 3 souřadnice té kamery v závislosti na něčem (čase, pozice myši, aktuální rychlosti pohybu... to už je víceméně jedno) V každém snímku tedy počítám (skutečně počítám přes vzorce, které jsem si vymyslel a odvodil) vždy nové souřadnice. Poznámka - Tohle řešení používám, protože chci. Netvrdím, že je nejrychlejší, netvrdím, že je nejlepší... prostě mi vyhovuje, tak jej používám. Jde o to, že s kamerou jde hýbat úplně stejně jako s kterýmkoliv jiným objektem, protože jejím předkem je DisplayObject3D. To mimo jiné znamená, že kamera má své souřadnice x, y a z, které když měníš, tak se prostě pohybuje v prostoru. |
||
vojtak Profil |
#5 · Zasláno: 19. 9. 2009, 12:56:46
diky moc za rady.
|
||
Časová prodleva: 15 let
|
0