aurreth Posted July 12, 2021 Share Posted July 12, 2021 Hozsa's NavMeshFixer is useful in some situations for bridging entrances or slightly off stairways. The problem is that the tiles are invisible. Not just while playing, they are invisible in build mode too. So unless you mouse over them in build mode you have no idea where they are. The big ones are the size of a floor piece and snap... but you have to know where the first one is. So, I know other mods such as animation mats have pieces that are visible while you are building, but are invisible when you exit build mode. I'd like to patch NavMeshFixer so it works like that. Unfortunately I have no idea where to start (as usual). Link to comment Share on other sites More sharing options...
South8028 Posted July 12, 2021 Share Posted July 12, 2021 (edited) I don't know for sure, but I think these are just two states assigned in the gamebryo animation meneger. Simply put, there are two states of animation, in one of which the material changes to invisible.It is not difficult to do it in 3d max with official plugins.You can re-create such planes, then generate navmesh on them in ck. But I think it will only get worse, because a lot of such custom elements tend to freeze and not switch to the invisible state, or glitch and write one of the states to save, returning after deletion. Edited July 12, 2021 by South8028 Link to comment Share on other sites More sharing options...
aurreth Posted July 12, 2021 Author Share Posted July 12, 2021 Why would animations have anything to do with it? These are static objects. Link to comment Share on other sites More sharing options...
South8028 Posted July 12, 2021 Share Posted July 12, 2021 Why would animations have anything to do with it? These are static objects.Yes, it is a static object, but it contains two animations, and two states of "morphs tags", each animation one frame at a time, one frame apart. One animation is called "show", the second "hide". This is done in exactly the same way as the doors. Only instead of animations one frame at a time. Link to comment Share on other sites More sharing options...
LarannKiar Posted July 13, 2021 Share Posted July 13, 2021 (edited) So, I know other mods such as animation mats have pieces that are visible while you are building, but are invisible when you exit build mode. I'd like to patch NavMeshFixer so it works like that. Unfortunately I have no idea where to start (as usual). You could write a feedback to the author.. It can be fixed but it's complex (a new scripted form needs to be added to the mod). Edited July 13, 2021 by LarannKiar Link to comment Share on other sites More sharing options...
South8028 Posted July 14, 2021 Share Posted July 14, 2021 So, I know other mods such as animation mats have pieces that are visible while you are building, but are invisible when you exit build mode. I'd like to patch NavMeshFixer so it works like that. Unfortunately I have no idea where to start (as usual). You could write a feedback to the author.. It can be fixed but it's complex (a new scripted form needs to be added to the mod).If you know how to do this kind of thing with a script, that's very interesting. Because absolutely all modmakers who made such rugs did it in the above described way. The number of such objects is regulated by some number in the engine. When there are a lot of such objects, they start to be totally buggy. If it could be done with a script, it would be a breakthrough. Link to comment Share on other sites More sharing options...
aurreth Posted July 14, 2021 Author Share Posted July 14, 2021 So, I know other mods such as animation mats have pieces that are visible while you are building, but are invisible when you exit build mode. I'd like to patch NavMeshFixer so it works like that. Unfortunately I have no idea where to start (as usual). You could write a feedback to the author.. It can be fixed but it's complex (a new scripted form needs to be added to the mod). It was requested on the mod page a number of times and ignored unfortunately. Link to comment Share on other sites More sharing options...
aurreth Posted July 14, 2021 Author Share Posted July 14, 2021 (edited) So, I know other mods such as animation mats have pieces that are visible while you are building, but are invisible when you exit build mode. I'd like to patch NavMeshFixer so it works like that. Unfortunately I have no idea where to start (as usual). You could write a feedback to the author.. It can be fixed but it's complex (a new scripted form needs to be added to the mod).If you know how to do this kind of thing with a script, that's very interesting. Because absolutely all modmakers who made such rugs did it in the above described way. The number of such objects is regulated by some number in the engine. When there are a lot of such objects, they start to be totally buggy. If it could be done with a script, it would be a breakthrough. Both BYOP and Invisible Furniture use a script (they are both from the same author). Unfortunately the script source is not included in the mod. I would also appreciate you being polite and helpful instead of snarky. I doubt you know "absolutely all modmakers", so it is quite possible another modder has come up with a way that doesn't involve animations. @LarannKiar, the code you posted and then edited out uses Self.Disable(). Disabling the object would keep it from functioning as navmesh... could you programmatically do a BGSM change instead? You know, one visible and one invisible texture? Edited July 14, 2021 by aurreth Link to comment Share on other sites More sharing options...
LarannKiar Posted July 14, 2021 Share Posted July 14, 2021 @LarannKiar, the code you posted and then edited out uses Self.Disable(). Disabling the object would keep it from functioning as navmesh... could you programmatically do a BGSM change instead? You know, one visible and one invisible texture? Yes, I later realized that disabling the object won't be helpful since it has to be enabled to work properly.. You need two forms: 1. the navmesh rug: it should be invisible (transparent textures) and enabled always. 2. a "dummy" rug: this would be the object you place in workshop mode. Its textures has to be visible so you can see it where you place it. A script that places the navmesh rug and disables itself when you exit workshop mode needs to be attached to this form. Link to comment Share on other sites More sharing options...
LarannKiar Posted July 14, 2021 Share Posted July 14, 2021 (edited) Maybe you could try this script. It's a modified version of a script I created earlier. Well, it was not meant for navmeshes but hopefully it will work. Scriptname YOURSCRIPTNAME extends ObjectReference Static Property Form_NavMeshRug Auto Const ObjectReference NavMeshRug Event onWorkshopObjectPlaced(ObjectReference akReference) RegisterForMenuOpenCloseEvent("WorkshopMenu") PlaceNavMeshRug() Position() EndEvent Event onWorkshopObjectDestroyed(ObjectReference akReference) UnregisterForMenuOpenCloseEvent("WorkshopMenu") NavMeshRug.Delete() EndEvent Event onWorkshopObjectMoved(ObjectReference akReference) RegisterForMenuOpenCloseEvent("WorkshopMenu") PlaceNavMeshRug() Position() EndEvent Event OnMenuOpenCloseEvent(string asMenuName, bool abOpening) If (asMenuName == "WorkshopMenu") If (Game.GetPlayer().GetCurrentLocation() == Self.GetCurrentLocation()) If (abOpening) Self.Enable() debug.notification("Self enabled") PlaceNavMeshRug() Position() Else Self.Disable() debug.notification("Self disabled") EndIf EndIf EndIf EndEvent Function Position() NavMeshRug.Moveto(Self, 0, 0, -0.01) float Angle = Self.GetAngleZ() NavMeshRug.SetAngle(0, 0, Angle) debug.notification("NavMeshRug moved, positioned") EndFunction Function PlaceNavMeshRug() If NavMeshRug != none Else NavMeshRug = Self.PlaceAtMe(Form_NavMeshRug, 1) debug.notification("NavMeshRug placed") EndIf EndFunction Forgot to mention that the "dummy" rug needs to a furniture since you can't attach a script to a static object. Edited July 14, 2021 by LarannKiar Link to comment Share on other sites More sharing options...
Recommended Posts