[outdated] Set3DRenderSpaceToUnitTag(control, unitTag)
Currently the only way (known to me) to read 3D coordinates of any ingame entity is to use your camera location as a reference using Set3DRenderSpaceToCurrentCamera, then read its coordinates using Get3DRenderSpaceOrigin, then do some Black Magic(tm) to find 3d coordinates of the player from 3d coordinates of the camera and THEN use 3d coordinates of the player along with his 2d map coordinates to find 3d coordinates of a map entity.
This becomes a pain since there's no clear way to find 3d coordinates of the player himself from the coordinates of the camera. I use a bunch of workarounds in my pvpalerts for this. Additionally one of the major problems is to determine height or Y-axis position of an entity with known x,y 2d coordinates on the map. So, generally, there's a need to find 3d coordinates of an entity in the gameworld or at least a precise correspondence between its 3d coordinates and map coordinates. The proposed function Set3DRenderSpaceToUnitTag(control, unitTag) will take 'player' and 'groupX' unittags as its input and should solve this problem of locating 3d coordinates of the player himself and his group members. Second request is to return Y-3d coordinates (or all X,Y,Z - 3d coordinates) along with 2d map coordinates in various functions like GetAvAObjectiveInfo, GetMapPlayerPosition etc. I assume this request might be more complicated than Set3DRenderSpaceToUnitTag proposed above, though. But it will allow to put custom 3d controls anywhere in the gameworld with the necessary precision. Thank you. |
I think your later suggestion might actually be easier to implement than Set3DRenderSpaceToUnitTag(control, unitTag), because a render space doesn't just have an origin but also forward/up/left vectors (i.e. view direction and roll). I don't think the client knows more about other characters view direction than the heading.
I would like to second the request for GetMapPlayerPosition to return 3d information or adding a similar function. Maybe it is possible to implement a GetWorldPlayerPosition(unitTag) function, which returns the 3d position of the specified unit. That information might already be available to the client as it's just the position of the 3d model or the floating group marker (?). The position could then be converted via the WorldPositionToGuiRender3DPosition function Chip proposed here: http://www.esoui.com/downloads/info1....html#comments Quote:
|
Quote:
Quote:
Will be a good start though. |
All times are GMT -6. The time now is 11:26 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI