portal system outside of gameSDK

I was attempting to create a portal /teleportation system as seen in a few cryengine tutorials using the proximity trigger from gamesdk. Turns out the proximity and area trigger don't work if you're not using gamesdk. Well I found a solution/alternative way that works for what I want to do so I guess I'll share. All I use is a tagpoint and sphere area for the portal. the sphere area is simply to visualize the portal bounds.


In FG, I just use the EntitiesInRange node & beamentity. In my current graph, the destination position is just the same tagpoint used for the portal, obvs you'd use something else for the destination.
It isn't a perfect solution depending on ones needs. If you need to teleport as soon as you walk in, it might not be the most efficient and an area/prox trigger would be best, but in my case, it isn't necessary.

Last edited by quasarwei on Sat Feb 17, 2018 12:07 am, edited 4 times in total.

Re: portal system outside of gameSDK

Excellent ingenuity quaserwei! Thanks for sharing your experience on the subject.
We are aware of an issue with the image attachments and are investigating the issue. For now we advise people to upload images to an appropriate third party image hosting service that is suitable and link them using the img BBCode tags.

Regarding the proximity trigger, this should work AFAIK by copying the proximity trigger script from the GameSDK Scripts folder. The only thing is that the lua for this entity is designed around the player having it's own ScriptBind as it makes use of certain properties therein (Which is GameSDK based). Essentially, you can modify the lua by adding the following methods the the ProximityTrigger lua file:

Code: Select all

function ProximityTrigger.Client:OnLocalClientEnterArea()
self.insideCount=self.insideCount + 1;
self:ActivateOutput("Enter", NULL_ENTITY);
self:ActivateOutput("NrOfEntitiesInside", self.insideCount);

function ProximityTrigger.Client:OnLocalClientLeaveArea()
self.insideCount=self.insideCount - 1;
self:ActivateOutput("Leave", NULL_ENTITY);
self:ActivateOutput("NrOfEntitiesInside", self.insideCount);
This does however make certain properties (ex. "Player Only") become irrelevant, though.
This will allow the ProximityTrigger to be used outside of the GameSDK for any objects.

Thanks again
CRYENGINE Technical Community Manager
Here to help the community and social channels grow and thrive.

My personal belongings;
Beginner Guides | My GitHub | Splash Plugin

Who is online

Users browsing this forum: No registered users and 1 guest