Skip to content
This repository has been archived by the owner on May 5, 2021. It is now read-only.

Commit

Permalink
Add ARCore sample
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorBo committed Dec 21, 2017
1 parent 6336ad5 commit 294fcef
Show file tree
Hide file tree
Showing 38 changed files with 1,150 additions and 0 deletions.
27 changes: 27 additions & 0 deletions ARCore/ARCore.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26923.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ARCore", "ARCore\ARCore.csproj", "{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Release|Any CPU.Build.0 = Release|Any CPU
{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {4296775B-52C4-4849-BD49-0AEF1665CF22}
EndGlobalSection
EndGlobal
181 changes: 181 additions & 0 deletions ARCore/ARCore/ARCore.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7DE51FE9-85E4-4E1D-BB85-ACC0833C6F6E}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ARCore</RootNamespace>
<AssemblyName>ARCore</AssemblyName>
<FileAlignment>512</FileAlignment>
<AndroidApplication>True</AndroidApplication>
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
<AndroidResgenClass>Resource</AndroidResgenClass>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
<AndroidLinkMode>None</AndroidLinkMode>
<EmbedAssembliesIntoApk>False</EmbedAssembliesIntoApk>
<AotAssemblies>false</AotAssemblies>
<EnableLLVM>false</EnableLLVM>
<BundleAssemblies>false</BundleAssemblies>
<AndroidEnableSGenConcurrent>true</AndroidEnableSGenConcurrent>
<AndroidCreatePackagePerAbi>false</AndroidCreatePackagePerAbi>
<AndroidSupportedAbis>arm64-v8a</AndroidSupportedAbis>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<DebugType>PdbOnly</DebugType>
<Optimize>True</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidManagedSymbols>true</AndroidManagedSymbols>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
<AndroidLinkMode>Full</AndroidLinkMode>
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
<AotAssemblies>false</AotAssemblies>
<EnableLLVM>false</EnableLLVM>
<BundleAssemblies>false</BundleAssemblies>
<AndroidEnableSGenConcurrent>false</AndroidEnableSGenConcurrent>
<AndroidSupportedAbis>arm64-v8a</AndroidSupportedAbis>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Android" />
<Reference Include="Urho, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UrhoSharp.1.8.11\lib\MonoAndroid\Urho.dll</HintPath>
</Reference>
<Reference Include="Urho.Droid.CoreAR, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UrhoSharp.ARCore.1.8.11\lib\monoandroid80\Urho.Droid.CoreAR.dll</HintPath>
</Reference>
<Reference Include="Urho.Droid.SdlBinding, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UrhoSharp.1.8.11\lib\MonoAndroid\Urho.Droid.SdlBinding.dll</HintPath>
</Reference>
<Reference Include="Urho.Extensions.Droid.ARCore, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UrhoSharp.ARCore.1.8.11\lib\monoandroid80\Urho.Extensions.Droid.ARCore.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Android.Arch.Core.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\lib\MonoAndroid80\Xamarin.Android.Arch.Core.Common.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Android.Arch.Lifecycle.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Android.Arch.Lifecycle.Runtime, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\lib\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Android.Support.Annotations, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Xamarin.Android.Support.Annotations.26.1.0.1\lib\MonoAndroid80\Xamarin.Android.Support.Annotations.dll</HintPath>
</Reference>
<Reference Include="Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Xamarin.Android.Support.Compat.26.1.0.1\lib\MonoAndroid80\Xamarin.Android.Support.Compat.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="MainActivity.cs" />
<Compile Include="MyGame.cs" />
<Compile Include="Resources\Resource.Designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Block_LY.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Death.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_HipHop1.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_HitHead_LY.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Idle0.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Idle1.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Jump.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Jump1.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_JumpAttack.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_JumpAttack_RM.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_JumpStop.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Kick.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Punch.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Run.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Swipe.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Throw_LY.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Walk.ani" />
<AndroidAsset Include="Assets\MutantData\Animations\Mutant_Wave_LY.ani" />
<AndroidAsset Include="Assets\MutantData\Models\Mutant.mdl" />
<AndroidAsset Include="Assets\MutantData\Shaders\GLSL\MyGammaCorrection.glsl" />
<None Include="packages.config" />
<None Include="Resources\AboutResources.txt" />
<None Include="Properties\AndroidManifest.xml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\Main.axml">
<SubType>Designer</SubType>
</AndroidResource>
<AndroidResource Include="Resources\values\Strings.xml" />
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\drawable\" />
<Folder Include="Resources\mipmap-hdpi\" />
<Folder Include="Resources\mipmap-mdpi\" />
<Folder Include="Resources\mipmap-xhdpi\" />
<Folder Include="Resources\mipmap-xxhdpi\" />
<Folder Include="Resources\mipmap-xxxhdpi\" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\Materials\mutant_M.xml" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\Textures\Mutant_diffuse.jpg" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\Textures\Mutant_normal.jpg" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\License.txt" />
</ItemGroup>
<ItemGroup>
<AndroidAsset Include="Assets\MutantData\PostProcess\MyGammaCorrection.xml" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets'))" />
<Error Condition="!Exists('..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets'))" />
<Error Condition="!Exists('..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets'))" />
<Error Condition="!Exists('..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets'))" />
<Error Condition="!Exists('..\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets'))" />
<Error Condition="!Exists('..\packages\UrhoSharp.1.8.11\build\MonoAndroid\UrhoSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UrhoSharp.1.8.11\build\MonoAndroid\UrhoSharp.targets'))" />
</Target>
<Import Project="..\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Annotations.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Annotations.targets')" />
<Import Project="..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets" Condition="Exists('..\packages\Xamarin.Android.Arch.Core.Common.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Core.Common.targets')" />
<Import Project="..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets" Condition="Exists('..\packages\Xamarin.Android.Arch.Lifecycle.Common.1.0.1\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Common.targets')" />
<Import Project="..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets" Condition="Exists('..\packages\Xamarin.Android.Arch.Lifecycle.Runtime.1.0.0\build\MonoAndroid80\Xamarin.Android.Arch.Lifecycle.Runtime.targets')" />
<Import Project="..\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets" Condition="Exists('..\packages\Xamarin.Android.Support.Compat.26.1.0.1\build\MonoAndroid80\Xamarin.Android.Support.Compat.targets')" />
<Import Project="..\packages\UrhoSharp.1.8.11\build\MonoAndroid\UrhoSharp.targets" Condition="Exists('..\packages\UrhoSharp.1.8.11\build\MonoAndroid\UrhoSharp.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
36 changes: 36 additions & 0 deletions ARCore/ARCore/Assets/MutantData/License.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
--------------------------
note:
--------------------------
There is no requirement in the Mixamo License to provide any license information with any content.
However, for the purpose of learning, I have provided some pertinent information below.

--------------------------
info:
--------------------------
website: https://www.mixamo.com/
model: Mutant
license: http://www.adobe.com/legal/terms.html

--------------------------
license short explanation (from the forum):
--------------------------
Jeanette Mathews
May 31, 2016 07:24

Thanks for the feedback, and glad to hear the tutorial was useful getting you started. :)

Yes, all Fuse and Mixamo content is available for commercial and non commercial use, royalty free.
You can edit them to your hearts content!

The only requirement we have is that the final product you are creating must have our content in an 'embedded', non-editable format.
So you can't edit the characters and sell them directly, because then other people have access to the character 3d data files.
Games, movies, 3d prints, 2D illustrations, or any other file format where the character/animation files are not-editable is fine.
Selling characters/animations directly is against the TOS/EULA.

Hope that helps clarify!

reference: https://community.mixamo.com/hc/en-us/community/posts/211496987-Mixamo-Store-Characters-Licence

--------------------------


9 changes: 9 additions & 0 deletions ARCore/ARCore/Assets/MutantData/Materials/mutant_M.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<material>
<technique name="Techniques/DiffNormal.xml" />
<texture unit="diffuse" name="Textures/Mutant_diffuse.jpg" />
<texture unit="normal" name="Textures/Mutant_normal.jpg" />
<parameter name="MatDiffColor" value="1 1 1 1" />
<parameter name="MatSpecColor" value="0.4 0.4 0.4 8" />
<parameter name="MatEmissiveColor" value="0 0 0 1" />
</material>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<renderpath>
<command type="quad" tag="MyGammaCorrection" vs="MyGammaCorrection" ps="MyGammaCorrection" output="viewport">
<texture unit="diffuse" name="viewport" />
</command>
</renderpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "Uniforms.glsl"
#include "Samplers.glsl"
#include "Transform.glsl"
#include "ScreenPos.glsl"
#include "PostProcess.glsl"

varying vec2 vScreenPos;

void VS()
{
mat4 modelMatrix = iModelMatrix;
vec3 worldPos = GetWorldPos(modelMatrix);
gl_Position = GetClipPos(worldPos);
vScreenPos = GetScreenPosPreDiv(gl_Position);
}

void PS()
{
vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
gl_FragColor = vec4(ToInverseGamma(color), 1.0);
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 294fcef

Please sign in to comment.