Ergebnis 1 bis 10 von 10
-
- Registriert seit
- Mar 2019
- Beiträge
- 5
First of all, huge thanks to Baltram for creating this awesome modding tool. It's truly amazing.
https://forum.worldofplayers.de/foru...source-Manager
I was always a massive Gothic/Risen fan and recently I finally decided to buy ELEX during a Steam sale. The game is fantastic.
After beating it twice I wanted to mess around with modding. Primarily changing the soundtrack of the game as I feel like the basic Elex music, while not bad, isn't very engaging - so I've decided to replace it. Sadly I've got no previous experience so it's all a learning curve for me and I wonder if you guys could help me a bit as I'm currently stuck.
I started by editing .elexsnd files located in ELEX\data\packed\c_1_na\Sound and replacing them with music from other games, primarily Gothic 3 and 2.
This worked just fine however I quickly noticed a glaring issue: Elex music changes depending on the zone/area you enter, this works fine with the original music which is very minimal & barely distinguishable from track to track which means that "the transition" from zone to zone is very smooth and natural.
This doesn't work as well when using custom music which can drastically & suddenly change in tone because you're suddenly in a different part of Edan woods or Goliet
I then found out that all sectors as in EDAN, ABESSA, IGNADON etc. are using something called MUSIC ZONES which you can find in ELEX\data\packed\c_1_na\Sector in a file titled XXX_MusicZones.elexsec ie: EDA_MusicZones.elexsec
Every single "zone" is a 3D sphere with a defined center and borders.
I figured out that you can change the music played in each zone by simply changing two lines of text, highlighted in red.
Code:"AreaZone_Mus_Berserker" { GUID = {EE16D2AC-DD8C-4B98-AA6D-02790972A6B8}; Creator = {70259B64-682F-45E2-AD7C-55092BB9F91D}; MatrixLocal = (mat 0.967088521 0 0.254433334 0 0 0.999999583 0 0 -0.254433334 0 0.967088521 0 -125008.359 35958.0117 -227959.672 0.99999994); MatrixGlobal = (mat 0.967088521 0 0.254433334 0 0 0.999999583 0 0 -0.254433334 0 0.967088521 0 -125008.359 35958.0117 -227959.672 0.99999994); Extents = (box -132583.469 30955.2871 -242418.844 -107692.422 50565.5859 -220043.719); Center = (vec -120137.945 40760.4375 -231231.281); Radius = 19395.709; Range = 100000; Unknown0 = <CA FD 00 7A 7E 6C 69 93>; Unknown1 = <05>; Unknown2 = <1D A4 00 00 01 00>; class eCArea_StringProperty_PS { Version = 1; Properties { class bCBox AreaBox = (box -6678.46094 -5002.73047 -13194.1641 14433.9609 14607.5742 4387.91406); class bCSphere AreaSphere = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 42>; bool UseBox = True; class bTObjArray<class bCString> PropertyNameList = [ "mus_berserker"
It seems these zones are really "scuffed" and don't follow any logic or order. IE: The music that's played in Goliet titled "mus_berserker" only covers half of the actual town! The lower parts of the city around the plantations and main gate in fact play ruin & outdoor forest music which ruins the immersion as my city music suddenly gets replaced with a forest tune in the middle of a town...
For example: You use the teleporter outside of bridge leading to main Goliet gate where you can meet Drog. The music played in that area is titled "mus_beach", you then enter the actual city of Goliet and you're met with... another musicarea which plays "mus_outdoor_forest", only once you reach the actual tavern/shop area of Goliet you're presented with "mus_berserker" which is played in the rest of the city.
What's even more frustrating is the fact that the sector responsible for playing "mus_outdoor_forest" inside city of Goliet is nowhere near the actual city! It's a massive zone located in middle of valley of the damned, west to the city:
Code:"AreaZone_Theme_Outdoor_Forest" { GUID = {52CF27D4-E95F-4014-9F48-8FBA0D66ED62}; Creator = {70259B64-682F-45E2-AD7C-55092BB9F91D}; MatrixLocal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 -162912.219 28308.8223 -208476.063 1); MatrixGlobal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 -162912.219 28308.8223 -208476.063 1); Extents = (box -339464.219 1531.52344 -330902.063 -73615.2188 82005.8203 -124769.25); Center = (vec -206539.719 41768.6719 -227835.656); Radius = 172946.906; Range = 100000; Unknown0 = <CA FD 00 7A 7E 6C 69 93>; Unknown1 = <05>; Unknown2 = <1D A4 00 00 01 00>; class eCArea_StringProperty_PS { Version = 1; Properties { class bCBox AreaBox = (box -176552 -26777.2969 -122426 89297 53697 83706.8125); class bCSphere AreaSphere = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 42>; bool UseBox = True; class bTObjArray<class bCString> PropertyNameList = [ "thm_outdoor_forest"
Which leads me to my current issue: I'm trying to either:
- Find a way to change the priority of each sector so by increasing the radius of the music area in Goliet I can cover the remaining part of the city, overwriting the music area for outdoor forest.
- Find a way to define and move borders of each music sector which I believe is defined by Extents, MatrixGlobal & MatrixLocal lines however I'm not exactly sure what MatrixLocal & MatrixGlobal do or how to define borders using Extents.
- Create new music zones in game (however again I'd struggle with defining their borders by using extents, matrixglobal & matrixlocal as I have no clue about these 3 lines)
Anyone has any ideas?Geändert von Kunzzi (30.11.2021 um 18:18 Uhr)
-
Music zones are used by the Genome engine since Gothic, afair.
It seems these zones are really "scuffed" and don't follow any logic or order.
IE: The music that's played in Goliet titled "mus_berserker" only covers half of the actual town! The lower parts of the city around the plantations and main gate in fact play ruin & outdoor forest music which ruins the immersion as my city music suddenly gets replaced with a forest tune in the middle of a town...
For example: You use the teleporter outside of bridge leading to main Goliet gate where you can meet Drog. The music played in that area is titled "mus_beach", you then enter the actual city of Goliet and you're met with... another musicarea which plays "mus_outdoor_forest", only once you reach the actual tavern/shop area of Goliet you're presented with "mus_berserker" which is played in the rest of the city.
- Find a way to change the priority of each sector so by increasing the radius of the music area in Goliet I can cover the remaining part of the city, overwriting the music area for outdoor forest.
- Find a way to define and move borders of each music sector which I believe is defined by Extents, MatrixGlobal & MatrixLocal lines however I'm not exactly sure what MatrixLocal & MatrixGlobal do or how to define borders using Extents.
- Create new music zones in game (however again I'd struggle with defining their borders by using extents, matrixglobal & matrixlocal as I have no clue about these 3 lines)
Anyone has any ideas?
2. To change the position of a music zone entity here's the "command" Baltram introduced in his elexresman.
(example: )
NewPos = (vec -201000.0 41800.0 -68000.6);
3: extends is just a bounding box, the coordinates of two diametral edges of it. They should be symmetric to the center (so some math required to increase a box).
The center coordinates should be the same as the position of an object (entity), MatrixLocal = (mat 0.403553218 0 -0.914956152 0 0 0.999999642 0 0 0.914955914 0 0.403552592 0 -192471.781 37434.8008 -109674.266 1);
Where position is -192471.781 37434.8008 -109674.266 (usually the same as in GlobalMartix, except it's a child of a parent entity, then it has relative coordinates).
I have no idea why center is different from the object position (sometimes/always?).
(You could use something like Blender to put a sphere of radius "Radius" at the position "Center" to see how it looks.)
Creation of a zones should be simple, just create a copy of another one, change the names, use NewPos() AND
don't forget to use a new GUID (while the Creator guid needs to be unchanged, of course).
Happy modding!
edit: Center_x= (extents_x1 + extents_x2) / 2
Center_y= (extents_y1 + extents_y2) / 2
Center_z= (extents_z1 + extents_z2) / 2"in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (01.12.2021 um 10:10 Uhr)
-
- Registriert seit
- Mar 2019
- Beiträge
- 5
Huge thanks for this! After making my original post I've figured out the purpose and the correct use of Center & Extents perimeters so no issues there.
Radius & Matrix are more confusing, I understand the last 3 perimeters in MatrixLocal & MatrixGlobal which define XYZ but unsure about the rest of them (0.403553218 0 -0.914956152 0 0 0.999999642 0 0 0.914955914 0 0.403552592 in your example, sometimes they're even numbers like 1 0 0 0 0 1 0 0 0 0 1 0, sometimes they're decimals within range of 0 to 1).
Radius distance doesn't seem to follow any logic or order as well but your post gave me a hint as I was wrongly thinking of these 3D shapes as ellipsoids with 3 coordinates in 3 dimensions, where in fact it might be just a 2d ellipse so I don't have to consider Y cords to define radius. I'll give it a try once I come back from work!
-
It's just a rotation matrix which defines 3 euler angles, afaik.
1.000000 0.000000 0.000000 0.000000
0.000000 1.000000 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
Then the position follows:
x y z 1.000000
Angles are not that important for music zones, I guess, but here's Baltram's "command" to change them:
NewRot = (euler 3.141593 0.000000 0.000000);
It's radians to be used (in degrees it's 180°, 0°, 0° for the NewRot example)."in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (01.12.2021 um 17:52 Uhr) Grund: typo
-
- Registriert seit
- Mar 2019
- Beiträge
- 5
Me again All I've got to say is that it's extremely difficult and misleading.
Extents, Center & Radius don't actually seem to do anything at least for background music. I think they're basically restrictions which define borders beyond which you can't have the music for specific zone so as long as you're working within these parameters you're good to go, still can't comprehend how the game calculates its Radius. They also might have something to do with SFX ie: ambiance, sound of wind etc.
The parameter that actually defines center of the music area is MatrixLocal & MatrixGlobal as changing these two is what actually made the difference and allowed me to reallocate music in Goliet.
In terms of actual borders: toying with class bCBox AreaBox seems to be the option that works and allows you to shape the rectangle within which you play the music itself (or perhaps quadrangle?)
Still it's a very time consuming trial and error process, as trying to calculate borders of each music zone doesn't seem to match the numbers shown in the document. Sometimes it does, sometimes it doesn't.
And I'm not even going to mention the issue of understanding the priority of which musicarea gets played if you have two AreaBoxes overwriting each other.
EDIT: Just few quick notes for each parameter in the MusicArea file:
MatrixLocal & MatrixGlobal = Your actual physical centre from which you build your bCBox, unsure how euler angles impact music areas atm.
Extents = just make sure it matches MatrixLocal/Global POS + bCBox cords
Center = self explanatory, derive from Extents, just do x1 + x2 /2, same for Y & Z cords.
Radius = Unknown at the time, I might be too stupid to do math but I just don't see it.
Range = Leave it at 100000;
class bCBox AreaBox = this defines actual music area and has to match extents and vice versa. Calculated from MatrixLocal/Global pos.Geändert von Kunzzi (02.12.2021 um 22:20 Uhr)
-
Well, that's really strange, I increased an entities y position (height) by 100 (37355.5039 -> 37455.5039) and the bounding box increased in all directions (bug?)
Code:NewPos= (vec -194880.016 37455.5039 -102631.234); MatrixLocal = (mat 0.0475930683 0 -0.998866856 0 0 1 0 0 0.998866856 0 0.0475930683 0 -194880.016 37355.5039 -102631.234 1); MatrixGlobal = (mat 0.0475930683 0 -0.998866856 0 0 1 0 0 0.998866856 0 0.0475930683 0 -194880.016 37355.5039 -102631.234 1); Extents = (box -195772.266 37080.5508 -103300.102 -193746.078 38337.9961 -102006.664); Center = (vec -194759.172 37709.2734 -102653.383); Radius = 1356.42773;
as expected:
MatrixLocal = (mat 0.0475930683 0 -0.998866856 0 0 1 0 0 0.998866856 0 0.0475930683 0 -194880.016 37455.5039 -102631.234 1);
MatrixGlobal = (mat 0.0475930683 0 -0.998866856 0 0 1 0 0 0.998866856 0 0.0475930683 0 -194880.016 37455.5039 -102631.234 1);
unexpected:
Extents = (box -196115.594 36452.8438 -104009.813 -193402.75 39165.7031 -101296.953);
differences (x_new - x_old, etc.): -343.3 -627.71 -709.7 343.25 827.7 709.7
(Center y moved correctly)
Center = (vec -194759.172 37809.2734 -102653.383);
Radius = 1356.42773;
edit: from the sources (latest?) it looks like a known problem:
// ToDo: Better bounding box approximation
stream3D << ( vecCenter - mCVec3( fRadius, fRadius, fRadius ) ) << ( vecCenter + mCVec3( fRadius, fRadius, fRadius ) );"in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (03.12.2021 um 01:59 Uhr)
-
Da ich meinen E-Checker schon ewig erweitern wollte, hier ein Log der Positionen Musikzonen in ABE_MusicZones.elexsec (dist(ance) einfach ignorieren):
Code:0x2b3 2. AreaZone_Theme_Highlands -119211.539063 44184.312500 -77124.031250 -> dist 141000 0x4fb 3. AreaZone_Mus_Converter2 -81728.554688 40964.113281 -60220.867188 -> dist 101000 0x743 4. AreaZone_Mus_Converter2 -118617.343750 47399.050781 -23367.732422 -> dist 120000 0x98b 5. AreaZone_Mus_Relict -191324.218750 36385.460938 -82229.492188 -> dist 208000 0xbcb 6. AreaZone_Theme_Highlands -13667.873047 52132.773438 10727.726563 -> dist 10k20k, 17000 0xe13 7. AreaZone_Mus_Dungeon3 -65881.437500 55806.250000 11829.212891 -> dist 60k70k, 66000 0x1057 8. AreaZone_Mus_Homebase -123717.312500 48616.734375 -104836.726563 -> dist 162000 0x129b 9. AreaZone_Mus_Homebase -52069.656250 41163.460938 -40011.875000 -> dist 60k70k, 65000 0x14df 10. AreaZone_Mus_Dungeon -64067.898438 43541.285156 -80990.304688 -> dist 103000 0x1721 11. AreaZone_Mus_Ruins -73714.000000 44644.437500 -114720.101563 -> dist 136000 0x195f 12. AreaZone_Mus_Beach -90666.484375 48644.425781 -91568.367188 -> dist 128000 0x1b9d 13. AreaZone_Mus_Dungeon3 -130008.148438 42295.101563 -46218.023438 -> dist 137000 0x1de1 14. AreaZone_Mus_Homebase -87258.593750 45138.398438 -44455.285156 -> dist 97000 0x2025 15. AreaZone_Mus_Ruins -37378.070313 47530.445313 -82758.812500 -> dist 90000 0x2263 16. AreaZone_Mus_Beach -99300.437500 41802.050781 -54560.179688 -> dist 113000 0x24a1 17. AreaZone_Mus_Dungeon3 -69210.531250 47094.371094 -9117.346680 -> dist 60k70k, 69000 0x26e5 18. AreaZone_Mus_Dungeon -33565.976563 42845.414063 -106167.171875 -> dist 111000 0x2927 19. AreaZone_Mus_Dungeon3 -25333.208984 41421.750000 -119270.546875 -> dist 121000 0x2b6b 20. AreaZone_Mus_Dungeon -90486.992188 49597.273438 -7412.129883 -> dist 90000 0x2dad 21. AreaZone_Mus_Dungeon3 -155535.000000 49302.988281 -23559.468750 -> dist 157000 0x2ff1 22. AreaZone_Mus_Beach -149160.093750 43438.164063 -44399.625000 -> dist 155000 0x322f 23. AreaZone_Mus_Ruins -152275.218750 44607.531250 -63627.359375 -> dist 165000 0x346d 24. AreaZone_Mus_Homebase -187371.375000 44478.804688 -55173.234375 -> dist 195000 0x36b1 25. AreaZone_Mus_Beach -224729.375000 17459.093750 -73338.796875 -> dist 236000 0x38ef 26. AreaZone_Mus_Homebase -189588.531250 32544.503906 -129243.234375 -> dist 229000 0x3b33 27. AreaZone_Mus_Ruins -171980.953125 33935.589844 -139641.406250 -> dist 221000 0x3d71 28. AreaZone_Mus_Beach -135103.437500 41892.640625 -138926.109375 -> dist 193000 0x3faf 29. AreaZone_Mus_Beach -107328.289063 35544.632813 -146728.546875 -> dist 181000 0x41ed 30. AreaZone_Mus_Dungeon -185507.437500 43230.875000 -65338.765625 -> dist 196000 0x442f 31. AreaZone_Mus_Dungeon -42542.414063 49525.753906 18828.269531 -> dist 40k50k, 46000 0x4671 32. AreaZone_Mus_Dungeon -111371.484375 37504.652344 -95447.335938 -> dist 146000 0x48b3 33. AreaZone_Mus_Ruins -181393.015625 44090.066406 -39934.765625 -> dist 185000 0x4af1 34. AreaZone_Mus_Converter2 -171188.609375 33870.347656 -53878.152344 -> dist 179000 0x4d39 35. AreaZone_Mus_Dungeon3 -150188.718750 29581.417969 -86665.593750 -> dist 173000 0x4f7d 36. AreaZone_Mus_Homebase -197749.953125 22299.667969 -102300.203125 -> dist 222000 0x51c1 37. AreaZone_Mus_Dungeon -152858.625000 43938.234375 -111025.984375 -> dist 188000 0x5403 38. AreaZone_Mus_Ruins -172592.375000 39072.933594 -92165.375000 -> dist 195000 0x5641 39. AreaZone_Mus_Ruins -173851.390625 41438.128906 -80121.437500 -> dist 191000 0x587f 40. AreaZone_Mus_Homebase -162235.078125 36503.414063 -78097.882813 -> dist 180000 0x5ac3 41. AreaZone_Mus_Outdoor_Forest -170360.687500 32572.242188 -112138.281250 -> dist 203000 0x5d13 42. AreaZone_Mus_Converter -166308.359375 32925.390625 -41428.949219 -> dist 171000 0x5f59 43. AreaZone_Mus_Converter -191568.312500 38239.324219 -112966.648438 -> dist 222000 0x619f 44. AreaZone_Mus_Converter2 -162456.484375 36026.027344 -48397.183594 -> dist 169000 0x63e7 45. AreaZone_Mus_Dungeon -186874.296875 49857.886719 -29314.298828 -> dist 189000 0x6629 46. AreaZone_Mus_Beach -118502.054688 57493.328125 -87466.726563 -> dist 147000 0x6867 47. AreaZone_Mus_Dungeon -141284.578125 47406.953125 -81861.132813 -> dist 163000 0x6aa9 48. AreaZone_Mus_Dungeon -125052.578125 42985.652344 -60391.980469 -> dist 138000 0x6ceb 49. AreaZone_Mus_Ruins -135960.328125 43384.957031 -62465.148438 -> dist 149000
Spoiler:(zum lesen bitte Text markieren)
Edan:
Spoiler:(zum lesen bitte Text markieren)
Nachtrag: wenn man für die erste entity AreaZone_Theme_Highlands (nach der root entity) die Strecke zwischen
center -132971,000000 57644,164063 -70620,156250
und extents ("eins") -300593,437500 17407,015625 -124773,671875
berechnet, kommt für den Radius tatsächlich ziemlich genau 180690,1 raus."in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (03.12.2021 um 17:08 Uhr) Grund: Nachtrag
-
- Registriert seit
- Mar 2019
- Beiträge
- 5
I think you figured it out Tombom.
Extents = (box -339464.219 1531.52344 -330902.063 -73615.2188 82005.8203 -124769.25);
Center = (vec -206539.719 41768.6719 -227835.656);
Radius = 172946.906;
Matches https://www.omnicalculator.com/math/distance
[Bild: B4J6vjB.png]
Great find! I'll give it a try. Last thing to do is use something like Blender and add a photo of Elex Map on as X plane and then model a simple UV Sphere mesh which you can transform to your liking until you get your euler angles which you can get from rotation tab using Quaternion format.
[Bild: B4J6vjB]
[Bild: B4J6vjB]
-
- Registriert seit
- Mar 2019
- Beiträge
- 5
Me again, I've done it! Adjusted it all manually as I didn't want to just move the center.
Goliet is now fixed, playing the mus_berserker across the whole city including northern, western and eastern gates.
Old code:
Code:"AreaZone_Mus_Berserker" { GUID = {EE16D2AC-DD8C-4B98-AA6D-02790972A6B8}; Creator = {70259B64-682F-45E2-AD7C-55092BB9F91D}; MatrixLocal = (mat 0.967088521 0 0.254433334 0 0 0.999999583 0 0 -0.254433334 0 0.967088521 0 -125008.359 35958.0117 -227959.672 0.99999994); MatrixGlobal = (mat 0.967088521 0 0.254433334 0 0 0.999999583 0 0 -0.254433334 0 0.967088521 0 -125008.359 35958.0117 -227959.672 0.99999994); Extents = (box -132583.469 30955.2871 -242418.844 -107692.422 50565.5859 -220043.719); Center = (vec -120137.945 40760.4375 -231231.281); Radius = 19395.709; Range = 100000; Unknown0 = <CA FD 00 7A 7E 6C 69 93>; Unknown1 = <05>; Unknown2 = <1D A4 00 00 01 00>; class eCArea_StringProperty_PS { Version = 1; Properties { class bCBox AreaBox = (box -6678.46094 -5002.73047 -13194.1641 14433.9609 14607.5742 4387.91406); class bCSphere AreaSphere = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 42>; bool UseBox = True; class bTObjArray<class bCString> PropertyNameList = [ "mus_berserker"
"AreaZone_Mus_Berserker" { GUID = {EE16D2AC-DD8C-4B98-AA6D-02790972A6B8};
Creator = {70259B64-682F-45E2-AD7C-55092BB9F91D};
MatrixLocal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 -125008.359 35958.0117 -227959.672 1);
MatrixGlobal = (mat 1 0 0 0 0 1 0 0 0 0 1 0 -125008.359 35958.0117 -227959.672 1);
Extents = (box -132870.563 33679.7305 -245307.203 -102455.359 46128.7695 -210812.281);
Center = (vec -117662.961 39904.25 -228059.734);
Radius = 23822.0625;
Range = 100000;
Unknown0 = <CA FD 00 7A 7E 6C 69 93>;
Unknown1 = <05>;
Unknown2 = <1D A4 00 00 01 00>;
class eCArea_StringProperty_PS {
Version = 1;
Properties {
class bCBox AreaBox = (box -7862.20117 -2278.28174 -17347.5273 22552.998 10170.7578 17147.3926);
class bCSphere AreaSphere = <00 00 00 00 00 00 00 00 00 00 00 00 00 00 C8 42>;
bool UseBox = True;
class bTObjArray<class bCString> PropertyNameList = [
"mus_berserker"
It's far from perfect, the music area clips outside of the city gates in some places but still an improvement nonetheless. I think the obvious limitation of this system is the fact that you try to use spherical shapes to define 3D spaces which means that you can't really confine triangular shapes and areas in game to perfectly match the music area.
There are certain ways to improve this: a) you could start messing about with euler angles to have more control over your ellipsoids as using the basic 1 0 0 0 0 1 0 0 0 0 1 0 vector means that everything is aligned in parallel to the X & Y axis.
Other method is to create more, smaller music zones which could help you to create more refined shapes.
What I basically did atm is slapping one massive ellipse over the entire city.
But you could create 2 smaller music areas and rotate them to fit the city layout, something closer to this: https://imgur.com/a/yh8BFQ7
-
Great! (It's a little bit funny that you were the first to notice this music zones "mismatch", 4 years after release.)
Here's a graphical "representation" (haha) of the vanilla music zones of ABE (was too lazy using math for AreaBox rectangles so chose circles at position [center] and "radius").
Since my monitor has changed (different screen solution) the radius of circles is estimated (maybe to small?).
Spoiler:(zum lesen bitte Text markieren)"in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (04.12.2021 um 22:45 Uhr)