Copie depuis Unity VCS vers GitHub

This commit is contained in:
Denis L.
2025-12-10 18:51:40 +01:00
parent 5cfd9de581
commit 7383621db3
902 changed files with 588195 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
using System;
using CharacterCustomizationTool.Extensions;
using UnityEngine;
namespace CharacterCustomizationTool.FaceManagement
{
[Serializable]
public class FaceMesh
{
public FaceType Type;
public Mesh Mesh;
public FaceMesh(Mesh mesh)
{
Type = Enum.Parse<FaceType>(mesh.name.Split("_")[2].ToCapital());
Mesh = mesh;
}
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 61031a315ae149fd92a6cbff53bb99a8
timeCreated: 1734350612
AssetOrigin:
serializedVersion: 1
productId: 304841
packageName: Creative Characters FREE - Animated Low Poly 3D Models
packageVersion: 2.2
assetPath: Assets/ithappy/Creative_Characters_FREE/Scripts/FaceManagement/FaceMesh.cs
uploadId: 780839

View File

@@ -0,0 +1,58 @@
using System;
using System.Linq;
using CharacterCustomizationTool.Extensions;
using UnityEngine;
namespace CharacterCustomizationTool.FaceManagement
{
public class FacePicker : MonoBehaviour
{
[SerializeField, HideInInspector]
private FaceMesh[] _faceMeshes;
private SkinnedMeshRenderer _faceRenderer;
public FaceType ActiveFace => Enum.Parse<FaceType>(_faceRenderer.sharedMesh.name.Split("_")[2].ToCapital());
public void SetFaces(Mesh[] faceMeshes)
{
_faceMeshes = faceMeshes.Select(m => new FaceMesh(m)).ToArray();
}
public bool HasFace(FaceType face)
{
var faceMesh = _faceMeshes.FirstOrDefault(m => m.Type == face);
return faceMesh != null;
}
public void PickFace(FaceType faceType)
{
var faceMesh = _faceMeshes.FirstOrDefault(m => m.Type == faceType);
if (faceMesh == null)
{
throw new Exception($"Face not found: {faceType.ToString()}.");
}
_faceRenderer.sharedMesh = faceMesh.Mesh;
}
private void Start()
{
ValidateFields();
}
private void OnValidate()
{
ValidateFields();
}
private void ValidateFields()
{
_faceRenderer = transform
.Cast<Transform>()
.First(t => t.name.StartsWith("Face"))
.GetComponent<SkinnedMeshRenderer>();
}
}
}

View File

@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a69a902533bc5af478efff13cc47894f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 304841
packageName: Creative Characters FREE - Animated Low Poly 3D Models
packageVersion: 2.2
assetPath: Assets/ithappy/Creative_Characters_FREE/Scripts/FaceManagement/FacePicker.cs
uploadId: 780839

View File

@@ -0,0 +1,18 @@
namespace CharacterCustomizationTool.FaceManagement
{
public enum FaceType
{
Anger,
Angry,
Compassion,
Confuse,
Evil,
Happy,
Impatience,
Madness,
Neutral,
Sad,
Surprised,
Usual,
}
}

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: de89b91bb3f34946abf58874cd21d7fd
timeCreated: 1733506211
AssetOrigin:
serializedVersion: 1
productId: 304841
packageName: Creative Characters FREE - Animated Low Poly 3D Models
packageVersion: 2.2
assetPath: Assets/ithappy/Creative_Characters_FREE/Scripts/FaceManagement/FaceType.cs
uploadId: 780839