entity von mousepick() ausnehmen

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Conrad
Beiträge: 27
Registriert: 06.11.2009 18:26
Computerausstattung: Win Vista 32bit , Intel Core 2 Duo CPU t5750 @2GHz
3GB RAM
Kontaktdaten:

entity von mousepick() ausnehmen

Beitrag von Conrad »

hi,
ich arbeite gerade an einr art strategiespiel und benutze als tarrain ein entity, weil ich nicht auf die vorteile gegenüber createterrain() verzichten will. mein problem liegt jetzt darin, dass man einheiten nicht mit mousepick() auswählen kann, da die box um das tarrain die box der einheit überdeckt. kann man irgentwie ein entity von mousepick() ausnehmen, sodass es für die funktion praktisch nicht exestiert?
Bild

YEYQ!!!
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: entity von mousepick() ausnehmen

Beitrag von Vermilion »

Also deine Ausdrucksweise ist nicht sehr verständlich. :freak:
Conrad hat geschrieben:ich arbeite gerade an einr art strategiespiel und benutze als tarrain ein entity, weil ich nicht auf die vorteile gegenüber createterrain() verzichten will.
Was soll das jetzt heißen? Benutzt du nun ein normales Terran oder eine Entity als Untergrund? Erst nach mehrmaligem Lesen denke ich zu wissen, was du meinst.

Abgesehen davon geht es mit der PureBasic OGRE nicht, eine Entity vom Picking auszuschließen.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Re: entity von mousepick() ausnehmen

Beitrag von dllfreak2001 »

Er meint, dass sein Terrain ein Mesh ist (eben ein Entity) und wenn da ein Objekt drauf rumläuft und er es anklicken will gibt PB nur das Terrain zurück. Weil das Picking immer die Boundingbox nutzt. Wenn dann das gewünschte Entity innerhalb der Boundingbox des Terrains ist kann es nicht "gepickt" werden.
I´a dllfreak2001
Benutzeravatar
Conrad
Beiträge: 27
Registriert: 06.11.2009 18:26
Computerausstattung: Win Vista 32bit , Intel Core 2 Duo CPU t5750 @2GHz
3GB RAM
Kontaktdaten:

Re: entity von mousepick() ausnehmen

Beitrag von Conrad »

schade. abre trozdem danke.
Bild

YEYQ!!!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: entity von mousepick() ausnehmen

Beitrag von Kaeru Gaman »

ich weiß nicht, ob es möglich ist, ein Mesh anzuzeigen das keine Entity ist...?

aber ein bissel doof ist das schon, Pick sollte die kleinste Entity wählen, wenn es auf mehreren liegt, nicht die größte.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: entity von mousepick() ausnehmen

Beitrag von DarkDragon »

Ich stand auch vor dem Problem, hab mich dann aber mit einem zeitbasierten Workaround zufrieden gegeben weils eine art Ingame Mapeditor ist der keine große Qualität braucht. Ich hab da einfach ein Entity an der Kamera platziert und in Guckrichtung bewegen lassen. Wenn es die Richtung geändert hat, dann kollidierte es und ich lass es stoppen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Re: entity von mousepick() ausnehmen

Beitrag von Vermilion »

ich weiß nicht, ob es möglich ist, ein Mesh anzuzeigen das keine Entity ist...?
Nein, siehe Hilfe.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: entity von mousepick() ausnehmen

Beitrag von DarkDragon »

Ich hätte da noch eine Möglichkeit: Zeichne das Terrain irgendwo ganz weit weg und verschiebe es durch einen Vertex oder Geometry Shader zurück.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Conrad
Beiträge: 27
Registriert: 06.11.2009 18:26
Computerausstattung: Win Vista 32bit , Intel Core 2 Duo CPU t5750 @2GHz
3GB RAM
Kontaktdaten:

Re: entity von mousepick() ausnehmen

Beitrag von Conrad »

und wie geht das? ich habe wenig erfahrung mit 3dengine von pb, weil ich erst vor 3 wochen damit angefangen hab :mrgreen:
Bild

YEYQ!!!
Benutzeravatar
Conrad
Beiträge: 27
Registriert: 06.11.2009 18:26
Computerausstattung: Win Vista 32bit , Intel Core 2 Duo CPU t5750 @2GHz
3GB RAM
Kontaktdaten:

Re: entity von mousepick() ausnehmen

Beitrag von Conrad »

kann man vieleicht die boundingbox verändern, z.B. verkleinern, sodass mousepick sie nicht mehr erwischt?
Bild

YEYQ!!!
Antworten