Topic: Meerdere camerastandpunten tegelijk weergeven in game engine  (gelezen 2651 keer)


Offline Kobbe

  • Member
  • *
  • Berichten: 7
    • Bekijk profiel
« Gepost op: 04 december 2015, 15:07:39 pm »
Hallo,

Voor ons project maken wij een fietssimulator, hiervoor gebruiken we de Blender Game Engine. Om de simulatie zo realistisch mogelijk te maken willen we het vooraanzicht en het linker en rechter zijaanzicht apart projecteren via 3 beamers en 3 schermen.

Het lukt mij echter niet om via 3 camerastandpunten (http://imgur.com/k3eRV5x) de game te starten in alledrie de standpunten, en dus ook niet om deze standpunten te verplaatsen naar verschillende monitors. Iemand een idee of/hoe dit mogelijk is?

Offline Nick Van den Broeck

  • Member
  • *
  • Berichten: 216
    • Bekijk profiel
    • Blender Education
« Reactie #1 Gepost op: 04 december 2015, 15:57:50 pm »
Hmm, dat is een moeilijke.

Ik denk niet dat het standaard mogelijk is om zoiets te doen. Er wordt momenteel wel een beetje gewerkt rondom 3D, waarbij 2 camera's gebruikt worden voor het stereoscopisch effect.
Maar misschien kan je dit wel gebruiken:
http://www.tutorialsforblender3d.com/Game_Engine/Viewports/Viewport_1.html
Is eigenlijk voor een oudere versie, maar er staat ook een download linkje naast voor een voorbeeld file met 2.6.

Om dan nadien de met verschillende monitoren te werken kan je uit blender een viewport loskoppelen (net zoals je een extra editor opent, maar door ook nog shift ingedrukt te houden). Je krijgt dan een nieuw venster en die kan je wel gewoon uitstrekken over de twee schermen.

Ik zou het op deze wijze proberen. Als ik het goed begrijp heb je dan 1 viewport die je via P 'live' zet en daarin de BGE draait. Via een scriptje ga je dan die viewport opsplitsen in 3 en daarin de 3 camera's naast elkaar zetten. Schaal je dan de viewport overheen 3 evengrote schermen, dan krijg je het effect dat je zoekt.
Dat is natuurlijk nog niet ideaal, maar misschien brengt het jullie op ideeën voor een volwaardige oplossing.

Trouwens, moesten jullie iets bedenken en dan zelf schrijven om zulke dingen te doen in de BGE, dan zou dit best interessant zijn om ook aan een developer te laten zien. Het is een feature die misschien mee in de trunk (de basis versie van Blender) kan worden opgenomen indien netjes uitgewerkt.

Offline Nick Van den Broeck

  • Member
  • *
  • Berichten: 216
    • Bekijk profiel
    • Blender Education
« Reactie #2 Gepost op: 04 december 2015, 16:10:35 pm »
Nog een optie, maar nog veel ingewikkelder:

Gebruik 3 keer Blender en laat daarin 3 BGE's draaien. Die draaien dan volledig los van elkaar. Dit kan je ook op 3 verschillende pc's doen.
Wat je dan kan doen is zelf code schrijven die via het netwerk of zoiets de communicatie tussen de 3 BGE's verzorgt en zo de 3 games op elkaar afstemt.

Dat is ruwweg dezelfde manier als waarop hedendaagse games online spelen. Iedereen zijn eigen versie van de game/map en belangrijke posities van objecten en zo worden gecommuniceerd met elkaar. Er is dan meestal 1 master die dingen bepaalt zoals de posities van de auto's en enkele childs die enkel weergeven en hun eigen invloed melden.

Als je deze weg wilt volgen kan je misschien hier en start vinden: http://wiki.blender.org/index.php/Doc:2.4/Books/GameKit_2/09.Basic_Networking
Ook voor een oudere versie, maar ik weet niet of er veel veranderd is in de hedendaagse game engine.

Als je wilt kan ik het wel eens vragen bij iemand die meer bij de BGE betrokken is. Ik denk dat we enige tijd terug bij de BBUG in België een spreker hadden die gewerkt heeft of misschien nog steeds werkt bij de ontwikkeling van de BGE. Moet ik daar eens achter horen?

Offline IJp

  • *
  • Berichten: 4,385
    • Bekijk profiel
    • IJpart
« Reactie #3 Gepost op: 04 december 2015, 16:15:00 pm »
Misschien heb je hier wat aan.

https://www.youtube.com/watch?v=8hkGRJ7kg-M