Getragenes Objekt "Nicht Phantom" machen? Wie?

* Questions, answers and templates about scripting
* Fragen, Antworten und Beispiele zum Scripting

Getragenes Objekt "Nicht Phantom" machen? Wie?

Beitragvon Kxirya Weytana » Mi 10. Jun 2015, 18:25

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu zusammen,

ich möchte realisieren, dass ich mit meinem Bogen Prim Pfeile abschießen kann (geht schon) und
Treffer mittels eines an einen Avatar angelegten Prims auswerte (collision).
Mein problem ist, dass angelegte Prims austomatisch "phantom" werden und ich dies,
weder manuell, noch per Script, ändern kann.
Somit fliegen alle Pfeile durch das Prim hindurch.

Zwar kann der Avatar selbst getroffen werden (die Pfeile registriere eine Collision), aber diese
Treffer kan ich nicht auswertrn (Mit welchem Kommando?).
#Ich setze Prim Pfeile ein, da wir auf unserer SIM nicht nur auf Avatare schießen, sondern auch
auf bestimmte Prims in world. Deshalb geht "castray" nicht wirklich.

Danke im Voraus für Ideen und Tipps,

Kaxìrya te Weytana Nllteya'ite.
ta

Kxìrya te Weytana Nllteya'ite

[pangea@hypergrid.org]
Benutzeravatar
Kxirya Weytana
 
Beiträge: 78
Registriert: Mi 18. Feb 2015, 15:51
Wohnort: Pandora (im Alpha-Centauri Sternensystem, 4.3 LJ von der Erde entfernt)

Re: Getragenes Objekt "Nicht Phantom" machen? Wie?

Beitragvon Magnuz Binder » Do 11. Jun 2015, 20:06

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Unfortunately, attachments are always phantom, and do not interact physically, since it is very hard to calculate their actual position with an avatar which is often viewer-side animated so it is positioned and rotated in the viewer way off from the position and rotation the sim knows.

You can detect hits making the arrows physical ( llSetStatus( STATUS_PHYSICS, TRUE ); ) and volume detect ( llVolumeDetect(TRUE); ), but the hits will only register with physical prims and avatars, using the collision_start(integer num) event. Also, there are a number of caveats with volume detect, so you better check it at http://wiki.secondlife.com/wiki/LlVolumeDetect .

One often commented problem with projectiles in OpenSim, is that they sometimes pass through the target before they have time to register a hit. This is owing to the script engine (XEngine) and physics engine (OpenDynamics or BulletSim) being different than in Second Life.

There is an improved version of llCastRay in vanilla OpenSim development HEAD and the latest OSgrid releases, but not yet in Metropolis OpenSim. It can not detect attachments, owing to the reason above, but does both avatars (with ellipsoid capsules) and child prims, physical or not. It is slower than llCastRay in Second Life, and needs to be enabled by adding the parameter
UseLlCastRayV3 = true
in the section
[LL-Functions]
in OpenSim.ini
There are a lot of other parameters available to customize the new llCastRay V3 to various server performances, scenes and requirements, all explained in the OpenSimDefaults.ini
Benutzeravatar
Magnuz Binder
 
Beiträge: 286
Registriert: Fr 22. Feb 2013, 21:01
Wohnort: Stockholm, Sweden


Zurück zu Scripting

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Powered by phpBB

Deutsche Übersetzung durch phpBB.de
.

Style designed by Artodia.