Skip to content

Commit

Permalink
[NUI.Avatar] Introduce NUI.Avatar repository
Browse files Browse the repository at this point in the history
Signed-off-by: Eunki, Hong <[email protected]>
  • Loading branch information
Eunki, Hong committed Aug 18, 2023
1 parent 4de2831 commit 62d283b
Show file tree
Hide file tree
Showing 11 changed files with 1,771 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/Tizen.NUI.Avatar/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
using Tizen.NUI;

// Xamarin.Forms.Loader.dll Xamarin.Forms.Xaml.XamlLoader.Load(object, string), [email protected]
[assembly: XmlnsDefinition("http://tizen.org/Tizen.NUI/2018/XAML", "Tizen.NUI.Avatar")]
14 changes: 14 additions & 0 deletions src/Tizen.NUI.Avatar/Tizen.NUI.Avatar.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<NoWarn>$(NoWarn);CS0618;CA1054;CA1056</NoWarn>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Tizen.Log\Tizen.Log.csproj" />
<ProjectReference Include="..\Tizen.NUI\Tizen.NUI.csproj" />
<ProjectReference Include="..\Tizen.NUI.Scene3D\Tizen.NUI.Scene3D.csproj" />
</ItemGroup>

</Project>
85 changes: 85 additions & 0 deletions src/Tizen.NUI.Avatar/Tizen.NUI.Avatar.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31515.178
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.Avatar", "Tizen.NUI.Avatar.csproj", "{C6CEE887-775A-4623-8BF8-DCA18C363D63}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.Scene3D", "..\Tizen.NUI.Scene3D\Tizen.NUI.Scene3D.csproj", "{F6CEE887-775A-4623-8BF8-DCA18C363D62}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI", "..\Tizen.NUI\Tizen.NUI.csproj", "{F9DAA9C3-593D-467E-B02C-FFF51F1BC8CD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{CE90CD24-82F7-45A3-96B2-2E3C97D25C30}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.SystemSettings", "..\Tizen.System.SystemSettings\Tizen.System.SystemSettings.csproj", "{D726EEB8-6382-4BA3-BE0C-D9E61B5D8374}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{6D5FFD69-6DCC-4953-85E9-C23AC18B190E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.Information", "..\Tizen.System.Information\Tizen.System.Information.csproj", "{A951EAFE-D191-4F45-9AEF-7D97C382A747}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{E1E30AEC-AD46-4E53-B9B1-780A68B59963}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ComponentBased", "..\Tizen.Applications.ComponentBased\Tizen.Applications.ComponentBased.csproj", "{70341AA2-1324-4215-9DB8-BFB13389D932}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ThemeManager", "..\Tizen.Applications.ThemeManager\Tizen.Applications.ThemeManager.csproj", "{F6A776BF-6743-4C1D-A8AF-F3E9F8CEFA0A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Tracer", "..\Tizen.Tracer\Tizen.Tracer.csproj", "{6DABE78F-1816-4F2E-8966-F909173194C8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C6CEE887-775A-4623-8BF8-DCA18C363D63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6CEE887-775A-4623-8BF8-DCA18C363D63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6CEE887-775A-4623-8BF8-DCA18C363D63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6CEE887-775A-4623-8BF8-DCA18C363D63}.Release|Any CPU.Build.0 = Release|Any CPU
{F6CEE887-775A-4623-8BF8-DCA18C363D62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6CEE887-775A-4623-8BF8-DCA18C363D62}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6CEE887-775A-4623-8BF8-DCA18C363D62}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6CEE887-775A-4623-8BF8-DCA18C363D62}.Release|Any CPU.Build.0 = Release|Any CPU
{F9DAA9C3-593D-467E-B02C-FFF51F1BC8CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F9DAA9C3-593D-467E-B02C-FFF51F1BC8CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F9DAA9C3-593D-467E-B02C-FFF51F1BC8CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F9DAA9C3-593D-467E-B02C-FFF51F1BC8CD}.Release|Any CPU.Build.0 = Release|Any CPU
{CE90CD24-82F7-45A3-96B2-2E3C97D25C30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CE90CD24-82F7-45A3-96B2-2E3C97D25C30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CE90CD24-82F7-45A3-96B2-2E3C97D25C30}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CE90CD24-82F7-45A3-96B2-2E3C97D25C30}.Release|Any CPU.Build.0 = Release|Any CPU
{D726EEB8-6382-4BA3-BE0C-D9E61B5D8374}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D726EEB8-6382-4BA3-BE0C-D9E61B5D8374}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D726EEB8-6382-4BA3-BE0C-D9E61B5D8374}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D726EEB8-6382-4BA3-BE0C-D9E61B5D8374}.Release|Any CPU.Build.0 = Release|Any CPU
{6D5FFD69-6DCC-4953-85E9-C23AC18B190E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D5FFD69-6DCC-4953-85E9-C23AC18B190E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D5FFD69-6DCC-4953-85E9-C23AC18B190E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D5FFD69-6DCC-4953-85E9-C23AC18B190E}.Release|Any CPU.Build.0 = Release|Any CPU
{A951EAFE-D191-4F45-9AEF-7D97C382A747}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A951EAFE-D191-4F45-9AEF-7D97C382A747}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A951EAFE-D191-4F45-9AEF-7D97C382A747}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A951EAFE-D191-4F45-9AEF-7D97C382A747}.Release|Any CPU.Build.0 = Release|Any CPU
{E1E30AEC-AD46-4E53-B9B1-780A68B59963}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1E30AEC-AD46-4E53-B9B1-780A68B59963}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1E30AEC-AD46-4E53-B9B1-780A68B59963}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1E30AEC-AD46-4E53-B9B1-780A68B59963}.Release|Any CPU.Build.0 = Release|Any CPU
{70341AA2-1324-4215-9DB8-BFB13389D932}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{70341AA2-1324-4215-9DB8-BFB13389D932}.Debug|Any CPU.Build.0 = Debug|Any CPU
{70341AA2-1324-4215-9DB8-BFB13389D932}.Release|Any CPU.ActiveCfg = Release|Any CPU
{70341AA2-1324-4215-9DB8-BFB13389D932}.Release|Any CPU.Build.0 = Release|Any CPU
{F6A776BF-6743-4C1D-A8AF-F3E9F8CEFA0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F6A776BF-6743-4C1D-A8AF-F3E9F8CEFA0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F6A776BF-6743-4C1D-A8AF-F3E9F8CEFA0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F6A776BF-6743-4C1D-A8AF-F3E9F8CEFA0A}.Release|Any CPU.Build.0 = Release|Any CPU
{6DABE78F-1816-4F2E-8966-F909173194C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6DABE78F-1816-4F2E-8966-F909173194C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6DABE78F-1816-4F2E-8966-F909173194C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6DABE78F-1816-4F2E-8966-F909173194C8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {83C85CFB-3AB8-403A-9F6D-CC2783C6C559}
EndGlobalSection
EndGlobal
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
using System.Collections.Generic;
namespace Tizen.NUI.Avatar
{
internal class AREmojiDefaultBlendShapeNameMapper : AvatarPropertyNameMapper
{
public AREmojiDefaultBlendShapeNameMapper() : base()
{
customIndexCounter = (uint)arEmojiBlendShapeNameList.Count;
foreach (var indexNamePair in arEmojiBlendShapeNameList)
{
base.SetPropertyName((uint)indexNamePair.Item1, indexNamePair.Item2);
}
foreach (var customName in arEmojiCustomBlendShapeNameList)
{
// We can ensure that default name list is always unique
base.SetPropertyName(customIndexCounter++, customName);
}
}

#region AR Emoji BlendShape name list
private static readonly List<(BlendShapeType, string)> arEmojiBlendShapeNameList = new()
{
(BlendShapeType.EyeBlinkLeft, "EyeBlink_Left"),
(BlendShapeType.EyeSquintLeft, "EyeSquint_Left"),
(BlendShapeType.EyeDownLeft, "EyeDown_Left"),
(BlendShapeType.EyeInLeft, "EyeIn_Left"),
(BlendShapeType.EyeOpenLeft, "EyeOpen_Left"),
(BlendShapeType.EyeOutLeft, "EyeOut_Left"),
(BlendShapeType.EyeUpLeft, "EyeUp_Left"),

(BlendShapeType.EyeBlinkRight, "EyeBlink_Right"),
(BlendShapeType.EyeSquintRight, "EyeSquint_Right"),
(BlendShapeType.EyeDownRight, "EyeDown_Right"),
(BlendShapeType.EyeInRight, "EyeIn_Right"),
(BlendShapeType.EyeOpenRight, "EyeOpen_Right"),
(BlendShapeType.EyeOutRight, "EyeOut_Right"),
(BlendShapeType.EyeUpRight, "EyeUp_Right"),

(BlendShapeType.JawForward, "JawFwd"),
(BlendShapeType.JawOpen, "JawOpen"),
(BlendShapeType.JawChew, "JawChew"),
(BlendShapeType.JawLeft, "JawLeft"),
(BlendShapeType.JawRight, "JawRight"),

(BlendShapeType.MouthLeft, "MouthLeft"),
(BlendShapeType.MouthFrownLeft, "MouthFrown_Left"),
(BlendShapeType.MouthSmileLeft, "MouthSmile_Left"),
(BlendShapeType.MouthDimpleLeft, "MouthDimple_Left"),

(BlendShapeType.MouthRight, "MouthRight"),
(BlendShapeType.MouthFrownRight, "MouthFrown_Right"),
(BlendShapeType.MouthSmileRight, "MouthSmile_Right"),
(BlendShapeType.MouthDimpleRight, "MouthDimple_Right"),

(BlendShapeType.LipsStretchLeft, "LipsStretch_Left"),
(BlendShapeType.LipsStretchRight, "LipsStretch_Right"),
(BlendShapeType.LipsUpperClose, "LipsUpperClose"),
(BlendShapeType.LipsLowerClose, "LipsLowerClose"),
(BlendShapeType.LipsUpperUp, "LipsUpperUp"),
(BlendShapeType.LipsLowerDown, "LipsLowerDown"),
(BlendShapeType.LipsUpperOpen, "LipsUpperOpen"),
(BlendShapeType.LipsLowerOpen, "LipsLowerOpen"),
(BlendShapeType.LipsFunnel, "LipsFunnel"),
(BlendShapeType.LipsPucker, "LipsPucker"),

(BlendShapeType.BrowDownLeft, "BrowsDown_Left"),
(BlendShapeType.BrowDownRight, "BrowsDown_Right"),
(BlendShapeType.BrowUpCenter, "BrowsUp_Center"),
(BlendShapeType.BrowUpLeft, "BrowsUp_Left"),
(BlendShapeType.BrowUpRight, "BrowsUp_Right"),
(BlendShapeType.CheekSquintLeft, "CheekSquint_Left"),
(BlendShapeType.CheekSquintRight, "CheekSquint_Right"),
(BlendShapeType.ChinLowerRaise, "ChinLowerRaise"),
(BlendShapeType.ChinUpperRaise, "ChinUpperRaise"),

(BlendShapeType.TongueOut, "Tongue_Out"),
(BlendShapeType.TongueUp, "Tongue_Up"),
(BlendShapeType.TongueDown, "Tongue_Down"),
(BlendShapeType.TongueLeft, "Tongue_Left"),
(BlendShapeType.TongueRight, "Tongue_Right"),

(BlendShapeType.Sneer, "Sneer"),
(BlendShapeType.Puff, "Puff"),
(BlendShapeType.PuffLeft, "Puff_Left"),
(BlendShapeType.PuffRight, "Puff_Right"),
};
private static readonly List<string> arEmojiCustomBlendShapeNameList = new List<string>
{
"HAPPY_48",
"HAPPY_49",
"HAPPY_50",
"HAPPY_51",
"HAPPY_52",
"ANGRY_53",
"ANGRY_54",
"ANGRY_55",
"DISGUST_56",
"DISGUST_57",
"SAD_58",
"SURPRISE_59",
"SURPRISE_60",
};
#endregion

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
using System.Collections.Generic;
namespace Tizen.NUI.Avatar
{
internal class AREmojiDefaultJointNameMapper : AvatarPropertyNameMapper
{
public AREmojiDefaultJointNameMapper() : base()
{
customIndexCounter = (uint)arEmojiJointNameList.Count;
foreach (var indexNamePair in arEmojiJointNameList)
{
base.SetPropertyName((uint)indexNamePair.Item1, indexNamePair.Item2);
}
}

#region AR Emoji Joint name list
private static readonly List<(JointType, string)> arEmojiJointNameList = new()
{
(JointType.Head, "head_JNT"),
(JointType.Neck, "neck_JNT"),
(JointType.EyeLeft, "l_eye_JNT"),
(JointType.EyeRight, "r_eye_JNT"),

(JointType.ShoulderLeft, "l_arm_JNT"),
(JointType.ElbowLeft, "l_forearm_JNT"),
(JointType.WristLeft, "l_hand_JNT"),

(JointType.ShoulderRight, "r_arm_JNT"),
(JointType.ElbowRight, "r_forearm_JNT"),
(JointType.WristRight, "r_hand_JNT"),

(JointType.HipLeft, "l_upleg_JNT"),
(JointType.KneeLeft, "l_leg_JNT"),
(JointType.AnkleLeft, "l_foot_JNT"),
(JointType.ForeFootLeft, "l_toebase_JNT"),

(JointType.HipRight, "r_upleg_JNT"),
(JointType.KneeRight, "r_leg_JNT"),
(JointType.AnkleRight, "r_foot_JNT"),
(JointType.ForeFootRight, "r_toebase_JNT"),

(JointType.FingerThumb1Left, "l_handThumb1_JNT"),
(JointType.FingerThumb2Left, "l_handThumb2_JNT"),
(JointType.FingerThumb3Left, "l_handThumb3_JNT"),
(JointType.FingerThumb4Left, "l_handThumb4_JNT"),
(JointType.FingerIndex1Left, "l_handIndex1_JNT"),
(JointType.FingerIndex2Left, "l_handIndex2_JNT"),
(JointType.FingerIndex3Left, "l_handIndex3_JNT"),
(JointType.FingerIndex4Left, "l_handIndex4_JNT"),
(JointType.FingerMiddle1Left, "l_handMiddle1_JNT"),
(JointType.FingerMiddle2Left, "l_handMiddle2_JNT"),
(JointType.FingerMiddle3Left, "l_handMiddle3_JNT"),
(JointType.FingerMiddle4Left, "l_handMiddle4_JNT"),
(JointType.FingerRing1Left, "l_handRing1_JNT"),
(JointType.FingerRing2Left, "l_handRing2_JNT"),
(JointType.FingerRing3Left, "l_handRing3_JNT"),
(JointType.FingerRing4Left, "l_handRing4_JNT"),
(JointType.FingerPinky1Left, "l_handPinky1_JNT"),
(JointType.FingerPinky2Left, "l_handPinky2_JNT"),
(JointType.FingerPinky3Left, "l_handPinky3_JNT"),
(JointType.FingerPinky4Left, "l_handPinky4_JNT"),

(JointType.FingerThumb1Right, "r_handThumb1_JNT"),
(JointType.FingerThumb2Right, "r_handThumb2_JNT"),
(JointType.FingerThumb3Right, "r_handThumb3_JNT"),
(JointType.FingerThumb4Right, "r_handThumb4_JNT"),
(JointType.FingerIndex1Right, "r_handIndex1_JNT"),
(JointType.FingerIndex2Right, "r_handIndex2_JNT"),
(JointType.FingerIndex3Right, "r_handIndex3_JNT"),
(JointType.FingerIndex4Right, "r_handIndex4_JNT"),
(JointType.FingerMiddle1Right, "r_handMiddle1_JNT"),
(JointType.FingerMiddle2Right, "r_handMiddle2_JNT"),
(JointType.FingerMiddle3Right, "r_handMiddle3_JNT"),
(JointType.FingerMiddle4Right, "r_handMiddle4_JNT"),
(JointType.FingerRing1Right, "r_handRing1_JNT"),
(JointType.FingerRing2Right, "r_handRing2_JNT"),
(JointType.FingerRing3Right, "r_handRing3_JNT"),
(JointType.FingerRing4Right, "r_handRing4_JNT"),
(JointType.FingerPinky1Right, "r_handPinky1_JNT"),
(JointType.FingerPinky2Right, "r_handPinky2_JNT"),
(JointType.FingerPinky3Right, "r_handPinky3_JNT"),
(JointType.FingerPinky4Right, "r_handPinky4_JNT"),
};
#endregion
}
}
Loading

0 comments on commit 62d283b

Please sign in to comment.