Jump to content


  • Content Count

  • Joined

  • Days Won


About goaway

  • Rank
  • Birthday 02/03/1913

Profile Information

  • Location
    chi town
  • Interests
    lurking for at least 5 years before posting anything
  • Bio
    probably not

Contact Methods

  • Website

Recent Profile Visitors

5,607 profile views
  1. This is very hard to quantify or explain unfortunately, my FPS is capped at 60 and doesn't really change except in cells with many NPCs. The best way I know how to see the performance impact of physics is to make a cell that brings me down to about 40-45 fps and then open the console. When you do this, the graphics are still rendering full-power, but the physics engine stops calculating while the console is open, so my fps shoots back up to 60. When I set it up to use OpenCL, I haven't been able to drop my FPS by physics, the only way it ever goes down is when I overload my GPU with supersampling resolutions and that doesn't have anything to do with physics. That said, I already went through a lot of trouble writing the guide. It is fairly simple and does not take very long to test this yourself, so I don't really have any intention of making a youtube video to "prove it". It's ok with me if you aren't interested, I just wanted to share it in case somebody else is. The fact that it is using the GPU is very easy to see. Using MSI-Afterburner and RTSS, I can track my GPU utilization and VRAM. My GPU maxxes at about 80% in skyrim using my ENB settings, and I can switch to the GPU PlatformID of OpenCL and see that rise to 95% without an increase in VRAM. Changing the platformID is the only variable that is different. I can't really think of an alternative explanation for that. I should add that I do not have anything in my logs like unknown parameter. Maybe it's different based on which version of the .dll you are running? I was pretty sure that it used ODE quick-step physics as a solver, but it sounds like you know a lot about this, so I will take your word for it. But... the whole point of setting the platformID is to specify the GPU version of openCL (which is openCL 1.2 C, as opposed to the CPU-graphics which uses OpenCL 2.1) The variables are part of the actual OpenCL code language, so maybe it doesn't really matter if SMP defines them in the source as long as it integrates the OpenCL libraries. Your guess is as good as mine. I'd also like to add that I verified the relationship between numQueues and max work group size by going over the limit. When I set it to 1025, my game would bog down and gradually become unstable, and setting it any higher than 1025 caused an immediate crash. I am uncertain how I could possibly explain this observation if it doesn't actually use OpenCL. That's sort of the point. If I used it with OpenCL= false or PlatformID=0, it would cause serious performance issues. But when I set it up like this, it works just fine. You are right, I probably overdid it with the iterations, but my methodology was to keep incrementing the values until I got stability or performance issues, and then scale back a few steps. The collisions are the aspect where the accuracy of the simulation is most noticeably improved. Any deformation caused by one mesh interacting with another is significantly less, well... deformed looking. Hand/breast interactions (this is loverslab, afterall), for example, do not have the same unnatural looking stretching, the deforming mesh looks more stable and less jerky. My assumption was that this is a result of the combination of increased total iterations plus the group iterations since I use a bodymesh and SMP config that utilizes multiple breast bones.
  2. Did you ever wonder why SMP physics in Skyrim is so performance intensive? Surprisingly, it could be because it is not set up to take full advantage of your hardware. OpenCL is extremely good at performing the kind of calculations used by a physics engine which runs on dozens or hundreds of paralell entities, but the way HDT-SMP is set up by default is not tuned to make use of it. <configs> <opencl> <!--warning : not finish yet--> <!--warning : this can be slower because of the bad PCI-E transfer and bad schedule--> <enable>false</enable> <platformID>0</platformID> <numQueue>16</numQueue> </opencl> <solver> <numIterations>20</numIterations> <groupIterations>1</groupIterations> <groupEnableMLCP>true</groupEnableMLCP> <erp>0.2</erp> <min-fps>60</min-fps> </solver> </configs> This is the default config for HDT-SMP that would be found in your skse\hdtSkinnedMeshConfigs folder. As you can see, the openCL section is commented with warnings. After messing around with it in my spare time I have discovered a couple of things. 1. These numbers are no where near what OpenCL should be run at. 2. This is probably 99% of the reason why OpenCL seems to have bad performance. So how can you tweak this to fully make use of OpenCL? For starters, you are going to need a tool that lets you see the OpenCL profile for your CPU/GPU, called "GPU caps viewer". You can find the link to it on this page When you download and install it, open it up and you will see a screen that looks like this Click over to the tab marked "OpenCL" and you will see a screen that looks like this Depending on your CPU, GPU, motherboard, and bios, you may have multiple entries here. For this example, you can see that I have my GPU listed, a Nvidia RTX 2080 TI I also have the "intel HD graphics" platform profile, which is essentially the on-board display portion of my CPU chipset. A lot of skylake/coffeelake or newer CPUs will have this. You may want to come back and try this platform later, but for right now, let's stick with the GPU platform. There are a few things we want to know from the profiler. The first is the platformID. Take a look at the default config again, and you should notice this line. <enable>false</enable> <platformID>0</platformID> The platformID, 0, actually denotes NOT using an OpenCL capable platform on my device, and the OpenCL capable platforms are 1: GPU, and 2: CPU graphics. If you enable OpenCL but don't select the correct platformID, you will almost certainly see a drop in performance. This may explain the commented section. Since my GPU is platform 1, I will change my config to look like this <enable>true</enable> <platformID>1</platformID> Right away this gave me a pretty sizable performance boost. It actually gets better though. Next you want to determine the maximum number of queues you can scale up to. One of the biggest bottlenecks for HDT-SMP is actually not how quickly it can perform the calculations, but the fact that physics engines are designed to calculate in real time! If the physics calculations are not completed for whatever reason before the GPU completes a given frame, the frametime render may actually be throttled until the physics solver can keep up. This means that even if your system can easily handle the calculations, if the solver is not able to process enough calculations simultaneously, it will create a bottleneck! And due to how world physics seems to work, this bottleneck may actually throttle your FPS down to keep the time-based physics calculations accurate. Note: This is my own speculation, however, I am not 100% certain that the implementation of SMP works the same way, but it certainly seems to be the case. Back in GPU caps viewer on the OpenCL screen, you want to find the value for maximum parallel work-item/work-group sizes As you can see from my GPU, it is capable of 1024 x 1024 x 64 array calculations with a max workgroup size of 1024. I'm not exactly a programmer, nor particularly familiar with multi-threaded architecture, but I think this may be where some of the confusion originally came from. Intel describes the maximum workgroup per slice of 16, and the calculation to determine maximum necessary work groups as ( work items ) / (work items / work group). However, this is per slice of CPU graphics, NOT the total, which Intel recommends as 256. When I went back to look at my CPU HD graphics platform, this is exactly the max work group size listed, 256. So going on that value, and using my GPU max work group size value of 1024, I changed my config to look like this now <opencl> <!--warning : not finish yet--> <!--warning : this can be slower because of the bad PCI-E transfer and bad schedule--> <enable>true</enable> <platformID>1</platformID> <numQueue>1024</numQueue> </opencl> The first time I tried this I was sure this would cause a crash. After all, the default value for queues is 16, and this is 64 times larger. Not only did it not crash, but it ran absolutely flawlessly! I even stress-tested it a bit by loading up a huge number of NPCs in a single cell, all of which were wearing HDT-SMP outfits that required calculations. Previously this would drop my framerate considerably, but not so anymore! You may want to experiment with this a bit, but there are two things to keep in mind. You shouldn't set your numQueue higher than your maximum workgroup size, and whatever value you do set needs to be a power of 2. Let's go back to the intel CPU platform for a second. If you run a very demanding ENB, you might already have your GPU close to maxxed out with just post-processing enhancements. In which case, you might find more benefit out of using your CPU to perform the calculations, since skyrim LE almost never taxes modern CPUs anywhere close to what they are capable of. If I wanted to use my CPU instead, I would go to the OpenCL tab back in GPU Caps viewer Based on these values, I would then set my config like this <opencl> <!--warning : not finish yet--> <!--warning : this can be slower because of the bad PCI-E transfer and bad schedule--> <enable>true</enable> <platformID>2</platformID> <numQueue>256</numQueue> </opencl> You may need to experiment a little to see which option gives you better performance. In my case, my GPU is powerful enough to be able to handle both ENB and physics, but your results may differ. With that set up, you can either be satisfied with the performance improvements, or you can try and tweak the solver calculations too. The default values for these vary from what I have seen, but generally it looks like this <solver> <numIterations>20</numIterations> <groupIterations>1</groupIterations> <groupEnableMLCP>true</groupEnableMLCP> <erp>0.2</erp> <min-fps>60</min-fps> </solver> There are a few things we can try changing here. The first one is the ERP value. What is ERP? It is the error reduction parameter, and it represents the % of error that is corrected with each frame of time that is calculated by the physics solver. When Physics engines run a calculation on a joint of two connected bodies(bones), there is a natural divergence from the imposed constraints that happens to occur. This is a good reference It ranges from 0.1 to 1.0 (in theory), but most references I have found say 1.0 is impossible, and 0.9 is the limit. It is how quickly (closer to 1.0) or how smoothly (closer to 0.1) the error is corrected. This is relevant for outfits and hair that has a long chain made out of multiple joints. I have found that I prefer setting this a bit higher, so errors are corrected quicker, and I set mine to 0.4. Setting it to 0.5 or higher introduced some instability that made my game start crashing, although you may get different results. Next you can try increasing the iterations. Most of the physics engine references I have found suggest that 20 is already on the high end of iterations, but what about the group iterations? What I have found suggests this is performed on a connected group (such as every joint in a strand of cloth, a tail, or hair, for example) that is performed in addition to the total quick-step world iterations. So, since using OpenCL allowed for a huge expansion of the number of calculations that can be performed, I changed it to match the total iterations (which may be overkill) and now my config looks like this <solver> <numIterations>20</numIterations> <groupIterations>20</groupIterations> <groupEnableMLCP>true</groupEnableMLCP> <erp>0.4</erp> <min-fps>60</min-fps> </solver> This worked pretty well! I decided to push the total iterations up a little until I started getting stability/performance issues, and ended up with the final values of num 32 and group 20 and adding the previous section, my overall configs.xml is now <configs> <opencl> <!--warning : not finish yet--> <!--warning : this can be slower because of the bad PCI-E transfer and bad schedule--> <enable>true</enable> <platformID>1</platformID> <numQueue>1024</numQueue> </opencl> <solver> <numIterations>32</numIterations> <groupIterations>20</groupIterations> <groupEnableMLCP>true</groupEnableMLCP> <erp>0.4</erp> <min-fps>60</min-fps> </solver> </configs> This has not only given me a SIGNIFICANT performance boost, especially when surrounded by many actors all wearing HDT-SMP outfits, but it has also improved the accuracy (ie realism) of the physics quite a bit. Give it a try and let me know what you think. It may take some experimenting to find the ideal values if your system is already strained by other parts of your Skyrim build, but hopefully this will make SMP physics more appealing and minimize whatever performance impacts it may have on your system. If you experience problems or have stability issues and need to undo any changes, the default settings are shown in the first box.
  3. There were a few missing pictures that either didn't upload properly or I forgot to upload, so I went back and added them. I fixed a couple typos in the process, too. That's an interesting thought, but the true source of Synne's magic isn't inner strength. It is something far more powerful and FAR more terrifying, as Mystra's reaction suggests. This secret is something I have hinted at throughout Synne's description since the very earliest descriptions of the mod. No spoilers though, sorry! Ok, ok, one hint. In the Daedric alphabet, there are two letters which have seemingly been erased and according to the official lore, do not exist. One of which appears frequently, but is never acknowledged. The other one is gone entirely, missing from words which should contain it. Ever wonder why her name is Synne instead of Sin, or even Sinne? Is it just poor spelling, or maybe something... more? Hmm... Thanks! Glad you enjoyed it.
  4. Mystra has planned an expedition to Blackreach in order to answer some burning scientific question demanded by her research. The dangerous nature of this expedition led Mystra to enlist the aid of that nefarious not-quite-villain, Mistress Synne, as Mystra often does when facing hazards or challenges too great for her to overcome by herself. Synne, owing to the fact that she needed to stay clear of local authorities for a few days, and perhaps because she rarely has anything better to do, eagerly agreed to aid Mystra with her research. Since the last blog entry, I have been working on a little more story content to add some more depth to the personality of the Nymph followers, and this is the latest result. It is a picture story involving Mystra, Mystra's Golem, and Synne told in 3 acts. There are a lot of 4k images, but since they are all highly compressed jpgs, it shouldn't cause too many problems this time. It took a few tries to tweak the compression, but I'm pleased with how much quality I managed to maintain while still bringing each image below 1mb. Synne and Mystra represent two of the most unique (and difficult) characters I have ever written for. There are a lot of facets of both of characters that I wanted to share, including a few details I have only hinted at before, and until now I haven't had the opportunity to do so. I hope I have captured both of their core essences in a way that you will enjoy reading. Another thing I've wanted to find a way to share is the complexity of Mystra's Golem, in particular, her quirky temperament. Mystra specifically designed her Golem to think for herself, so Poxy isn't your typical mindlessly obedient familiar. Synne often emphasizes that the Pox Golem has a sense of humor, and suggests that Poxy is prone to making silly faces when Mystra isn't looking (although it is doubtful that Mystra believes her). While writing it, I had no idea what was going to happen next or how it was going to end. I ended up letting the characters tell the story themselves through their very distinct personalities, and it had quite an unexpected ending. Disclaimer: This is a semi-NSFW post. There is no sexual content, but there is some nudity. However, that nudity is primarily the Pox Golem, who is essentially a nude marble sculpture. Disclaimer 2: There are several passages in the first act that focus on the inner-workings of Mystra's golem, and it could be viewed that they are slightly disruptive to the lore-friendly setting that I strive to uphold. I would argue that despite being a magical construct, her Golem is something that borders on an arcane form of artificial intelligence, and as such contains highly sophisticated functionality that presents itself with a more technological flavor. Drawing on the words of Arthur C. Clarke who said, "Any sufficiently advanced technology becomes indistinguishable from magic," my belief is that the inverse holds true, and that any sufficiently advanced magic begins to look like futuristic technology. Nevertheless, I have included these as separate sub-sections for those who would prefer to avoid the potentially disruptive presentation. Act I, Escape We begin our story deep underground, in what appears to be some sort of storehouse or barracks: a sturdy building with only one way in or out. Inside, Mistress Synne is apparently in the middle of regaling her companions (Mystra and Mystra's Golem familiar) with a gripping tale involving her adventure as the High Priestess of a cult of Molag-Bal worshippers, presumably many years ago. What were the three of them doing underground? What exactly was Mystra researching? How did they find themselves in their present situation? Let's find out... Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Part 8 Part 9 Part 10 Part 11 Part 12 Part 13 Part 14 Part 15 Act I Epilogue With Poxy's help, Mystra manages to put her plan into action. Synne and Mystra find a safe hiding spot while Poxy lures the bulk of the enraged falmer horde deep into the confined space. Her golem is quickly overwhelmed, but Poxy's brave sacrifice buys enough time for Synne and Mystra to sneak past the main force. Once outside, Mystra quickly seals the door behind them with another freezing spell. This new ice-wall contains no toxins and won't last as long as the first one, but with the majority of the army temporarily trapped on the inside, Mystra has just enough energy left to re-construct her golem on the outside. Now re-joined by Poxy, the three of them fight their way to the surface, and owing to their considerable combined fighting strength, they even manage to reach the safety of daylight relatively unharmed. Act II, intermission Echoes of angry hissing and insectoid clicking can be heard protesting their escape as the mechanical lift bursts forth from the underground chasm into the blinding glare of a snow-reflected sun, where the falmer are loathe to follow them. Mystra appears tired, but relatively unharmed. Synne has only minor injuries but is heavily fatigued, owing to her heavy plate 'armor' and tendency to engage multiple enemies at once through a combination of swordplay and spellcraft. The Pox Golem has several deep chips and cracks throughout her marble stonework, but an unseen magical force is gradually filling in any gaps in the stone surface while the trio rests. Part 16 Part 17 Part 18 Part 19 Part 20 Part 21 Act II Epilogue Very shortly after emerging on the surface, with just enough time to catch their breath and treat any minor wounds, an industrious looking figure emerged just over the horizon. After a brief conversation while resting, it now becomes apparent that this figure is in fact a young man who is heading towards the trio at a brisk pace. Act III, Finale The young man heading toward the trio now looks to be a courier and he appears to be in quite a hurry. How the courier knew where to find them, or how he managed to time his approach so that he would reach their location mere moments after they returned to the surface is anyone's guess. Part 22 Part 23 Part 24 Part 25 Part 26 Part 27 Part 28 Part 29 Part 30 *THE END*
  5. Merry Christmas and Happy Holidays, from the Nymph girls to you!
  6. Hmm, I was hoping to maintain the highest image quality possible, but there's no point to that if nobody can see them, or if they aren't visible without clicking the links. I have downsampled them as much as I can while preserving most of the quality, hopefully that should fix it.
  7. Hello Nymph lovers! I've got something that I've been putting together in the last couple weeks you might enjoy reading! It's a short story about Lady Kayellie and her Wood Nymph companion, Arborea. Lady Kayellie, who is one of the NGoS followers, a Blended Nymph, and might also be a knight, but she may have just read one too many books. This particular story is hinted at a little bit in her Kayellie's description, and is now re-imagined by her closest travelling companion. I should warn you that there isn't any nudity or sexytime in this. The story is told through some of my very best 4k screenshots. It has some suggestive dialog and some scantily clad ladies but it's fairly SFW. It was orignally just a way to flex my creative muscles and maybe get in the habit of writing dialog for the next update I have in mind, but I enjoyed the result enough that I thought you might enjoy it too. Foreword Chapter I Shortly after another successful adventure ridding the world of Tamriel of another cataclysmic threat, perhaps by rescuing a stray cow from a nearby stream, Lady Kayellie and her not-quite-squire are travelling south from solitude. The story begins as they embark from dragonbridge. Part 1 Part 2 Part 3 Part 4 Part 5 Chapter II Arborea, taking a short detour through the reach, manages to find herself closing in on the city of Markarth. She considers herself lucky to have only encountered a single war-band of the reachmen known as the forsworn along the way. Arborea is a competent mage, but has never bothered mastering her art, and she wasn't sure if their strange weapons would be capable of injuring a Nymph, such as herself. Fortunately, her unique brand of magic proves so terrifying to the native reachmen that she only had to expend minor effort before the entire group began fleeing back to the hills while screaming about having their "brains eaten by a rainbow monster." Three gate guards are stationed on duty, one on each side of the gate, and while another normally mans the tower, today a recently recruited trainee is instead learning about gate duty. Part 6 Part 7 Part 8 Part 9 Part 10 Part 11 Chapter III Sometime later, the story of Lady Kayellie and the Water Dragon can now be told. Witness now the epic saga that shook a city to it's very core! Part 12 Part 13 Part 14 (image heavy) Part 17 Part 18 (Image heavy) Part 19 Part 20 Chapter IV - Epilogue Part 21 Part 22 Part 23, Conclusion Appedix with character descriptions for those unfamiliar with them or those who do not have the links handy Lady Kayellie Arborea
  8. Can you be more specific about this? Which body are you using? Which preset? Which Nymph race? This is a bit of a head scratcher. Generally sexlab manages this kind of thing through the use of tags and keywords. I imagine it's got something to do with her being a custom race, but I'm not familiar enough with those mods to know why that would make any difference. I will double check the Night Nymph race to see if there is anything different about the male/female variants that may be causing this. Does this happen with every Nymph race, or just the Night Nymph? Although... I would argue that her "not getting pregnant" from random sex is actually 100% in line with the lore. Ha, no matter what else happens to Lykaea, any day that she wins a fight is a good day for her. It's always nice to hear that it's appreciated, thank you. I hope you enjoy it, and I hope you look forward to what I have planned next!
  9. Making a new texture and doing a little bit of sculpting. Had some free time this weekend so I thought I would tinker around with the High Nymph race. Got a lot done actually! Built a nice new texture out of 18 layers of 8k maps. It took all my video memory just to manipulate the image in photoshop! The goal was the ideal balance of flawlessly smooth skin, life-like skin details, skin tone, and shading/shadowing. Looks a little messy around the edges of the UV map still since none of those parts actually get used for rendering. I plan to clean it up once I finish it. Think maybe the nipples need more work. At the same time I made a good start on this girl, my texture model. She still needs a little work. Sometimes when I'm sculpting I get to a point where I can tell something is still "off" about the face, but it's too subtle to know exactly what it is, like the eyes are a little too far apart, or the radix of the nose is a little too shallow, or her jaw line sticks out too far relative to the cheek line. Faces are really complicated and a millimeter off in any direction has a huge impact on the aesthetics. Glad I'm not going to be a plastic surgeon. Anyway, not sure if she will end up being the basis for the High Nymph racial trishape, or the High Nymph follower.
  10. Just FYI, the bodyslide preview is going to show you what the body looks like with the default "femalebody_1.dds" texture you have installed under your character assets directory. If you use CBBE bodies as a base, it will show up looking like this. This does not mean the body will look like this in game, since each race has it's own pre-defined textures. You can actually build a pseudo-CBBE body by using zeroed sliders on any of the races, and they will show up just fine in game as long as you are naked. The downside is that if you try to wear a skimpy CBBE outfit it will distort the skin textures similar to what you see in that picture, since nearly every outfit that shows any skin uses the bodyskin texture that the race already uses, which would not match the CBBE UV map. There are three options you could try here. First is to find some CBBE textures to replace the UNP ones used by the Nymph races, drag and drop over the existing textures in each race's folder, then replace the UNP body meshes with a CBBE mesh. You may be able to do this in bodyslide if you convert the Nymph body outfits to CBBE using the outfit studio conversion templates. I think you can actually skip several steps here since the CBBE body is used as the interconversion point from UNP->UUNP, but I've never had any reason to convert anything back into CBBE, so I'm not 100% familiar with the process. If you aren't familiar with bodyslide or working with texture/mesh paths, this may be a little hard to do, Second, you can try finding some UUNP conversions of the outfits you already use. This may be easier than you think, since CBBE is functionally able to convert into the zero slider UUNP without a whole lot of difficulty, and many people have published conversions of almost any outfit you can think of. It is actually easier to convert an outfit from CBBE -> UUNP than it is UNP -> UUNP. Basically the reason to use UUNP over CBBE is not because you like the body shape better, it's because UNP textures in general are much higher quality, and the UUNP body is a much higher poly body. For Skyrim SE the CBBE body is very nice, but the CBBE body in Skyrim Legendary edition is a much lower quality mesh, and has about half the polys that UUNP has. The third option is... well... you were planning to play a Nymph, right? Does she really need to wear clothes?
  11. Did you try using the group manager to add the outfits to the correct groups? They should already be part of the Unified UNP group, but if for whatever reason they aren't, you may be able to fix it by creating a new outfit group in bodyslide. Open the group manager on the main bodyslide page and click browse, then find the file named "unifiedUNPGroups.xml" within the folder "SliderGroups". Then scroll through the list of outfits and find all 5 Nymph races and add hands/feet/body for each one. Add each part as a member to the "Unified UNP" group that should already be listed under the Groups list on the left side by clicking the Group and then clicking the <<add button in the lower right. The "XXX Nymph Race" is the HDT-SMP version, so if you are using HDT-PE make sure to pick the one that is "XXX Nymph Race HDT-PE". Once you have added hands/feet/body for each race, click Save As and put it in the folder SliderGroups named something like NymphunifiedUNP.xml. If you load bodyslide through mod organizer, you will have to close the bodyslide.exe and re-open it after doing this. Now when you look under group filter and click "Unified UNP" the races should show up and should now have the correct presets available. To test this, I managed to recreate the situation you seem to be in with no presets listed under each outfit, and following these steps looks like it should fix the problem. If this still doesn't work, please let me know.
  12. When you installed bodyslide/outfit studio, did you make sure to check the option for Unified UNP morph presets? The bodies/races are all configured to only work with Unified UNP morphs, so if you only installed the CBBE morphs, you won't have any presets show up in that list.
  13. A nymph would never normally worship a Daedra for any reason. The reason is the same as why they can't become vampires. She is a magical creature and her magic comes from Aetherius, the plane the Aedra are from. It does not mix well with magic from oblivion. The only exception would be a fallen Magna-ge like Meridia. I could maybe see Azura if she has some Dunmer ancestory, too. Otherwise, a Nymph would have to be severely mentally unstable to worship magic that is the polar opposite of her own. As for Aedra, with a few exceptions, any of them would work, but I think a Nymph might have a different understanding of "worship" than a human does. The first exception is Akatosh, since an immortal Nymph has little consideration for the passage of time. The second is that a nymph would be pretty unlikely to worship any incarnation of Lorkhan, too. Whether that's Shor, Shezar, Sep, or Talos. He's the god of mortals. If you don't think Magnus is sexy enough, Dibella would make the most sense, since she may have blessed the race when they were created, and adherents of her temple commonly learn to speak the Nymph language. A Nymph who maintains some friendly relations with mortals may even get invited to participate in certain Dibellan rites or rituals, too. The temple of Mara also teaches the Nymph language to it's acolytes, but I think a Nymph would find Mara to be "less fun" in general.
  14. goaway

    Two Problems, One Solution

    The main Xnormal baking functions are a little complicated, but the simplest and most useful part of the program is the little addons under tools that let you build tangent space maps from height maps, photos, or inter-convert object to tangent space maps. If I just want to build a quick normal map to work on a diffuse map in game or in blender, it only takes me a couple minutes to generate something reasonable looking by converting a diffuse to greyscale in photoshop and adjusting the levels evenly, then building a 3x3 or 4sample tangent from the height map generator. Obviously when I want to fine tune the finished product I can spend a lot more time perfecting it, but every other program I've found either produces garbage results, or takes significantly longer to set it up correctly.
  • Create New...