-
Posts
377 -
Joined
-
Last visited
Nexus Mods Profile
About glowplug
Profile Fields
-
Discord ID
494980409747177493
-
Country
Australia
-
Currently Playing
Islands of Insight
-
Favourite Game
Virtual Astrophysics
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
glowplug's Achievements
-
Sorry IOPASD but I am confused as to what you want. There are 7 nif under Data\Meshes\Oblivion\Gate which I could edit to replace mesh/texture then save off to overwrite existing or as new gates. The existing would simply appear in game as different. The new would require an esp to enable them. You've lost me on how you are bridging over to dungeons in relation to gates. I can replace all of the gates for existing dungeons. I can replace all dungeons for existing gates. So, what exactly do you want?
-
Obviously nobody could be bothered helping me improve this bow. Maybe I should just remove it from Nexus?!
-
Linear Interpolation Code Base
glowplug replied to glowplug's topic in Oblivion's Oblivion Construction Set and Modders
Thanks heaps for the help QQuix, I appreciate it. Rock rock your ship has great ideas with great reference material for me. I might give up on SLERP and just use LERP with more nodes to emulate it. -
Linear Interpolation Code Base
glowplug replied to glowplug's topic in Oblivion's Oblivion Construction Set and Modders
Your scripts have advanced algorithms and number crunching - what I am trying to do is eliminate the numbers for modder independance. EDIT: the transformations between 0-1 of each node lerp to the scale of that node - the reason for the custom XMarkerScale. Using my custom XMarkerScale you can layout a number of them at varying angle/distance/scale to run the following script on whatever activator you want. FnGetTransorms will walk through all child objects and store them into a 3D Transform Array ready to drive the parent object at given duration along these nodes. An ideal fFPS of 24 will allow for older machines while quite smooth in rendering... scn ActiTravelPointsOnceScript ;WARNING: do not change this script int iInitialized ; set to 1 externally after setting fDuration and fFPS int iIndex0 int iIndex1 float fDuration ; time in seconds set externally float fFPS ; target frames per second set externally float fInterval float fIncrement float fTimer float fStartingScale array_var arrTransforms Begin GameMode if iInitialized == 2 let iInitialized := 3 let arrTransforms := call FnGetTransforms this endif if iInitialized == 1 let iInitialized := 2 let iIndex0 := 0 let iIndex1 := 1 let fInterval := 0 let fTimer := 0 ;___Allow for external interuption and reset. let fStartingScale := call FnMoveObjectToStart this, fStartingScale let fIncrement := call FnNormalizedIncrement fDuration, fFPS endif if iInitialized == 3 let fTimer += GetSecondsPassed if fTimer >= (1 / fFPS) let fTimer := 0 call FnLerpTransform this, arrTransforms, iIndex0, iIndex1, fInterval let fInterval += fIncrement if fInterval >= 1 let fInterval := 0 let iIndex0 += 1 let iIndex1 += 1 if iIndex1 == ar_Size arrTransforms[0] let iInitialized := 0 endif endif endif endif End The continuous loop version being... scn ActiLerpPointsScript ;WARNING: do not change this script ; See Course, Lerp Multiple Points int iInitialized ; set to 1 externally after setting fDuration and fFPS int iIndex0 int iIndex1 int iLoop ; 0 run once (default), 1 continuous loop float fDuration ; time in seconds set externally float fFPS ; target frames per second set externally float fInterval float fIncrement float fTimer float fStartingScale ref refEndParent array_var arrTransforms Begin GameMode if iInitialized == 2 let iInitialized := 3 let arrTransforms := call FnGetTransforms this endif if iInitialized == 1 let iInitialized := 2 let iIndex0 := 0 let iIndex1 := 1 let refEndParent := call FnGetLastParent this ;___Allow for external interuption and reset. let fStartingScale := call FnMoveObjectToStart this, fStartingScale call FnSetEnable refEndParent, 0 let fIncrement := call FnNormalizedIncrement fDuration, fFPS endif if iInitialized == 3 let fTimer += GetSecondsPassed call FnSetEnable refEndParent, 1 if fTimer >= (1 / fFPS) let fTimer := 0 call FnLerpTransform this, arrTransforms, iIndex0, iIndex1, fInterval call FnSetEnable refEndParent, 0 let fInterval += fIncrement if fInterval >= 1 let fInterval := 0 let iIndex0 += 1 let iIndex1 += 1 if iIndex1 == ar_Size arrTransforms[0] if iLoop == 0 ;___STOP LERP at end let iInitialized := -1 call FnSetEnable refEndParent, 1 else ;___LERP LastMarker to Start let iIndex1 := 0 endif elseif iIndex0 == ar_size arrTransforms[0] ;___LOOP LERP Start to FirstMarker let iIndex0 := 0 let iIndex1 := 1 endif endif endif endif End Using FnGetTransforms we need to parent all marker nodes as spaced for desired velocity in comparison to fDuration. For continuous loop, we can set the last child as the activator - unless I am mistaken as I wrote this some time ago. Adding followers is simply a case of 'Object.GetPos SetPos' statements, such as PlayerRef. My question, to answer your question, is how to improve on this by adding 'Spherical Linear Interpolation'. -
The short: Please break test Wendsemmar to give me ideas for it. Do you know how to write SLERP for CS/OBSE? The Long: Writing Linear Interpolation, LERP, in object oriented form for CS/OBSE scripting wasn't easy in terms of making the whole thing modular. Where I had planned to release it as a modder's resource I soon realised it would be difficult to explain. I've released all of the code in my mod Wendsemmar which puts it to use. The code base allows for a custom XMarkerScale that allows for OBSE scaling. As far as doing the same for Spherical Linear Interpolation SLERP, I found processing errors where I'm not sure what I did wrong and gave up. Again, if you have any ideas on how to improve the use of existing or extend it to do SLERP then I would greatly appreciate your input.
-
How about an inversion of logic such that 1 function can handle object enabling while getting rid of the main 'else'. Of course, you've provided a correct answer but how about that, how about the thinking? EDIT: Okay, I've suggested the opposite of what I would do here. The time period in terms of enable is boolean and should be evaluated as such; when enable period is met it should be done once and flagged as done; when disable period is met it should be done once and flagged as done. Using OBSE this would be 2 functions where it would be cleaner to nest the time conditional function as a parameter.
-
Herewith 4K texturing, again, I can make this with much more detail but would really appreciate some ideas, rough sketches or example images, whatever.
-
Hi Oupsiner. I just took a look and it seems like the latest download is an update. You need the one with 'Skyrim Style' to get the textures. Thanks for the compliment CHASE6, I appreciate it. The bow was before I did any modelling courses and isn't strictly modelled in quads. Odd tris can be a problem for certain animations, such as character but a bow has limited movement and should be okay. I still have the original working folder for this bow. The 1024x512 textures are mirrored left/right as well as top/bottom which, unlike ground texture tiling, we're not going to notice while firing it, resulting in much the work of a 2K texture. The detail model is over half a million polygons and could be baked off to a 4096x2048 resulting in much like the work of 8K... ...the thing is 'why go there' without adding a whole new level of detail. The game model has less than 2000 polygons which is nothing for a gaming machine at 5-8 years old. Model shape is enhanced by ambient occlusion baked into the diffuse. Feature lines are drawn on the diffuse as well as bumped into the normal. Increasing game mesh geometry to include feature lines would require more polygons than recommended for the Oblivion engine. Where I could use normal bumping to achieve this on Unreal, Oblivion won't cut the mustard. The solution is to re-invent Auriel's Bow with the original shape but new feature lines/shapes. The mesh needs enough polygons for enough shape to support normal bumping, around 10000-15000 polygons should do. This would include dents from fending off swords where 4096x4096 textures, to hide tiling(mirroring), would be optimal. So, what I need is concept art that bases feature lines off the overall shape of this weapon - the more input I can get from people the better.
-
It is almost a decade since I remade Skyrim's Auriel's Bow for Oblivion - Armory of Auriel - easily searched on NexusMods, let alone Google. What's wrong with it, why don't you want it?
-
The heading states "NPC's" which qualifies 1 NPC - the code would be on it. The grammar on the heading suggests a request for action on multiple NPCs - that code would have a somewhat different structure to the singularity. I provided object enabling code but various NPCs would have other requirements.
-
Faster AI Package Evalutation
glowplug replied to glowplug's topic in Oblivion's Oblivion Construction Set and Modders
Thanks Striker879, changing to 100 seems to have it on the move. They have low aggression so there can be enough to make the caves feel 'alive' without overwhelming the player.