mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-14 14:29:52 -05:00
Merge pull request #2252 from ousttrue/fix/vrm10_firstperson_auto_dispose
[VRM10] FirstPerson の修正
This commit is contained in:
commit
f7aaef01c2
|
|
@ -221,6 +221,11 @@ namespace UniGLTF
|
|||
Destroy(oldResource);
|
||||
}
|
||||
|
||||
public void AddResource<T>(T resource) where T : UnityEngine.Object
|
||||
{
|
||||
_resources.Add((SubAssetKey.Create(resource), resource));
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
foreach (var (_, obj) in _resources)
|
||||
|
|
|
|||
|
|
@ -93,20 +93,25 @@ namespace UniVRM10
|
|||
{
|
||||
if (x.GetRenderer(go.transform) is SkinnedMeshRenderer smr)
|
||||
{
|
||||
// オリジナルのモデルを3人称用にする
|
||||
smr.gameObject.layer = layer.ThirdPersonOnly;
|
||||
|
||||
// 頭を取り除いた複製モデルを作成し、1人称用にする
|
||||
var headless = await CreateHeadlessMeshAsync(smr, firstPersonBone, awaitCaller);
|
||||
if (headless != null)
|
||||
{
|
||||
// オリジナルのモデルを3人称用にする
|
||||
smr.gameObject.layer = layer.ThirdPersonOnly;
|
||||
|
||||
headless.gameObject.layer = layer.FirstPersonOnly;
|
||||
headless.transform.SetParent(smr.transform, false);
|
||||
if (runtime != null)
|
||||
{
|
||||
runtime.AddResource(headless.sharedMesh);
|
||||
runtime.AddRenderer(headless);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// ヘッドレスを作成しなかった場合は何もしない => both と同じ
|
||||
}
|
||||
}
|
||||
else if (x.GetRenderer(go.transform) is MeshRenderer mr)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,11 +86,13 @@ namespace UniVRM10.FirstPersonSample
|
|||
|
||||
async Task<Vrm10Instance> LoadAsync(string path, VRMShaders.IAwaitCaller awaitCaller)
|
||||
{
|
||||
var instance = await Vrm10.LoadPathAsync(path, awaitCaller: awaitCaller);
|
||||
var instance = await Vrm10.LoadPathAsync(path, awaitCaller: awaitCaller, showMeshes: false);
|
||||
|
||||
// VR用 FirstPerson 設定
|
||||
await instance.Vrm.FirstPerson.SetupAsync(instance.gameObject, awaitCaller);
|
||||
|
||||
instance.GetComponent<RuntimeGltfInstance>().ShowMeshes();
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user