AlphaBlend

This commit is contained in:
ousttrue
2025-02-05 21:44:08 +09:00
parent 71e72c79e3
commit fa0a4f3779
8 changed files with 4976 additions and 10 deletions

View File

@@ -45,7 +45,7 @@ MonoBehaviour:
value: 65472
diffusion:
overrideState: 1
value: 7
value: 6.4
anamorphicRatio:
overrideState: 0
value: 0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 868190a58757d6242bb3ca456402f82f
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

@@ -14,12 +14,21 @@ namespace UniVRM10.VRM10Viewer
public UrpGltfPbrMaterialImporter PbrMaterialImporter { get; } = new();
public UrpGltfDefaultMaterialImporter DefaultMaterialImporter { get; } = new();
public Material Material { get; set; }
public Material OpaqueMaterial { get; set; }
public Material AlphaBlendMaterial { get; set; }
/// <param name="material">TinyPbr material</param>
public TinyPbrMaterialDescriptorGenerator(Material material)
public TinyPbrMaterialDescriptorGenerator(
Material opaque,
Material alphaBlend
)
{
Material = material;
if (opaque == null)
{
throw new ArgumentNullException("opaque");
}
OpaqueMaterial = opaque;
AlphaBlendMaterial = alphaBlend ?? opaque;
}
public MaterialDescriptor Get(GltfData data, int i)
@@ -50,7 +59,7 @@ namespace UniVRM10.VRM10Viewer
var src = data.GLTF.materials[i];
matDesc = new MaterialDescriptor(
GltfMaterialImportUtils.ImportMaterialName(i, src),
Material.shader,
src.alphaMode == "BLEND" ? AlphaBlendMaterial.shader : OpaqueMaterial.shader,
null,
new Dictionary<string, TextureDescriptor>(),
new Dictionary<string, float>(),

View File

@@ -30638,7 +30638,11 @@ MonoBehaviour:
Root: {fileID: 124675793}
m_version: {fileID: 1268276256}
m_faceCamera: {fileID: 1150163685}
m_customMaterial: {fileID: -876546973899608171, guid: ac58f8c11a130e04ba883a82ae4b78e4,
m_opaqueMaterial: {fileID: -876546973899608171, guid: ac58f8c11a130e04ba883a82ae4b78e4,
type: 3}
m_alphaBlendMaterial: {fileID: -876546973899608171, guid: 868190a58757d6242bb3ca456402f82f,
type: 3}
m_cutoffMaterial: {fileID: -876546973899608171, guid: 9a01f29343f749440b30e3ff1c26b013,
type: 3}
m_useCustomMaterial: {fileID: 731212246}
m_openModel: {fileID: 2009818433}

View File

@@ -24,7 +24,9 @@ namespace UniVRM10.VRM10Viewer
[Header("Material")]
[SerializeField]
Material m_customMaterial = default;
Material m_opaqueMaterial = default;
[SerializeField]
Material m_alphaBlendMaterial = default;
[Header("UI")]
[SerializeField]
@@ -499,7 +501,7 @@ namespace UniVRM10.VRM10Viewer
Motion = BvhMotion.LoadBvhFromText(m_motion.text);
if (m_useCustomMaterial.isOn)
{
Motion.SetBoxManMaterial(Instantiate(m_customMaterial));
Motion.SetBoxManMaterial(Instantiate(m_opaqueMaterial));
}
}
@@ -773,7 +775,10 @@ namespace UniVRM10.VRM10Viewer
{
if (m_useCustomMaterial.isOn)
{
return new TinyPbrMaterialDescriptorGenerator(m_customMaterial);
return new TinyPbrMaterialDescriptorGenerator(
m_opaqueMaterial,
m_alphaBlendMaterial
);
}
else
{