mirror of
https://github.com/Relintai/godot-lportal.git
synced 2024-11-11 10:52:09 +01:00
Update README.md
This commit is contained in:
parent
7640c68fc0
commit
426a9f9261
16
README.md
16
README.md
@ -8,7 +8,8 @@ Work in progress, not yet fully functional
|
|||||||
* Auto creation of mirror portals DONE
|
* Auto creation of mirror portals DONE
|
||||||
* Recursive determine visibility DONE
|
* Recursive determine visibility DONE
|
||||||
* Prevent memory allocations (use pools for plane vectors) DONE
|
* Prevent memory allocations (use pools for plane vectors) DONE
|
||||||
* Add support for objects moving between rooms - cameras, players, physics etc - Tomorrow
|
* Add support for objects moving between rooms - cameras, players, physics etc - DONE
|
||||||
|
* Cleanup code, Optimize
|
||||||
* Investigate multiple passes (shadows, lights)
|
* Investigate multiple passes (shadows, lights)
|
||||||
|
|
||||||
## Instructions
|
## Instructions
|
||||||
@ -24,7 +25,14 @@ This is all subject to change, but to give a rough idea of the current process:
|
|||||||
|
|
||||||
Once this structure is set up in the scene graph:
|
Once this structure is set up in the scene graph:
|
||||||
* Convert the parent of the rooms to an LRoomManager node
|
* Convert the parent of the rooms to an LRoomManager node
|
||||||
* At game / level start, call 'convert' method on the LRoomManager. This will convert room and portal spatials to LRooms and LPortals, and make portals 2 way.
|
* At game / level start, call 'rooms_convert' method on the LRoomManager. This will convert room and portal spatials to LRooms and LPortals, and make portals 2 way.
|
||||||
* Call 'set_camera()' on LRoomManager to set which camera is used for visibility determination (this is useful for debugging)
|
* Call 'rooms_set_camera()' on LRoomManager to set which camera is used for visibility determination (this is useful for debugging)
|
||||||
|
|
||||||
|
Dynamic objects (DOBs) like players, boxes etc are handled slightly differently. You currently can maintain them outside the roomlist, but instead of adding them to the rooms directly, you call:
|
||||||
|
* `void register_dob(Node * pDOB);`
|
||||||
|
to register with room system, so the DOB will be culled as part of the system.
|
||||||
|
* `bool update_dob(Node * pDOB);`
|
||||||
|
each frame you move the DOB to keep it up to date within the system. This will automatically move the DOB between rooms when it crosses portals.
|
||||||
|
|
||||||
|
I may also add the option of having the system automatically update the dob, instead of having to call update manually. I only didn't do this initially because you might want dynamic objects to go to sleep when they aren't moving, so there is no need to update in the system.
|
||||||
|
|
||||||
That's pretty much it for now. There will also be calls to help determine which room the camera starts in, it just defaults to the first room for now. I'll try and figure a way of automatically tracking the camera room.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user