ray-cast/ray-mmd

Model remains black even after applying material + main.fx + skybox

PastMemories opened this issue · 10 comments

Strangely enough, a particular model seems to remain 'black' even with main.fx on and the materials applied in MaterialMap. This model is Bumblebee (https://bowlroll.net/file/149881 - the one in the middle in the picture) while the other two models I show here function normally under the usual circumstances.

In the first picture, all three are using the ClearCoat material. It is to be noted that using other material types results in the same problem for the model in the middle, as seen in the 2nd picture where all three are using the Metallic ~ Flat ingot rough (material_rough_metal) material. 3rd picture shows the affected model's original colours without raycast.

I don't know the reason why the model in question is being this way, but I hope this is something that's fixable.

test
bleh
aaa

Some models are rendered in MMD by using ambient color as (diffuse color / albedo), so you need to modify the ambient color to diffuse color, or change the ALBEDO_MAP_FROM to 7, that will fix your problem i think
image
image

How do you 'change the ALBEDO_MAP_FROM to 7'? I would like to try that out before resorting to editing, if you don't mind telling.

Duplicate and open a material_2.0.fx file, then modify the ALBEDO_MAP_FROM like below image,
image

And assign this material.fx to your subset 2 of (bumblebee_rid_2.0)
image

Hmm... that doesn't really work, sadly. It still retains the black colour.

When applied to subset2, all other materials having no fx:
how sad

When all materials have the edited fx:
poof

However, the edit works. Changing all materials from ambient to diffuse colour fixed the problem, albeit leaving the model discoloured if raycast is not put into MMD.

Left: Original, Right: Edited

ori and edited
nyeh

It seems working now in:
set the ALBEDO_MAP_FROM to 7
and
set the ALBEDO_MAP_APPLY_DIFFUSE to 0
image

You need to download a new material_common.fxsub from download link or dev branch:
https://raw.githubusercontent.com/ray-cast/ray-mmd/developing/Materials/material_common_2.0.fxsub

And put this file into your Materials directory to overwrite your old file material_common_2.0.fxsub
Or copy the content of the link into the old material_common_2.0.fxsub.

I'm starting to get a bit confused, sorry... can I recap that so I can see if the directions are correct?

  • material_2.0.fx still has ALBEDO_MAP_FROM to 7 and ALBEDO_MAP_APPLY_DIFFUSE to 0
  • overwrite old material_common_2.0.fxsub with the new one
  • download a new material_common.fxsub

Is that all? I'm using ray-mmd-140beta3, should I change to the developing version or stick to my current one?

oh, it only works with dev version, so if you want to go fast, just download develop version, get it start over with:

  • Copy and open the material_2.0fx
  • Edit ALBEDO_MAP_FROM to 7 and ALBEDO_MAP_APPLY_DIFFUSE to 0
  • Assign it to subset of model in MaterialMap

It works now, though the model admittedly looks dull due to it being just basic materials. Hopefully one day you'll find out how to properly fix this, but thanks for the help!

it works

Hmm, sorry for if i misunderstand, i think you seems to have misunderstand my point?

just basic materials, Hopefully one day you'll find out how to properly fix this

If you want to use others material for the same things to work with ambient color
You can fix this problem by
Edit materials with ALBEDO_MAP_FROM and ALBEDO_MAP_APPLY_DIFFUSE
Or
Edit materials of PMX model from ambient to diffuse color

Because MMD is calculated by using ambient and diffuse color, but ray only needs a diffuse color.