TextureSwap Fakegear
Dość podstawowy poradnik z edycją binu.
1. Przygotuj swoje static materials
Myślałeś, że po prostu podmieniamy tekstury? Chciałbym, żeby to było takie proste.
Musisz skopiować istniejący staticmaterial powiązany z bazową teksturą tego mesha. Dla ciała Yuumi to Orb_Cat_inst. Znajdziesz go, szukając nazwy tekstury w binie skina.
Potem kopiujesz całość, wklejasz gdzieś, zmieniasz nazwy i dorzucasz swój plik tekstury. U mnie nazwa będzie "mine", tak samo jak plik tekstury.
2. VFX
Będzie ci potrzebny ten fragment kodu. Polecam wkleić go blisko swojego staticmaterial, żeby mieć wszystko w jednym miejscu.
"Hide" = VfxSystemDefinitionData {
timeBeforeFirstEmission: f32 = 1
complexEmitterDefinitionData: list[pointer] = {
VfxEmitterDefinitionData {
rate: embed = ValueFloat {
constantValue: f32 = 1
}
particleLifetime: embed = ValueFloat {
constantValue: f32 = 1e+14
}
isSingleParticle: flag = true
emitterName: string = "Override"
meshRenderFlags: u8 = 0
materialOverrideDefinitions: list[embed] = {
VfxMaterialOverrideDefinitionData {
priority: i32 = 1
subMeshName: option[string] = {
"Yourmaterialnamefrommaya"
}
material: link = "Characters/urchamp/Skins/urskin/Materials/urstaticmaterial"
transitionSample: f32 = 1
}
}
}
}
particleName: string = "Hide"
particlePath: string = "Hide"
}"Show" = VfxSystemDefinitionData {
timeBeforeFirstEmission: f32 = 1
complexEmitterDefinitionData: list[pointer] = {
VfxEmitterDefinitionData {
rate: embed = ValueFloat {
constantValue: f32 = 1
}
particleLifetime: embed = ValueFloat {
constantValue: f32 = 1e+14
}
isSingleParticle: flag = true
emitterName: string = "Override"
meshRenderFlags: u8 = 0
materialOverrideDefinitions: list[embed] = {
VfxMaterialOverrideDefinitionData {
priority: i32 = 1
subMeshName: option[string] = {
"Yourmaterialnamefrommaya"
}
material: link = "Characters/urchamp/Skins/urskin/Materials/defaultstaticmaterial"
transitionSample: f32 = 1
}
}
}
}
particleName: string = "Show"
particlePath: string = "Show"
}3. Resource Resolver
Potrzebujesz też tego w ResourceResolver:
"Hide" = "Hide"
"Show" = "Show"4. Bin animacji
Potem czas na bin animacji. Znajdź animację, której chcesz użyć jako przełącznika, i wklej te fragmenty kodu w ten sposób:
"Hide" = ParticleEventData {
mEffectKey: hash = "Hide"
mParticleEventDataPairList: list[embed] = {
ParticleEventDataPair {}
}
mIsLoop: bool = false
mIsKillEvent: bool = false
}"Show" = ParticleEventData {
mEffectKey: hash = "Show"
mParticleEventDataPairList: list[embed] = {
ParticleEventDataPair {}
}
mIsLoop: bool = false
mIsKillEvent: bool = false
}✅ Po tym wszystko powinno działać, jeśli zrobiłeś wszystko dobrze i poprawnie wszystko podmieniłeś!
