Elevator Question

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Elevator Question

Postby Maroonroon » Thu May 19, 2022 9:48 am

3 questions (I use Blender For Korman 0.13):

1) I have a simple elevator (Elevator1) but without cabin; it's just a platform which can go up/down.
Going down, I'm in the elevator cage, which walls needs a collider.
I tried different ways but I don't manage to get the walls collider working... It's the only problem left for this elevator.
Please, can somebody help me, please?

2) I have another elevator (Elevator2), but with 7 levels; no walls collider problem here because there's a kind of cabin which uses the same collider as the elevator floor.
In the elevator, there must be a control panel to click on (not yet built) to get a full view of it (like in Er'cana, but without avatar animation); in this full view, I should be able to go from the current level to any of the 6 other levels, clicking on 1 of the corresponding butons (I already added the needed, I think, 20 items to the collection of the Animation Plasma Modifier).
The level at which is the elevator, have to be saved in the Age's SDL.

2a) How to do the Node Tree(s) for the elevator's control panel and animations?

2b) What to add in the SDL?
Code: Select all
VAR BOOL   Elevator2CurrentFloor[7]   DEFAULT=1 #The Elevator is at the very bottom level by default.
That? Only?

Please?

:oops:

Edit: Oops, I forgot something...

3) At each level, there must be a control panel (in the level, not in the Elevator2) to click on (not yet built) to get a full view of it (like for the Elevator2); in this full view, I should be able to call the Elevator2 from any level to the current level (if I'm allowed, by a SDL variable, to be at the current level).
Please, how to do that, please?

Edit 2:
Doobes (Official Cyan Chat - writers-pub) wrote:if you want to do an SDL variable with multiple states, you'll need a VAR BYTE Elevator2CurrentFloor[1] DEFAULT=0 variable for that. Bool is just two states, but an integer can be many states, which it sounds like you want for this elevator. Each state of the integer will be a different floor, as in state 0 will be ground floor, state 1 will be first floor, state 2 will be second floor, etc.

Note that I am not sure which existing Cyan script to use to facilitate these SDL states, but presumably, it'd be one of the xAgeSDLInt... scripts.

Hopefully, that'll point you in the right direction. Only experience I've had with VAR BYTE so far is the Pub decorations. :)
FWIW, it works nicely though! Hehehe.
Presumably if the script mentions responders, that'd be the one you'd want to try.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Sat May 21, 2022 5:16 am

Maroonroon wrote:1) I have a simple elevator (Elevator1) but without cabin; it's just a platform which can go up/down.
Going down, I'm in the elevator cage, which walls needs a collider.
I tried different ways but I don't manage to get the walls collider working... It's the only problem left for this elevator.

Subworlds are completely cut-off from the rest of the world collision. Unfortunately the avatar can't ride an elevator and collide with stuff that isn't parented to the subworld itself.
The easiest way around this is to add railings that move with the elevator. Otherwise, you could add an invisible collider parented to your subworld and animate it so it blocks the avatar while the elevator is in motion, but it's more annoying to setup.

Maroonroon wrote:2) I have another elevator (Elevator2), but with 7 levels

Hmm, it's a bit tricky but I'll see if I can create an example file for you.

Maroonroon wrote:to get a full view of it (like in Er'cana, but without avatar animation);

You mean a UI (User Interface) ? This is not supported by Korman for the moment, if I remember correctly. But there may be a way to do something similar with a camera region. I'll have a look.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Sat May 21, 2022 8:43 am

Thank you for your message, Sirius. :)

Sirius wrote:
Maroonroon wrote:1) I have a simple elevator (Elevator1) but without cabin; it's just a platform which can go up/down.
Going down, I'm in the elevator cage, which walls needs a collider.
I tried different ways but I don't manage to get the walls collider working... It's the only problem left for this elevator.

Subworlds are completely cut-off from the rest of the world collision. Unfortunately the avatar can't ride an elevator and collide with stuff that isn't parented to the subworld itself.
The easiest way around this is to add railings that move with the elevator. Otherwise, you could add an invisible collider parented to your subworld and animate it so it blocks the avatar while the elevator is in motion, but it's more annoying to setup.

It's the last thing I tried, but the cage walls collider still don't work.

Sirius wrote:
Maroonroon wrote:2) I have another elevator (Elevator2), but with 7 levels

Hmm, it's a bit tricky but I'll see if I can create an example file for you.

I'd appreciate this a lot, because I don't manage to do any working Node Tree for the Elevator2...

Sirius wrote:
Maroonroon wrote:to get a full view of it (like in Er'cana, but without avatar animation);

You mean a UI (User Interface) ?

Show Spoiler


Sirius wrote:
Maroonroon wrote:to get a full view of it (like in Er'cana, but without avatar animation);

This is not supported by Korman for the moment, if I remember correctly. But there may be a way to do something similar with a camera region. I'll have a look.

Oh ok... Thanks.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Sat May 21, 2022 9:42 am

I admit, this is harder than I thought :lol: I'll continue in French while we figure this out.

Donc, j'ai réussi à faire quelquechose qui ressemble à un ascenseur à plusieurs étages, mais c'est pas encore super. Les boutons fonctionnent mais finissent par planter si on clique dessus trop rapidement (encore un bug de Plasma...).

Maroonroon, tu peux tester l'exemple suivant, STP ? Je voudrais m'assurer que c'est a peu près ce que tu veux, après j'essaierai d'améliorer le système. Pour l'instant c'est que du NodeTree assez lourd, mais plus tard je vais tenter de faire un script dédié.
https://www.dropbox.com/s/1qlkszbxpzndce0/Elevator.7z?dl=1

Maroonroon wrote:It's the last thing I tried, but the cage walls collider still don't work.

Vérifie dans le fichier au dessus, j'ai un exemple qui fonctionne (l'objet est "ElevatorInnerCollision", parenté au subworld "Subworld").

Maroonroon wrote:A "full view" example of the control panel:

En l'occurence c'est une UI (donc pas faisable avec Korman), mais il y a sûrement moyen de faire quelquechose de similaire juste en forçant la caméra à regarder le panneau de près - comme pour le puzzle d'ouverture de la porte à la fin d'Ahnonay, si tu te souviens. C'est un peu plus compliqué, mais je vais voir comment on peut faire ça...
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Sun May 22, 2022 6:56 am

Merci beaucoup Sirius, je vais regarder ça demain. :) (Tout à l'heure, vu l'heure qu'il est... :D )

@admin: Thanks for the dedicated topic. :oops:

Edit :
Sirius wrote:Donc, j'ai réussi à faire quelquechose qui ressemble à un ascenseur à plusieurs étages, mais c'est pas encore super. Les boutons fonctionnent mais finissent par planter si on clique dessus trop rapidement (encore un bug de Plasma...).

Maroonroon, tu peux tester l'exemple suivant, STP ? Je voudrais m'assurer que c'est a peu près ce que tu veux, après j'essaierai d'améliorer le système. Pour l'instant c'est que du NodeTree assez lourd, mais plus tard je vais tenter de faire un script dédié.

Wouaw, ça fonctionne parfaitement chez moi !
Oui oui, c'est exactement ce que je veux, sur le principe ; il n'y a plus qu'a faire une pseudo "UI" via caméra, pour le panneau de contrôles de l'ascenseur (pour zoomer dessus et pouvoir cliquer sur l'un des boutons des autres étages, comme, effectivement, à Ahnonay) et sur chaque panneau de contrôles des étages (car y figureront d'autres boutons en plus des boutons "Call").
Imagine que les panneaux de contrôles sont de la taille d'une petite tablette numérique, tu comprendra que je veuille zoomer. :)

Sirius wrote:
Maroonroon wrote:It's the last thing I tried, but the cage walls collider still don't work.

Vérifie dans le fichier au dessus, j'ai un exemple qui fonctionne (l'objet est "ElevatorInnerCollision", parenté au subworld "Subworld").

Là encore, effectivement, pas de problème !
Je ne comprend pas que mon fichier ne veuille pas de ma collision...
Je vais essayer de trouver pourquoi en scrutant ton fichier.

Sirius wrote:
Maroonroon wrote:A "full view" example of the control panel:

En l'occurence c'est une UI (donc pas faisable avec Korman), mais il y a sûrement moyen de faire quelquechose de similaire juste en forçant la caméra à regarder le panneau de près - comme pour le puzzle d'ouverture de la porte à la fin d'Ahnonay, si tu te souviens. C'est un peu plus compliqué, mais je vais voir comment on peut faire ça...

Ça serait parfait. :)
Je ne me suis pas encore vraiment attaqué aux caméras ; j'ai essayé une fois mais les transitions ne se faisaient pas comme je le souhaitais et je me retrouvais avec la mauvaise caméra au chargement de l'Âge... J'ai repoussé ça à plus tard, ce n'était pas une priorité. :P

Edit 2 : Pendant que j'y pense, il faut 3 choses supplémentaires :

  • On peut cliquer sur les panneaux de contrôles pour zoomer, et sur les boutons qu'ils contiennent, mais l'ascenseur ne bouge que si on est autorisé à l'utiliser ; il faut donc une variable SDL "VAR BOOL Elevator2Enabled[1] DEFAULT=0 #Non autorisé à utiliser l'ascenseur".
  • Une fois qu'on est autorisé à l'utiliser, on ne peut toujours pas monter ; il faut résoudre une 1ère énigme pour être autorisé à accéder au 1er étage, puis résoudre une 2ème énigme pour être autorisé à accéder au 2ème étage, etc...
    Il faut donc une variable SDL "VAR BYTE Elevator2Accreditation[1] DEFAULT=1 #Accès autorisé au rez de chaussée uniquement".
  • Quand l'ascenseur est au rez-de-chaussée, une ExcludeRegion* est activée pour tous les autres niveaux, de façon que des joueurs présents aux autres niveaux ne puissent pas tomber dans la cage d'ascenseur.
    Quand on a les autorisations nécessaires, si on veut aller au 1er étage par exemple, l'ExcludeRegion* du rez de chaussée est activée, l'ascenseur monte, puis l'ExcludeRegion* du 1er étage est désactivée.
    * : ExcludeRegion ou simple Collider.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Sun May 22, 2022 9:03 am

Maroonroon wrote: On peut cliquer sur les panneaux de contrôles pour zoomer, et sur les boutons qu'ils contiennent, mais l'ascenseur ne bouge que si on est autorisé à l'utiliser ; il faut donc une variable SDL "VAR BOOL Elevator2Enabled[1] DEFAULT=0 #Non autorisé à utiliser l'ascenseur".
Une fois qu'on est autorisé à l'utiliser, on ne peut toujours pas monter ; il faut résoudre une 1ère énigme pour être autorisé à accéder au 1er étage, puis résoudre une 2ème énigme pour être autorisé à accéder au 2ème étage, etc...
Il faut donc une variable SDL "VAR BYTE Elevator2Accreditation[1] DEFAULT=1 #Accès autorisé au rez de chaussée uniquement".
Quand l'ascenseur est au rez-de-chaussée, une ExcludeRegion* est activée pour tous les autres niveaux, de façon que des joueurs présents aux autres niveaux ne puissent pas tomber dans la cage d'ascenseur.
Quand on a les autorisations nécessaires, si on veut aller au 1er étage par exemple, l'ExcludeRegion* du rez de chaussée est activée, l'ascenseur monte, puis l'ExcludeRegion* du 1er étage est désactivée.
* : ExcludeRegion ou simple Collider.

Ca commence à faire pas mal de trucs :lol: Je vais voir ce qui est possible.
Ca risque de prendre un petit moment cependant, normalement je devrais avoir quelquechose dans la semaine.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Sun May 22, 2022 1:19 pm

Sirius wrote:Ca commence à faire pas mal de trucs :lol:

:oops: Et encore, il doit aussi y avoir des sons à certains étages, en fonction de celui où l'ascenseur se trouve et de celui où on veut qu'il aille, et des changements de textures sur certains objets on fonction des mêmes choses...
Je me rend bien compte que c'est probablement le(s) NodeTree(s) qui sera le plus complexe dans mes Âges, et pour cause, c'est lié au grand final (bien qu'il y aura encore de petites choses à faire ensuite) ; d'ailleurs je pense qu'il va me falloir du Python à un moment donné, peut-être même maintenant. :oops:

De mon coté je continu à me servir de ton .blend pour essayer de faire fonctionner le mien, mais a priori l'Elevator2 ne fonctionne pas...

L'Elevator1 fonctionne, la collision des murs de sa cage je veux dire, mais ça ne va pas car je ne peux pas mettre de rails (d'une part l'ascenseur n'est pas mécanique mais magnétique, d'autre part ce qui le fait fonctionner doit s'arrêter au niveau du sol de l'étage) ; du coup il me faut activer/désactiver des Colliders, mais dès que j'essaye, soit ça plante, soit les Colliders ne s'activent/désactivent pas, soit ils n'ont pas de collision (la collision du sol de l'ascenseur fonctionne toujours, elle).
Peut-être me faut-il utiliser autre chose que les nodes Enable/Disable, mais quoi utiliser alors ?

Bref, je rame un max mais n'avance pas ; je passe plus de temps à faire du debug (ou du moins à essayer) que de la construction.

D'ailleurs je crois bien qu'il y a un autre bug dans Korman/Blender... Des objets disparaissent entre 2 ouvertures du .blend...
Est-ce à cause du VPN je j'ai installé dernièrement ? Je ne vois pas pourquoi ça ferait ça, mais on est à l’abri de rien maintenant ; surtout que Bitdefender m'a déjà montré de belles aberrations, alors pourquoi pas son VPN... Quant à Microsoft, ce n'est pas mieux.
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Maroonroon » Thu Jun 09, 2022 8:10 am

Ça y est, j'ai finalement réussi à faire fonctionner l'Elevator2 à l'aide de ton .blend. :)
Par contre, le fait de sauter sur place lorsqu'il ne bouge pas me fait quitter le subworld, alors que mes regions enter/exit ne sont pas autour (contrairement à l'Elevator1 auquel on peut accéder à 360°) mais à l'entrée de l’ascenseur... :roll:

Pour l'Elevator1 j'ai pu agrandir le collider du sol afin de ne pas tomber dans le vide au moment de la transition world/subworld et vice-versa, mais pour l'Elevator2 je ne peux pas agrandir le collider, il va donc me falloir trouver la bonne mise en place de mes regions enter/exit ; ça résoudra peut-être aussi le problème de saut sur place.

J'espère que tu ne te prends pas trop la tête de ton coté... :oops:

Edit: OK, le problème de saut sur place est résolu ; pour ça j'ai mis les regions enter/exit autour plutôt qu'à l'entrée, j'ai facilement trouvé la distance à laquelle mettre les regions par rapport au collider (j'ai pris les mêmes distances que pour l'Elevator1), j'ai fait du collider un "SubworldCollider" et en ai fait une copie en tant que "WorldCollider". :)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Sun Jun 12, 2022 8:34 am

Maroonroon wrote:Edit: OK, le problème de saut sur place est résolu ; pour ça j'ai mis les regions enter/exit autour plutôt qu'à l'entrée, j'ai facilement trouvé la distance à laquelle mettre les regions par rapport au collider (j'ai pris les mêmes distances que pour l'Elevator1), j'ai fait du collider un "SubworldCollider" et en ai fait une copie en tant que "WorldCollider". :)

J'ai eu un problème similaire sur mon fichier d'exemple, et on dirait qu'on a réparé ça de la même manière.

Maroonroon wrote:J'espère que tu ne te prends pas trop la tête de ton coté... :oops:

C'était pas simple ! Entre les bugs, les bizarreries de Plasma, et les tests en multijoueur, ca m'aura prit un bon petit moment à plancher sur le sujet. Mais j'ai finalement réussi à tout faire :) Ce qui est pas plus mal parce que je pense que le résultat pourra intéresser d'autres créateurs d'Âges...
Par contre il va falloir que tu re-paramètre ton ascenseur avec le nouveau script !

Tu peux retélécharger le fichier d'exemple, ya tout dedans !

J'ai également dû réparer une petite erreur dans Korman, donc il te faudra manuellement mettre à jour vers la version de développement actuelle. Pour faire ça, tu va sur le Github, tu clique sur le bouton vert "Code" et "Download ZIP". Dans le ZIP, tu copie le contenu du dossier "korman" (tout plein de scripts Python) et tu colle le tout dans C:\Program Files\Korman 0.13\2.79\scripts\addons\korman - assure toi que ça remplace bien les fichiers originaux !


J'ai donc écris deux scripts:
  • elevElevator.py, comme son nom l'indique il gère l'ascenseur. Normalement il fait tout ce dont tu as besoin: il utilise plusieurs variables SDL pour savoir si l'ascenseur est activé, et quels étages sont disponibles. Il utilise aussi un certain nombre de responders que tu peux utiliser pour envoyer des messages quand l'ascenseur est en mouvement ou à l'arrêt, et pour chaque étage où l'ascenseur s'arrête.
    Dans l'Âge d'exemple, tu peux activer et désactiver globalement l'ascenseur via "/setsdl Elevator2PowerOn 1" (ou 0 pour le désactiver). L'étage 3 est inaccessible par défaut, puisqu'il est contrôlé par la variable SDL "Elevator2FloorEnabled_2". Un responder active automatiquement une barrière lorsque l'ascenseur est en mouvement. Et un objet vert est activé lorsque l'ascenseur s'arrête à un étage en particulier.
    Vu tout ce que ce script peut faire, ca le rend un peu complexe à utiliser. Il y a une documentation en haut du script, lis la bien, normalement ça devrait être assez explicite. Je l'ai écris en anglais vu que le script pourra intéresser d'autres personnes, mais si elle n'est pas clair n'hésite pas à me demander des explications.
  • elevConsole.py, ce script te permet de zoomer sur la console de l'ascenseur. L'idée est d'avoir un objet invisible autour de la console qui "capture" le curseur du joueur vu qu'il englobe les autres clickables. Lorsqu'il est cliqué, il se déplace derrière les autres clickables (pour ne plus les bloquer), et le jeu force la vue depuis une caméra spécifique. Pour en sortir, il suffit d'utiliser une touche directionnelle ou cliquer sur le bord de l'écran.
    Ca nécessite une petite animation contrôlée par un responder, vu que je ne peux pas complètement désactiver le clickable par script.


J'ai aussi appris quelques trucs sur les collisions et subworlds dans Plasma, je note ça ici pour la postérité.
  • Les messages "Enable/Disable" ne fonctionnent pas correctement sur les colliders dans des subworlds - les colliders ne se réactivent jamais (ou alors ils se positionnent mal ?). Du coup il faut mieux utiliser des Exclude Regions comme tu peux le voir avec l'objet "RailingXClude" dans le fichier exemple - celles ci fonctionnent correctement... A l'exception que :
  • ...Si une Exclude Region faisant partie d'un subworld est activée alors qu'un avatar se trouve dedans, tous les joueurs de l'Âge plantent :shock: Bizarre, ce genre de région ne pose pas problème lorsqu'elle est statique...
  • Les colliders animés, qui sont eux-même parentés à un objet, lui même parenté au subworld vont se positionner de manière incohérente. Je connais pas le détail, mais le mieux est de s'assurer que ce genre de collider soit parenté directement au subworld.
    Donc éviter:
    Code: Select all
    Subworld
        → objet A
            → objet B (animé avec collider)

    Et préférer:
    Code: Select all
    Subworld
        → objet A
        → objet B (animé avec collider)
  • Là il s'agit plus d'une erreur utilisateur, mais il faut toujours s'assurer que l'avatar ne pourra pas déclencher la zone d'entrée d'un subworld en même temps que la zone de sortie. Sinon, l'avatar passera son temps à faire le ping-pong entre le subworld et le "main world". Ca provoquera un très léger tressautement de l'image, et risque de spammer le serveur de messages :lol:
Je sais pas si c'est très clair, mais sais-t'on jamais, si un jour ça peut éviter des ennuis à quelqu'un :lol:


Maroonroon wrote:Je me rend bien compte que c'est probablement le(s) NodeTree(s) qui sera le plus complexe dans mes Âges, et pour cause, c'est lié au grand final (bien qu'il y aura encore de petites choses à faire ensuite) ; d'ailleurs je pense qu'il va me falloir du Python à un moment donné, peut-être même maintenant. :oops:

Honnêtement concentre-toi vraiment sur les node trees, notamment les responders et les scripts déjà présents dans le jeu (les xAgeSDL***.py en particulier). Le Python est plus compliqué, et la manière dont Plasma utilise les scripts Python est carrément bordélique.

Maroonroon wrote:Bref, je rame un max mais n'avance pas ; je passe plus de temps à faire du debug (ou du moins à essayer) que de la construction.

:lol: C'est hélas fréquent quand on bosse sur ce moteur de jeu. Il faut vraiment avancer petit à petit et pas désespérer...

Maroonroon wrote:Des objets disparaissent entre 2 ouvertures du .blend...

Hmm, ça je ne l'ai jamais constaté, mais si c'est le cas ça pourrait devenir très vite gênant. Peu de risque que ça soit causé par un autre programme (en particulier pas par un VPN). Quoique un antivirus trop zélé peut parfois causer des problèmes, mais je ne pense pas que ça soit le cas non plus ici.


Bref, pour en revenir à l'ascenseur, ça risque de te prendre un petit peu de temps à paramétrer, mais le résultat final devrait être nickel ou presque. Tu me dis si tu as d'autres problèmes.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Sirius » Sun Jun 12, 2022 8:52 am

And in English for everyone else :) This demo file should be useful to some people I think.

So, as I was saying, I have a working demo for the multi-story elevator Maroonroon was asking about, which might interest other builders. Here is the file (it includes both the Blender file and the generated PRPs).

It requires a small fix to Korman, so if you want to use it in your own Ages, you have to either wait for the next Korman release, or install the latest development version.
You can do the latter by going to Github, clicking the green "Code" button, then "Download ZIP". In the ZIP file, copy the content of the "korman" folder (which should contain a bunch of folders full of Python scripts) and paste it in C:\Program Files\Korman 0.13\2.79\scripts\addons\korman - make sure it replaces the original files !

This demo file contains two scripts:
  • elevElevator.py, as its name suggests it controls a multi-story elevator. The elevator controls can be enabled/disabled globally (as if the elevator itself requires power) through "/setsdl Elevator2PowerOn 1" (or 0). Some floors can be restricted by other SDL variables - in this example, floor 3 is restricted because "Elevator2FloorEnabled_2" is to zero by default.
    Additionally, multiple responders can be used to send various messages - such as when the elevator is in movement (which will enable a railing for the duration of the ride), and other per-floor responders which are triggered when the elevator stops at them.
    The script can be a bit complex to use, so rely on the example and the documentation at the top of the script itself. As usual, don't hesitate to ask for further help.
  • elevConsole.py - this fairly simple script allows you to focus the camera on a particular object when the player clicks it. In our case, this is used to have a better view of the elevator's controls.
    The elevator controls themselves are hidden "inside" the console clickable until the main clickable is triggered. (When the main clickable is triggered, it's animated to another position so it no longer blocks the elevator controls - this is because I can't fully disable the collision from the Python script.)
    To exit the console, the player can simply use arrow keys or click the edge of the screen to walk away.


I also ran in a number of bugs/gotchas while setting this up, so I noted them down in case it might help someone one day...
  • "Enable/Disable" messages don't work correctly on colliders that are part of subworlds - the colliders simply never reactivate (or maybe they warp to an incorrect location ?). It's usually better to use Exclude Regions as can be seen with object "RailingXClude" in the example file. With the caveat that:
  • ...If an Exclude Region is part of a subworld and it's triggered while an avatar is inside it, all Age players crash to desktop :shock: Strange since exclude regions work correctly when not part of a subworld...
  • Animated colliders, which are parented to another object, which is itself parented to a subworld will animate incorrectly. I don't know the specifics, but it's best to ensure the collider is parented directly to the subworld itself. So avoid this:
    Code: Select all
    Subworld
        → object A
            → object B (animated, with collision)

    And prefer instead:
    Code: Select all
    Subworld
        → object A
        → object B (animated, with collision)
  • More of a user error, but make sure an avatar cannot trigger both the subworld enter and exit regions at the same time. Otherwise, the avatar will ping-pong between subworld and main world, which will trigger a small screen shake but also spam the server with useless messages.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Next

Return to Building

Who is online

Users browsing this forum: No registered users and 0 guests

cron