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!

Re: Elevator Question

Postby Paradox » Sun Jun 12, 2022 9:26 am

Sirius wrote: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 !


If you're referring to the Python Attribute Animation fix, this is included in the release for korman 0.13a :)
Paradox
 
Posts: 1290
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Elevator Question

Postby Maroonroon » Sun Jun 12, 2022 1:08 pm

Sirius wrote:
Show Spoiler

/thumbsup2 Wouaw, je n'ai pas encore testé mais je te tire mon chapeau d'avoir réussi, si j'avais eu les cheveux plus longs je me les serais arrachés à cause des collisions intra-subworld ! :lol:

Tu viens de rendre un "immense" service, non seulement à moi, mais aussi à tous les Writers, car ce genre d'élément (un ascenseur multi-étages) me semble primordial et peut être transposé à bien d'autres choses ! Merci, merci, merci Sirius !!! 8-)

Je te tiens au courant de ma progression. :)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby SereneTiki » Mon Jun 13, 2022 7:00 pm

Friends,

ametist mentioned this discussion to me. I have built an elevator with Korman and wanted to say where the Blender file is.

The Chamassa Restoration contains a three-floor elevator (based on the Teledahn script) with SDL and simulated Animation Event Detectors (which are called out in the original script). The subworld collisions are addressed correctly. The elevator has a control panel.

In retrospect I would probably set this up differently today, but you can see how all the pieces interact via the scripts and the node trees in Korman. The elevator is operational in the Age in Deep Island.

The Animation Event Detectors require static kickables to trigger them.

Here is the Blender file: https://app.box.com/s/3pn1ffabv8gcvymfk2w4jyy3100upsu1

An extra bit of subworld trickery I discovered is that you can use the Filter Transform modifier to have objects not move along with a moving subworld even though they stay part of the subworld. This isn't used in the Chamassa Restoration, though.

My notes for the age in the file are now somewhat obsolete because of Korman updates.

Bon chance!

TikiBear
SereneTiki
 
Posts: 34
Joined: Fri May 08, 2020 8:04 pm

Re: Elevator Question

Postby Maroonroon » Tue Jun 14, 2022 7:16 am

Hello SereneTiki, thanks for the share. :)

I took a look to your file and if I understand well, the elevators are not really animated, so, technically they looks more like teleports.
It can't be done with my elevators, because there's no completely closed cabin around them. I meant, if the elevator is a square, for example, there isn't 4 walls but only 3, or 4 walls but no ceiling, or no walls at all but only a simple platform for the floor.

But your file might be usefull for something else, so thank you! :)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Wed Jun 15, 2022 12:25 pm

Paradox wrote:If you're referring to the Python Attribute Animation fix, this is included in the release for korman 0.13a :)

I missed that. Alright, perfect then !

Maroonroon wrote:Tu viens de rendre un "immense" service, non seulement à moi, mais aussi à tous les Writers, car ce genre d'élément (un ascenseur multi-étages) me semble primordial et peut être transposé à bien d'autres choses !

C'est pour ça que j'ai essayé de le rendre aussi polyvalent que possible... J'imagine que dans certains cas il pourrait même être utilisé pour animer autre chose qu'un ascenseur. Content d'avoir été utile en tout cas ! :)

SereneTiki wrote:I have built an elevator with Korman and wanted to say where the Blender file is.

It's hard to have one script cover all use cases, and it seems both have their pros and cons. This could definitely be useful :) Thanks for sharing !

Maroonroon wrote:I took a look to your file and if I understand well, the elevators are not really animated, so, technically they looks more like teleports.

I think this is only because the elevator animation has 3 frames, but theoretically it could be fully animated (and even have easing in and out, which my script cannot do).
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Sun Jun 19, 2022 12:09 pm

Sirius wrote:
Maroonroon wrote:I took a look to your file and if I understand well, the elevators are not really animated, so, technically they looks more like teleports.

I think this is only because the elevator animation has 3 frames, but theoretically it could be fully animated (and even have easing in and out, which my script cannot do).

J'avoue ne pas avoir compris "easing in and out", même en passant par Google Translate... :oops:
Tu parles peut-être du fait que ton script nécessite une animation linéaire ? (Ce qui était déjà le cas pour mes ascenseurs.)
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Tue Jun 21, 2022 8:18 am

Maroonroon wrote:Tu parles peut-être du fait que ton script nécessite une animation linéaire ? (Ce qui était déjà le cas pour mes ascenseurs.)

C'est ça, oui. L' "easing", c'est quand l'animation démarre ou s'arrête au ralenti pour simuler l'inertie de l'objet.
Dans le cas de mon script, une animation linéaire simplifie pas mal les choses, même si c'est un peu moins esthétique.

(J'ai cru voir que tu avais une autre question que tu as édité depuis. Désolé, en ce moment je fais pas mal de grosses journées donc pas toujours le temps de répondre. Mais si tu as besoin d'autres infos hésite pas :) )
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Tue Jun 21, 2022 10:39 am

OK. :)

Sirius wrote:J'ai cru voir que tu avais une autre question que tu as édité depuis. Désolé, en ce moment je fais pas mal de grosses journées donc pas toujours le temps de répondre. Mais si tu as besoin d'autres infos hésite pas :)

Oui, c'est moi qui suis désolé, j'aurais dû réfléchir davantage avant de poser cette/ces question(s)... :oops:

J'ai fini la partie qui concerne l'Elevator2, pour l'instant (j'aurai d'autres trucs à y ajouter plus tard), mais il ne fonctionne pas ; les ExcludeRegions sont toutes activées par défaut, la caméra ne fonctionne pas, je peux cliquer directement sur les boutons de la console au lieu de cliquer sur la console elle-même, et l'ascenseur ne bouge pas. :?

Je me suis dis que je pouvais modifier l'Elevator1, beaucoup plus simple que le 2, pour utiliser tes scripts et tenter de déboguer le 2, ainsi que pour essayer de corriger mon problème de collision de la cage d'ascenseur du 1 ; je n'ai pas fini de faire ces changements (que je fais dans une copie de mon .blend).
Je verrai bien ce que ça donne, mais je pense que j'aurai besoin d'aide ; je reviendrai alors vers toi... :P
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

Re: Elevator Question

Postby Sirius » Wed Jun 22, 2022 3:16 am

Maroonroon wrote:les ExcludeRegions sont toutes activées par défaut

Vérifie que tu utilises bien l'état 0 du responder 5 du script pour désactiver les exclude regions quand l'ascenseur n'est pas en mouvement.

Maroonroon wrote:la caméra ne fonctionne pas, je peux cliquer directement sur les boutons de la console au lieu de cliquer sur la console elle-même

Tente de paramétrer l'ascenseur sans la caméra et le script console pour commencer, ça sera plus simple à debug...

Maroonroon wrote:l'ascenseur ne bouge pas. :?

N'oublie pas de vérifier les messages dans logs/Python.0.elf. Le script écrit quelques infos dedans, et si il plante il y aura un message d'erreur.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Elevator Question

Postby Maroonroon » Sat Jun 25, 2022 11:04 am

Bon, voilà ce qu'il s'est passé :

- J'avais vu dans Blender que tes scripts ne contenaient pas

glue_cl = None
glue_inst = None
glue_params = None
glue_paramKeys = None
etc...

alors que mon fichier StiltHouse01.py le contenait, alors je l'avais enlevé.

- J'ai voulu gérer mes fichiers .py et .sdl via Blender alors que jusqu'à lors je le faisais de façon externe à Blender.
Or, entre Blender, UruTweak (que j'utilisais pour le SDL) et Notepad++ (que j'utilisais pour le Python), l'encodage semble différent et du coup il y a eu un micmac avec les espaces et tabulations.

Quand j'ai exporté l'Âge l'ascenseur ne marchait pas, mais je viens de voir qu'en fait plus rien ne fonctionnait du tout...
Et c'est effectivement en consultant le log Python que j'ai vu qu'aucun de mes fichiers .py et .sdl n'était trouvé.

Je viens donc de remettre mes fichiers en gestion externe à Blender, avec des indentations propres, et de remettre ### Python Glue ### dans mon fichier StiltHouse01.py et l'ai aussi mis dans les autres .py.

Tout ce qui fonctionnait avant fonctionne à nouveau.
Je ne sais pas si c'est dû à ### Python Glue ###, ou au micmac avec les espaces et tabulations, ou à une différence d'encodage, ou à 2 ou 3 de ces choses, mais c'est corrigé.


Du coup les fichiers "StiltHouse01Elevator.py" et "StiltHouse01ElevatorConsole.py" qui correspondent respectivement à tes fichiers "elevElevator.py" et "elevConsole.py" fonctionnent. :)

Par contre :

1) L'Exclude Region (subworld) de l'ascenseur est à nouveau active pas défaut, ainsi que celle (world) du rez-de-chaussée ; je ne peux donc pas entrer/sortir de l'ascenseur sans l'avoir fait bouger une 1ère fois.

2) J'active et désactive des visuels en fonction de l'étage actuel (activator 4 > responder > responder state > Enable/Disable > send to object), et ça fonctionne, sauf que l'état initial des visuels n'est pas chargé en fonction du SDL au chargement de l'Âge ; ils deviennent corrects lors d'un 1er changement d'étage.
(Pour mes ascenseurs ces activations/désactivations doivent techniquement être faites lors du clic sur un bouton.)

3) J'active et désactive également des boutons en fonction de l'étage actuel (à chacun est lié un node-tree avec un node Python File "xAgeSDLIntShowHide.py").
Pour les boutons qui sont dans la console de l'ascenseur, "xAgeSDLIntShowHide.py" est sans effet. (Des Enable/Disable également.)
Pour les boutons "call" qui ne sont pour l'instant pas dans des consoles ça va, sauf qu'ils seront plus tard dans des consoles, quand celle de l'ascenseur sera 100% opérationnelle.
(Pour mes ascenseurs ces activations/désactivations peuvent techniquement être faites lors du clic sur un bouton ou lors de l'arrêt de l'ascenseur ; avec "xAgeSDLIntShowHide.py" c'est lors du clic.)

4) La console n'est cliquable qu'après avoir fait bouger l'ascenseur une 1ère fois (les boutons sont cliquables).

5) Quand on regarde la console, on peut déplacer l'avatar en avant avec la souris ou la flèche directionnelle du haut, et aussi à gauche et à droite avec les touches "virgule" et "point-virgule", sans sortir de la vue caméra de la console. :P


Edit:

- Pour le 1) et le 4), à la limite je peux mettre l'ascenseur à un autre étage par défaut et ne pas mettre les boutons "call" dans des consoles ; on devra donc bouger l'ascenseur une 1ère fois avec un bouton "call", ce qui réglera aussi le problème de la 2ème partie du 3).

- Pour le 2), lier un node-tree avec un node Python File "xAgeSDLIntShowHide.py" à chaque visuel à réglé le problème.


- Reste le problème de la 1ère partie du 3) (et le problème du 5) :P ).

Edit 2:
Pour la 1ère partie du 3) on m'a donné une piste pour changer la couleur d'un material, mais que ce soit pour changer la couleur d'un material (bouton off = noir, l'ascenseur n'est pas à l'étage actuel ; bouton on = rouge, l’ascenseur est à l'étage actuel), ou que ce soit pour changer l'opacité des deux textures d'un material (au début, l'ascenseur n'est pas à l'étage actuel : opacité 100% pour le noir et 0% pour le rouge ; à la fin, l’ascenseur est à l'étage actuel : 0% pour le noir et 100% pour le rouge), ça ne fonctionne pas ; ça reste tout le temps noir, que je fasse Unwrap ou non.
Enable/Disable ne fonctionne pas, xAgeSDLIntShowHide.py non-plus, et modifier le material non-plus ; je ne vois plus du tout comment je peux faire... :(
User avatar
Maroonroon
 
Posts: 219
Joined: Sun Jul 06, 2014 5:03 pm
Location: France

PreviousNext

Return to Building

Who is online

Users browsing this forum: No registered users and 13 guests