Jump to content

Telebim. Widok z kamery w realnym czasie.


Recommended Posts

Posted

Witam. Jak, że jestem początkującym 'programistą' w języku LUA na wstępie pragnę powitać całą społeczność programistów.

Chciałbym prosić o nakierowanie w jaki sposób mogę uzyskać następujący efekt:

  • Wyświetlenie obrazu na np. billboardzie w wcześniej ustawionej kamery na jakiś punkt
  • Ewentualne zmiany ww. punktu w jakichś odstępach czasowych

Czy użycie niżej podanych funkcji będzie w stanie coś takiego zrobić?

dxCreateScreenSource 

DxDrawImage 

fadeCamera 

setCameraTarget 

Proszę o nakierowanie mnie w jaki sposób to zrobić, ponieważ nie mam żadnego pomysłu.

Z góry dzięki. :)

Posted

nie do końca - dxCreateScreenSource spowoduje pobranie zawartości Twojego ekranu.

sam nie mam pojęcia jak to zrobić niestety

jak znasz angielski pisz w dziale Scripting - będzie większa szansa na odpowiedź

Posted

Obecnie jedyna możliwość to zmiana kamery (setCameraMatrix / element kamery) i dopiero wtedy pobranie obrazu za pomocą dxUpdateScreenSource.

Możesz w jednej klatce przestawić kamerę, pobrać obraz i narysować poprzedni obraz. W drugiej robisz analogicznie dla miejsca, w którym stoi ped. Wtedy oba obrazy będą równie płynne i 'stracisz' połowę klatek.

Myślę, że jeśli chodzi o telebim to lepszym wyjściem było by pobieranie obrazu co jakiś czas.

Posted

Jeśli nie do końca wiesz jak zrobić to co pisze lopezloo to możesz sprawdzić mój stary projekt:

viewtopic.php?f=108&t=35931

Jeśli chcesz to możesz wykorzystać fragmenty mojego kodu, ale zapoznaj się z listą efektów ubocznych (problem z zablokowaną kamerą na 100% da się rozwiązać, ale nie do końca wiem jak...)

Po za tym musisz wiedzieć że w grach fizyka jest tylko tam gdzie jest kamera, więc jeśli awatar jest np. w LS a ty odczepisz od niego kamerę i przeniesiesz ją do SF to awatar zapadnie się pod ziemię...

Dodatkowo funcje takie jak dxCreateScreenSource mogą nie działać na starych kartach graficznych.

Jeśli chodzi o przeniesienie obrazu na bilbord to prawdopodobnie (sam tego nigdy nie robiłem, więc to może być bzdura) musisz użyć tych funkcji:

  
dxCreateScreenSource 
dxCreateTexture -- podawając ScreenSource jako "pixels" 
engineImportTXD 
  

  • 2 weeks later...
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...