[Mod Discussion] (Illusion) Honey♥Select (ハニーセレクト)

Sorry im not sure if this is the place to ask a question. I have seen video recorder and handphones having screen that shows the girl in the background. How do i go about doing that? Sorry for my poor english, it is not my main language.

The dance floor has such a video board which shows the dancing girl before it. I guess, that this was done with a RenderTexture. Search for this map or the mod of cur144.

Edit:
RenderTextf46c.jpg
I followed the instructions of the link above. I had to rotate the box and changed camera's Rendering Path to "Deferred" to produce the screenshot above.
 
Last edited:
@FutaBoy

This is just my assumption. It sounds like what enimaroah was explaining. Your new head only works when the referenced material file is loaded, in this case, loading the standard head did that. If you wanna make your head work in the first go then I guess you gotta do the correct external file linking.

The fang problem is hard to tell from the image because there are only 2 positions. Wanna share the mod file?
 
I noticed an other odd thing about my head. By starting the maker and choose one of the heads, where I add the fangs, you know that I get those issues with the teeth etc.
But if I load an saved girl, no matter if I load an created or the standart girl and switch to the new heads, than are the heads working well in the maker.

But there is still one thing what is disturbing me. There is an issue which I got it too in SBPR.
In some mouth positions, where I can use the slider, the fangs are moving strangely.
http://i.want.tf/to/that/H5QrlVRxwL.th.jpg[img][/url]
This happens only with the mouth positions 5, 7, 9, 12, 13, 17 and 37.
How I can manage this issue?
The really funny thing is, that it happens only with the cat fangs. With the snake fangs, which I made them for SBPR, I got not this kind of issue.[/QUOTE]

that's because it's being affected by the mouth morphs. I'm not sure how your mod is setup, but when doing fangs with the clown nose, if you attach it to the mouth, it'll move/morph with the mouth (just like whats happening to your fangs)
 
I noticed an other odd thing about my head. By starting the maker and choose one of the heads, where I add the fangs, you know that I get those issues with the teeth etc.
But if I load an saved girl, no matter if I load an created or the standart girl and switch to the new heads, than are the heads working well in the maker.

But there is still one thing what is disturbing me. There is an issue which I got it too in SBPR.
In some mouth positions, where I can use the slider, the fangs are moving strangely.

This happens only with the mouth positions 5, 7, 9, 12, 13, 17 and 37.
How I can manage this issue?
The really funny thing is, that it happens only with the cat fangs. With the snake fangs, which I made them for SBPR, I got not this kind of issue.

that's because it's being affected by the mouth morphs. I'm not sure how your mod is setup, but when doing fangs with the clown nose, if you attach it to the mouth, it'll move/morph with the mouth (just like whats happening to your fangs)
AND... if you attach them to the face/head, they'll seem to change length/depth as the mouth morphs. No way around it with the current animations that change the upper jaw instead of just the lip.
 
Aha okay, but is still odd for me.
Cause how I mention it, in SBPR I got this issue too, just only with the cat fangs.

With the snake fangs, I didn't had this strange issue, what you can see in the bottom picture.
 
@FutaBoy

Video here is showing what happen to your fang. Left fang goes to right and vice versa.

In the example, k07_egao_op_ha_0 needs to be fixed by mirroring fang vertices across the X-axis to their correct positions. How to do that depends on the software you use. For Maya I don't know any function that does this so if I had to do it I'd write a script.

Another way is to duplicate k07_egao_cl_ha_0, move it the position of k07_egao_op_ha_0 and make that a new morph target (delete the old k07_egao_op_ha_0 morph). This might be faster however I'm not sure about how to import this to the game and have it replace the old morph.

Edit 1:
Ooops my bad, the fangs don't just flip left-right but also up-down. So the mirroring approach is out of the question because up-down is non-symmetrical.
 
Last edited:
Hi all,

I got a problem with a normal map. This map is baked using xNormal with a plugin for baking Unity normal map found here. In the image below, the RGB normal map works fine in Unity. However, when I change it to a green-alpha map (HS normal map) UV seams are visible in both Unity and HS. Here are my questions...
  • Why do RGB and G-A maps not producing the same result?
  • Can we use RGB map in HS?
  • Anyone have experience in baking normal map for HS? What tools do you use?
  • I can't find Unity documentation saying anything about G-A normal maps. They wrote it somewhere?
Any help is appreciated.




Edit 1:
I got the green-alpha DXT dds normal map to work in Unity now but seams still showing in HS. This might have something to do with how tangent is recalculated in Unity.
 
Last edited:
When using Maya for mirroring one side of morph, I would create an auxiliary mesh, cut the bad half and mirror the good half, then Merge to make it a single mesh. This mesh would be the "Life Surface" to snap to. The auxiliary mesh can be deleted after snapping. The mesh with the corrected vertex positions would be used as blend shape.



Currently thinking about Wolfram's reply. But I didn't study the normals maps in HS. Are they 16bit?
 
I think they are 8 bit, not very sure. Anyway now that I can get a 2 channel normal map working in Unity I can compare Unity and HS and see what's the problem. The problem is the plugin I used to make the normal map requires tangent recalculation of the mesh. Unity does that and it works while SB3UGS doesn't and the seam shows. I can either...
  • use a new plugin that matches Unity tangent space and doesn't require the tangent recalculation of the mesh to bake a new normal map
  • use some software to recalculate tangent exactly the same way Unity does and use the old normal map
  • export the recalculated mesh from Unity and use that with the old normal map
The last choice seems to be the easiest but I'm still finding out how to do it...

Btw, how does "Calculate Tangent for Selected Mesh" in SB3UGS work?
 
Aren't those normal maps the ones in the BumpMap slots? They are DXT5 and therefore 32 bit. Too much effort to understand that shader...

The tangents are computed with the standard algorithm and use UV and Normal as input. So the result will depend on the normals which can optionally be computed immediately before the tangents. The sign of the threshold will define if the normals are for hard or for soft edges, and this will have an influence on the tangents of the border vertices. The selection of meshes will influence the result in case of soft edge normals, because the bigger the threshold the more vertices in the vicinity will get the same normals.

Edit:
Link found in web archive: http://web.archive.org/web/20160409104130/http://www.terathon.com/code/tangent.html
edited HTM for offline viewing
 
Last edited:
Your standard algorithm link is dead. But it's ok I get what you said. I'm still finding out how to use baked map with HS. Heck...aren't there any modders using baked map? :rr_slump:
 
Link corrected / taken from webarchive, made a version of the page for offline viewing.



I can only guess the answers to your questions. The standard shader expects an RGB texture as normal map, and the HS shader expects the two channel version which it then completes by computing the z component. To use this in Unity you would have to re-create such a shader.

But normal maps need to be imported in a special way. May be they are analyzed from Unity upon import and the correct shader version is chosen by Unity based on the result of the analysis.
 
Thank you, enimaroah. By some luck, I got it working now. And that's by changing diffuse texture scale in SB3UGS. I was messing with the scale before but when I change it back to 1,1 the seams disappear. I couldn't think of a reason why diffuse map has something to do with the calculation of normal map. I'll throughly test this later and share the result. It might be useful to somebody.

Unity except both RGB and AG (alpha-green) normap maps when you import asset. But the engine will automatically convert RGB map to AG for you. I built my Unity scene with an RGB map but the map became AG in the shaderassets file. I notice this Unity-create map is different from a manual RGB->AG conversion done in Photoshop (They look the same but when use in Unity the result is different). So to be safe, I'll be using Unity to create AG maps from now on.
 
That is interesting, indeed. Does that mean that Sb3US should multiply UVs by the scale for tangent calculation? If that would be required than it would increase difficulty - materials can be external. And then, when the game would assign a material dynamically it would have to recompute the tangents when the scale had changed. Hm, unlikely.
 
I'm trying to use ReadPixels with HDR formats. Here's my test.

These code works with ARGB32 formats.

Code:
public void Initialize(string drawMatABName, string drawMatName, string createMatABName, string createMatName, int width, int height)
{
    ....
    this.createTex = new RenderTexture(width, height, 0, RenderTextureFormat.ARGB32);
    ....
}

public bool RebuildTextureAndSetMaterial()
{
	if (!this.InitEnd)
	{
		return false;
	}
	RenderTexture active = RenderTexture.active;
	RenderTexture.active = null;
	bool sRGBWrite = GL.sRGBWrite;
	GL.sRGBWrite = false;
	Graphics.SetRenderTarget(this.createTex);
	GL.Clear(false, true, Color.white);
	Graphics.Blit(this.texMain, this.createTex, this.matCreate, 0);
	GL.sRGBWrite = sRGBWrite;
	Texture2D skinMainTex = new Texture2D(this.createTex.width, this.createTex.height, TextureFormat.ARGB32, false, false);
	skinMainTex.ReadPixels(new Rect(0f, 0f, (float)skinMainTex.width, (float)skinMainTex.height), 0, 0);
	skinMainTex.Apply();
	Graphics.SetRenderTarget(null);
	this.matDraw.SetTexture(Singleton<Character>.Instance._MainTex, skinMainTex);
	RenderTexture.active = active;
	return true;
}

But when I changed the texture to HDR format, skins just went black.

Code:
public void Initialize(string drawMatABName, string drawMatName, string createMatABName, string createMatName, int width, int height)
{
    ....
    this.createTex = new RenderTexture(width, height, 0, RenderTextureFormat.ARGBHalf);
    ....
}

public bool RebuildTextureAndSetMaterial()
{
	if (!this.InitEnd)
	{
		return false;
	}
	RenderTexture active = RenderTexture.active;
	RenderTexture.active = null;
	bool sRGBWrite = GL.sRGBWrite;
	GL.sRGBWrite = false;
	Graphics.SetRenderTarget(this.createTex);
	GL.Clear(false, true, Color.white);
	Graphics.Blit(this.texMain, this.createTex, this.matCreate, 0);
	GL.sRGBWrite = sRGBWrite;
	Texture2D skinMainTex = new Texture2D(this.createTex.width, this.createTex.height, TextureFormat.RGBAHalf, false, false);
	skinMainTex.ReadPixels(new Rect(0f, 0f, (float)skinMainTex.width, (float)skinMainTex.height), 0, 0);
	skinMainTex.Apply();
	Graphics.SetRenderTarget(null);
	this.matDraw.SetTexture(Singleton<Character>.Instance._MainTex, skinMainTex);
	RenderTexture.active = active;
	return true;
}

The log writes

d3d11: failed to create 2D texture id=910 w=4096 h=4096 mips=1 d3dfmt=0 [80070057]
d3d11: failed to create 2D texture view id=910 [80070057]

The manunal says Reading from a HDR render target (ARGBFloat or ARGBHalf render texture formats) into HDR texture formats (RGBAFloat or RGBAHalf) is supported too. Don't know what I'm doing wrong.
 
I have seen those error messages during fixing texture support, but they were related to mipmaps and texture data.

Still, your code creates two textures and it might be interesting to find out for which of the two the errors are generated in the log. You would force the creation of the RenderTexture with an explicit call of Create followed by Debug.Log.

When recreating at least a part of your scenario I got a warning from Unity editor about the Aniso level.
RenderTextc2b1.jpg
 
I found out another rule for AssetBundleManifests. A file can only be defined once - for all AssetBundleManifest files!

This means mat_cha_00.unity3d is defined in abdata, and can not be referenced in another AssetBundleManifest. Ergo, you must add such a face mod file in abdata in order to be able to reference mat_cha_00.unity3d.

Dont forget to delete the backup from Sb3UGS afterwards. A file named abdata.bak0.none is still an AssetBundleManifest file which is read by the game. And it produces many errors.

is that mainly for female? (I was able to reference mat_cha_00.unity3d for the male hair mod)

I've notice that it's impossible to reference the (female) body material in a new add.
Since you can't use the body tags outside Normal Top, trying just to reference the material but doesn't work.
Tried adding it to abdata, no luck.

I'm also trying to add the Longer eyelash mod (with standalone head) to abdata to fix the white eye bug (and now the new disappearing head bug in the dlc) but that's not working either.

am I missing something when adding to abdata? (I've adding list & chara entry) I've even moved the mod to the chara folder to see if that was an issue, no luck.
 
@enimaroah
Hi,I cannot post anything on hongfire so I put it in here.First I want to thanks for you and others' tips about modding in here:http://www.hongfire.com/forum/forum...y-select-mods/5727204-supergirl-leotard/page2

Because of your tips, I had some progress on my Tia Langray's costume(just some basic modification though ;P ), and now I need further tips for changing the meshes.You can see my work so far in the pic below.I used sb3u_1.64,Metaseq_4.0 and PS CS6 as tools to make a pair of wrist wraps as GLOVES(PS to change texture); sleeveless jacket and thong bunnysuit (Metaseq to slightly change the meshes without breaking vertices or normal).
View attachment 15528

I have no problem with improting/exporting/copying/pasting official animator/material or shader. The problem actually started after I used Metaseq to modify a pair of pantyhose so that it can fit thong's bottom better(because none of the official pantyhose can hide inside thong's bottom as they should,you will understand what I mean in this pic below ). I synthesised two different meshes(High Leg Pantyhose-ハイウエスト and the body's bottom mesh) together,deleted the overlap without adding any strings/surfaces.Still this step it still available to be added to .unity and normally showed in the game (also pics below)
View attachment 15529

But after I've done adding new strings and surface to cover up the holes between meshes,the mesh file failed to be loaded in sb3u and showed "Warning: Skipping face 6309 in mesh XXX(Scale=1000)[0] because it has a less than 3 vertices" and "Error parsing XXX(Scale=1000)[0]: Face 6378 in mesh XXX(Scale=1000)[0] has more than 3 vertices. Triangulate the meshes" .

My guess is there is something wrong with the mesh's normal or vertices, since I broke the original model.And I think I also need to learn how to adhere meshes from two different objects. So is there any possibility that I can fix them with Metaseq? I also have Maya 2016 btw, just have no idea how to use it. Tia is my favourite girl in fighting game ever, I would love to make and share a special costume for her in HS and more than appreciate for you guys if you can help me out to make my dream come true!;P
 
@DillDoe:
mat_cha_00.unity3d does NOT contain the female body material. Are you talking about cf_m_base.unity3d or really mat_cha_00.unity3d?

The AssetBundleManifest principle doesn't seem to be limited to female chars. In abdata are the cm_* files defined as well.
 
@animesake
Sorry, your attachments are not visible to me, probably because your post had been moved by a moderator. This seems to kill attachments.

The MQO format can not transport normals, and this is the reason why you either need a good target mesh in the Animator to be replaced or you would have to recalculate the normals. A good target mesh means a mesh which has near vertices for all vertices of your edited mesh. This good target is also required for every skinned mesh, because MQO cant transport the skin (skeleton + weights).

So as soon as any vertex gets to far away from such a good destination mesh you cant use the MQO format. Your replaced mesh will deform in an unwanted way, e.g. clips with other clothes or the body.

Fixing in Metasequoia is probably possible, but I dont know which functions you used. The first thing for fixing would be what Sb3UGS suggested: triangulate the meshes.

Maya on the other hand requires much more learning for even basic tasks. You must decide how much time you want to invest. Maya does not pay if you just want to edit a few meshes and then leave Maya untouched for a year. But when using Maya you always choose FBX format which can transport nearly everything.
 
@enimaroah
I found the reason, colorspace mismatch, this works now
Texture2D texture2D = new Texture2D(this.createTex.width, this.createTex.height, TextureFormat.RGBAHalf, false, true);
 
That is interesting, indeed. I had tested this parameter first, but it was no problem in my limited environment.

Does that mean that it works now, because the Texture2D is now aligned with the RenderTexture colorspace-wise?
 
This is a note from my test on how to get a correct normal map / fix UV seams when import a model to HS. I remember somebody was having a problem with a mod showing mysterious seams. May be this can help.

Prepare a low poly for XNormal
Low poly model and cage can be done in ZBrush or Maya. If Maya, then edges need to be soften. The model can have either left/right handed tangent space, it doesn't matter. Using left/right handed model baked out different normal maps, however, Unity or HS doesn't seem to care about this (Maya does). So they both work.

Use default XNormal settings for baking normal maps but the UnityTSpace plugin is needed, using Mikk TB won't work. The plugin needs to be the same version as XNormal found here, https://farfarer.com/blog/2012/06/12/unity3d-tangent-basis-plugin-xnormal/.


After bake, we'll get a typical blue RGB normal map. This map & the low poly model can be tested in Unity - map (import option type=Normal Map), model (import option Normal=import, Tangent=calculate or calculate split tangent). The result in Unity should look perfect, no UV seams.

Converting the normal map to XY HoneySelect normal map
Can be done in mainly 2 ways

1. Import the map in Unity, put in a scene and build the project as a stand alone pc (.exe).
2. Open the map in Photoshop and save as DDS using NVIDIA plugin

From my tests, #1 is not good. Unity will automatically change the map to -Y when we have +Y map and if we have -Y already it remains -Y. I see no option to change this setting so #1 is a no go coz we want +Y map (manually flip Y in photoshop gives almost similar map to a working map but somehow UV seams become apparent in HS). So use #2 with the options below.


Import using SB3UGS
Just do normal texture import. Don't forget the color space needs to be 0. The low poly to be imported can have either left/right handed tangent space and can be triangulated just before import (no need to do that before bake).

I also like to correct my previous comment about how main texture scaling cause the UV seam issue. I was wrong. I tried scaling the texture and it doesn't effect the normal map result at all. And also about how to get a normal map from a built Unity project. It should be done with Photoshop instead.
 
Puh, very good to be sure that this doesn't have to be changed in Sb3UGS' tangent computation. Thanks for your report, nneezz!

JFTR, ColorSpace values
  • -1 is uninitialized
  • 0 is Gamma
  • 1 is Linear

I have added this info as tooltip, but currently there are no things to implement or fix in my dev-queue.
 
Hi, there,first I want to thanks for @enimaroah and others' tips about modding in
To see this hidden content, you must react with one of the following reactions : Like Like
Because of those tips, I had some progress on my Tia Langray's costume(just some basic modification though ;P ), and now I need further tips for changing the meshes.You can see my work so far in the pic below.I used sb3u_1.64,Metaseq_4.0 and PS CS6 as tools to make a pair of wrist wraps as GLOVES(PS to change texture); sleeveless jacket and thong bunnysuit (Metaseq to slightly change the meshes without breaking vertices or normal).
To see this hidden content, you must react with one of the following reactions : Like Like
 
  • Like
Reactions: eng

Users who are viewing this thread

Latest profile posts

FedericoV wrote on Otokonoko's profile.
Sorry, I downloaded your file for 聖奴隷学園2~完全調 but I don't understand how I'm supposed to install it. Can you help me?

Thx in advance.
Playing Irresistible Mistakes (Toma)!