HOME | DD

vasilnatalie — Download Raycast Expanded Mat Features by

#effect #mmd #shader #download #raycastmmd
Published: 2018-07-30 22:05:42 +0000 UTC; Views: 2675; Favourites: 68; Downloads: 19
Redirect to original
Description

This picture is nothing, I just needed something to put up there.  Yes, it uses some of the download's features, but how would you ever know?


www.mediafire.com/file/frx4wkr…


This is an edited version of the material .fxsub for Raycast, intended to provide more versatility to material definitions.  To install, simply replace materials/material_common_2.0f.fxsub with this version of the same file.  This was built for the current dev branch of Raycast, but it should function just fine with the master branch.  Download Raycast at github.com/ray-cast/ray-mmd/tr… .

This should be considered untested.  Bugs are likely.  If you find one, and you let me know, I will do my best to fix it.  Bug reports are best when they include the exact text of any error message as well as any material files and models used to create the bug.

This does not include any example materials and it does not provide any support for Raycast's material editor.  If you don't edit Raycast materials manually, this will not be of any use to you.  If you do not understand 3D graphics, this will not be of any use to you.  Etc.  If you don't know if you want this, you probably don't want it.

However, yes, there are reasons that I implemented everything that I implemented.  Well, okay, some of it was just because once I was doing it someplace else, I might as well do it everywhere (who uses AddUV4.zw?)


Features: support for .pmx material morphs (diffuse alpha, specular color, ambient color, texture/sphere/toon, specular power); greater support for raycast HSV morphs; enables limited support for Autoluminous-style morphs; support for AddUV (including sphere, toon, and world-space normal UV coordinates); normal and subnormal masking.


Read the readme.



Related content
Comments: 7

EclipsedVisions [2018-08-02 20:08:21 +0000 UTC]

submap uv's won't work, tried #define SUBUALBEDO_UV_FROM 1 and #define ALBEDO_SUB_UV FROM 1

👍: 0 ⏩: 1

vasilnatalie In reply to EclipsedVisions [2018-08-02 22:19:38 +0000 UTC]

Thanks for letting me know.  Notice how I mispelled "subualbedo" there...  Once in the code, once not in the code, and once in the notes.  If I had misspelled it once more it would have worked, lol.


I believe I've fixed the problem-- you can download the fix at the same download link above.  Note that I've also changed the notes to reflect the correct spelling.  Any existing materials using "#define SUBUALBEDO_UV_FROM" will have to fixed with the correct tag, "#define SUBALBEDO_UV_FROM".  Tested with a cube and subalbedo from AddUV1 and from sphere coords.

👍: 0 ⏩: 1

EclipsedVisions In reply to vasilnatalie [2018-08-03 08:14:24 +0000 UTC]

Thanks, it's working now

I have a question though, do you know if it's possible to preserve faux alpha sorting performed by reordering meshes in pmx editor so the alphas don't get wonky like they usually do with this effect system?

👍: 0 ⏩: 1

vasilnatalie In reply to EclipsedVisions [2018-08-03 14:13:03 +0000 UTC]

I don't know all the tricks to Raycast yet.  My understanding is that it will support up to 2 layers of alpha meshes but no more.  My understanding is that it's kind of a hard limit-- you might be able to expand this in code, but at the cost of lots of video memory, processing time, etc.  And there will always be a limit, whether it's 2 or 12.  The rendering philosophy-- deferred rendering-- just isn't very friendly to alpha.


There are things that you can do to improve alpha rendering by choosing the correct "main.fx" file.  Main, alpha, no_alpha.  These get treated differently by the renderer.  But I don't understand Raycast well enough yet to say exactly how, just that this is something to play with when you're having trouble.  Material order is still important in Raycast, it's not quite that Raycast ignores mat order.


For sure, if I figure out how to improve Raycast alpha, I'll share whatever I learn/code.  But it's extremely unlikely that I'm going to have any code on that front.  Raycast is, I dunno, ten thousand lines of code, all told?  To an order of magnitude, at least.  Handling alpha is one of the harder things.  And I'm very, very far from being an expert at this stuff.

👍: 0 ⏩: 1

EclipsedVisions In reply to vasilnatalie [2018-08-03 15:29:55 +0000 UTC]

ah, i see now

thanks for a detailed explanation

i really don't understand how coding mme is done at all but this was at least something possible to understand for me

👍: 0 ⏩: 0

animaniac72 [2018-07-31 16:17:39 +0000 UTC]

Interesting.  I will give it a try.  Thanks.

👍: 0 ⏩: 1

vasilnatalie In reply to animaniac72 [2018-07-31 16:31:06 +0000 UTC]

Yeah, let me know if you have issues or make anything cool.  There is still a bit of work that needs doing there-- I need to get support for addUV for parallax + normal for a few purposes, I need to give unmodified normal access for sphere mapping parallax, etc.  (Actually right now there's a bug, I don't think it's using the modified normal but the base normal.)

👍: 0 ⏩: 0