Showing preview only (632K chars total). Download the full file or copy to clipboard to get everything.
Repository: keijiro/KlakHap
Branch: master
Commit: 7212ffe5e402
Files: 187
Total size: 582.0 KB
Directory structure:
gitextract_73gfcozr/
├── .gitattributes
├── .gitignore
├── AGENTS.md
├── Assets/
│ ├── Demo/
│ │ ├── Hap.mat
│ │ ├── Hap.mat.meta
│ │ ├── Hap.renderTexture
│ │ ├── Hap.renderTexture.meta
│ │ ├── HapAlpha.mat
│ │ ├── HapAlpha.mat.meta
│ │ ├── HapQ.mat
│ │ ├── HapQ.mat.meta
│ │ ├── Manifest.asset
│ │ ├── Manifest.asset.meta
│ │ ├── ScriptingTest.cs
│ │ ├── ScriptingTest.cs.meta
│ │ ├── ScriptingTest.renderTexture
│ │ ├── ScriptingTest.renderTexture.meta
│ │ ├── SeekBarBind.cs
│ │ ├── SeekBarBind.cs.meta
│ │ ├── UITK/
│ │ │ ├── DefaultTheme.tss
│ │ │ ├── DefaultTheme.tss.meta
│ │ │ ├── Demo.uxml
│ │ │ ├── Demo.uxml.meta
│ │ │ ├── PanelSettings.asset
│ │ │ └── PanelSettings.asset.meta
│ │ ├── UITK.meta
│ │ ├── URP/
│ │ │ ├── DefaultRenderer.asset
│ │ │ ├── DefaultRenderer.asset.meta
│ │ │ ├── DefaultVolume.asset
│ │ │ ├── DefaultVolume.asset.meta
│ │ │ ├── GlobalSettings.asset
│ │ │ ├── GlobalSettings.asset.meta
│ │ │ ├── URP.asset
│ │ │ └── URP.asset.meta
│ │ └── URP.meta
│ ├── Demo.meta
│ ├── Demo.unity
│ ├── Demo.unity.meta
│ ├── StreamingAssets/
│ │ ├── Tests/
│ │ │ ├── Hap/
│ │ │ │ ├── 000001.png.meta
│ │ │ │ ├── 000002.png.meta
│ │ │ │ ├── 000003.png.meta
│ │ │ │ ├── 000004.png.meta
│ │ │ │ ├── 000005.png.meta
│ │ │ │ └── TestCards.mov.meta
│ │ │ ├── Hap.meta
│ │ │ ├── HapAlpha/
│ │ │ │ ├── 000001.png.meta
│ │ │ │ └── HapAlpha.mov.meta
│ │ │ ├── HapAlpha.meta
│ │ │ ├── HapQ/
│ │ │ │ ├── 000001.png.meta
│ │ │ │ ├── 000002.png.meta
│ │ │ │ ├── 000003.png.meta
│ │ │ │ ├── 000004.png.meta
│ │ │ │ ├── 000005.png.meta
│ │ │ │ └── TestCards.mov.meta
│ │ │ ├── HapQ.meta
│ │ │ ├── RGBCycle/
│ │ │ │ ├── RGBCycle24.mov.meta
│ │ │ │ ├── RGBCycle24000-1001.mov.meta
│ │ │ │ ├── RGBCycle25.mov.meta
│ │ │ │ ├── RGBCycle30.mov.meta
│ │ │ │ ├── RGBCycle30000-1001.mov.meta
│ │ │ │ ├── RGBCycle50.mov.meta
│ │ │ │ ├── RGBCycle60.mov.meta
│ │ │ │ └── RGBCycle60000-1001.mov.meta
│ │ │ ├── RGBCycle.meta
│ │ │ ├── 日本語/
│ │ │ │ └── Test.mov.meta
│ │ │ └── 日本語.meta
│ │ └── Tests.meta
│ ├── StreamingAssets.meta
│ ├── Tests/
│ │ ├── Runtime/
│ │ │ ├── HapAlphaPlaybackTest.cs
│ │ │ ├── HapAlphaPlaybackTest.cs.meta
│ │ │ ├── JapanesePathPlaybackTest.cs
│ │ │ ├── JapanesePathPlaybackTest.cs.meta
│ │ │ ├── Klak.Hap.Runtime.Tests.asmdef
│ │ │ ├── Klak.Hap.Runtime.Tests.asmdef.meta
│ │ │ ├── RgbCycleFrameMappingTest.cs
│ │ │ ├── RgbCycleFrameMappingTest.cs.meta
│ │ │ ├── TestCardsPlaybackTest.cs
│ │ │ └── TestCardsPlaybackTest.cs.meta
│ │ └── Runtime.meta
│ └── Tests.meta
├── CHANGELOG.md
├── LICENSE
├── Packages/
│ ├── jp.keijiro.klak.hap/
│ │ ├── CHANGELOG.md
│ │ ├── CHANGELOG.md.meta
│ │ ├── Editor/
│ │ │ ├── HapPlayerEditor.cs
│ │ │ ├── HapPlayerEditor.cs.meta
│ │ │ ├── Klak.Hap.Editor.asmdef
│ │ │ ├── Klak.Hap.Editor.asmdef.meta
│ │ │ ├── MaterialPropertySelector.cs
│ │ │ └── MaterialPropertySelector.cs.meta
│ │ ├── Editor.meta
│ │ ├── LICENSE
│ │ ├── LICENSE.meta
│ │ ├── Plugin/
│ │ │ ├── Linux/
│ │ │ │ └── libKlakHap.so.meta
│ │ │ ├── Linux.meta
│ │ │ ├── MacOS/
│ │ │ │ ├── KlakHap.bundle
│ │ │ │ └── KlakHap.bundle.meta
│ │ │ ├── MacOS.meta
│ │ │ ├── Windows/
│ │ │ │ └── KlakHap.dll.meta
│ │ │ └── Windows.meta
│ │ ├── Plugin.meta
│ │ ├── README.md
│ │ ├── README.md.meta
│ │ ├── Resources/
│ │ │ ├── Hap1.shader
│ │ │ ├── Hap1.shader.meta
│ │ │ ├── Hap5.shader
│ │ │ ├── Hap5.shader.meta
│ │ │ ├── HapY.shader
│ │ │ └── HapY.shader.meta
│ │ ├── Resources.meta
│ │ ├── Runtime/
│ │ │ ├── Common.cs
│ │ │ ├── Common.cs.meta
│ │ │ ├── HapPlayer.cs
│ │ │ ├── HapPlayer.cs.meta
│ │ │ ├── Internal/
│ │ │ │ ├── Decoder.cs
│ │ │ │ ├── Decoder.cs.meta
│ │ │ │ ├── Demuxer.cs
│ │ │ │ ├── Demuxer.cs.meta
│ │ │ │ ├── ReadBuffer.cs
│ │ │ │ ├── ReadBuffer.cs.meta
│ │ │ │ ├── StreamReader.cs
│ │ │ │ ├── StreamReader.cs.meta
│ │ │ │ ├── TextureUpdater.cs
│ │ │ │ ├── TextureUpdater.cs.meta
│ │ │ │ ├── Utility.cs
│ │ │ │ └── Utility.cs.meta
│ │ │ ├── Internal.meta
│ │ │ ├── Klak.Hap.asmdef
│ │ │ └── Klak.Hap.asmdef.meta
│ │ ├── Runtime.meta
│ │ ├── package.json
│ │ └── package.json.meta
│ ├── manifest.json
│ └── packages-lock.json
├── Plugin/
│ ├── Common.mk
│ ├── Hap/
│ │ ├── hap.c
│ │ └── hap.h
│ ├── MP4/
│ │ ├── mp4defs.h
│ │ ├── mp4demux.c
│ │ └── mp4demux.h
│ ├── Makefile.linux
│ ├── Makefile.macos
│ ├── Makefile.windows
│ ├── Snappy/
│ │ ├── snappy-c.cc
│ │ ├── snappy-c.h
│ │ ├── snappy-internal.h
│ │ ├── snappy-sinksource.cc
│ │ ├── snappy-sinksource.h
│ │ ├── snappy-stubs-internal.cc
│ │ ├── snappy-stubs-internal.h
│ │ ├── snappy-stubs-public.h
│ │ ├── snappy.cc
│ │ └── snappy.h
│ ├── Source/
│ │ ├── Decoder.h
│ │ ├── Demuxer.h
│ │ ├── KlakHap.cpp
│ │ └── ReadBuffer.h
│ ├── Unity/
│ │ ├── IUnityGraphics.h
│ │ ├── IUnityInterface.h
│ │ └── IUnityRenderingExtensions.h
│ └── build.macos.sh
├── ProjectSettings/
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── MemorySettings.asset
│ ├── MultiplayerManager.asset
│ ├── NavMeshAreas.asset
│ ├── PackageManagerSettings.asset
│ ├── Packages/
│ │ └── com.unity.dedicated-server/
│ │ └── MultiplayerRolesSettings.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── SceneTemplateSettings.json
│ ├── ShaderGraphSettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── URPProjectSettings.asset
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ └── VersionControlSettings.asset
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* -text
*.cs text eol=lf diff=csharp
*.shader text eol=lf
*.cginc text eol=lf
*.hlsl text eol=lf
*.compute text eol=lf
*.meta text eol=lf
*.h text eol=lf
*.cpp text eol=lf
*.cc text eol=lf
*.c text eol=lf
*.plist text eol=lf
*.sln text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf
================================================
FILE: .gitignore
================================================
# Windows
Thumbs.db
Desktop.ini
# macOS
.DS_Store
# Code Editors
/.idea
/.vscode
/*.csproj
/*.sln
*.swp
*.vcxproj.user
# Unity
/Library
/Logs
/Recordings
/Temp
/UIElementsSchema
/UserSettings
# Visual Studio
/Plugin/Windows/.vs
/Plugin/Windows/x64
# Xcode
xcuserdata
xcshareddata
/Plugin/build-*
/Plugin/MacOS/arm64
/Plugin/MacOS/x86_64
/Plugin/MacOS/*.bundle
/Plugin/*.bundle
/*.tgz
/Assets/StreamingAssets/*.mov
/Assets/StreamingAssets/*.mov.meta
================================================
FILE: AGENTS.md
================================================
This repository contains a UPM Unity package project. Refer to the following
document for the workflow:
https://raw.githubusercontent.com/keijiro/AgentWorkflows/refs/heads/main/upm-workflow.md
================================================
FILE: Assets/Demo/Hap.mat
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8186347925687542841
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hap
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 8400000, guid: a4f22813f74e84455bd3d9e41d54ced6, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8400000, guid: a4f22813f74e84455bd3d9e41d54ced6, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
================================================
FILE: Assets/Demo/Hap.mat.meta
================================================
fileFormatVersion: 2
guid: e127fa53264f341caab6ab276ff39b77
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/Hap.renderTexture
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hap
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0
serializedVersion: 6
m_Width: 1920
m_Height: 1080
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 4
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 1
m_UseDynamicScale: 0
m_UseDynamicScaleExplicit: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 2
m_Aniso: 8
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2
================================================
FILE: Assets/Demo/Hap.renderTexture.meta
================================================
fileFormatVersion: 2
guid: a4f22813f74e84455bd3d9e41d54ced6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/HapAlpha.mat
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: HapAlpha
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses:
- MOTIONVECTORS
- DepthOnly
- SHADOWCASTER
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: -1}
m_Offset: {x: 0, y: 1}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: -1}
m_Offset: {x: 0, y: 1}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _DstBlendAlpha: 10
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 5
- _SrcBlendAlpha: 1
- _Surface: 1
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 0
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &4974996350567476565
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
================================================
FILE: Assets/Demo/HapAlpha.mat.meta
================================================
fileFormatVersion: 2
guid: 6f1182baee9ac4863bd4c5ea5f7d536d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/HapQ.mat
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1545691033646063671
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: HapQ
m_Shader: {fileID: 4800000, guid: c6a332340608cdd4f907eb4bc0c17f4a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
================================================
FILE: Assets/Demo/HapQ.mat.meta
================================================
fileFormatVersion: 2
guid: f4060b9dfe1254ee9bb9d4fad7ae4ebd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/Manifest.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5acc6266be6eb4130afc5134ec35fcec, type: 3}
m_Name: Manifest
m_EditorClassIdentifier: KlutterTools.Editor::KlutterTools.Downloader.Manifest
<Caption>k__BackingField: 'Test video files are missing:'
<FileEntries>k__BackingField:
- <SourceUrl>k__BackingField: https://huggingface.co/keijiro-tk/test-videos/resolve/main/Beeple-CleanRoom-Hap.mov
<Destination>k__BackingField: Assets/StreamingAssets
- <SourceUrl>k__BackingField: https://huggingface.co/keijiro-tk/test-videos/resolve/main/Beeple-FiberOptical-Hap.mov
<Destination>k__BackingField: Assets/StreamingAssets
- <SourceUrl>k__BackingField: https://huggingface.co/keijiro-tk/test-videos/resolve/main/Beeple-Hexxx-HapQ.mov
<Destination>k__BackingField: Assets/StreamingAssets
- <SourceUrl>k__BackingField: https://huggingface.co/keijiro-tk/test-videos/resolve/main/TransparencyTest-HapAlpha.mov
<Destination>k__BackingField: Assets/StreamingAssets
================================================
FILE: Assets/Demo/Manifest.asset.meta
================================================
fileFormatVersion: 2
guid: 3dac4bcd1e58c42f1b91f538480ebc79
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/ScriptingTest.cs
================================================
using UnityEngine;
using Klak.Hap;
public sealed class ScriptingTest : MonoBehaviour
{
[SerializeField] string _filename = "Test.mov";
[SerializeField] RenderTexture _destination = null;
[SerializeField] float _interval = 1;
[SerializeField] int _iteration = 10;
async void Start()
{
// Create a HAP player instance.
var player = gameObject.AddComponent<HapPlayer>();
// Open the specified HAP video file.
player.Open(_filename);
// Route playback to the destination render texture.
player.targetTexture = _destination;
// Step through playback changes.
for (var i = 0; i < _iteration; i++)
{
// Jump to a random timestamp after each interval.
await Awaitable.WaitForSecondsAsync(_interval);
player.time = Random.Range(0, (float)player.streamDuration - _interval);
}
// Clean up the player component.
Destroy(player);
}
}
================================================
FILE: Assets/Demo/ScriptingTest.cs.meta
================================================
fileFormatVersion: 2
guid: 2c91f3289fa694fe3ba2e1e6149477b8
================================================
FILE: Assets/Demo/ScriptingTest.renderTexture
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ScriptingTest
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_IsAlphaChannelOptional: 0
serializedVersion: 6
m_Width: 1920
m_Height: 1080
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 4
m_MipMap: 0
m_GenerateMips: 1
m_SRGB: 1
m_UseDynamicScale: 0
m_UseDynamicScaleExplicit: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2
================================================
FILE: Assets/Demo/ScriptingTest.renderTexture.meta
================================================
fileFormatVersion: 2
guid: 1bba849debc024a4f8251bd62cceac60
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 8400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/SeekBarBind.cs
================================================
using Unity.Properties;
using UnityEngine;
using UnityEngine.UIElements;
using Klak.Hap;
public sealed class SeekBarBind : MonoBehaviour
{
[SerializeField] UIDocument _ui = null;
HapPlayer _player;
[CreateProperty]
public float SeekPoint
{ get => _player.time;
set => _player.time = value; }
void Start()
{
_player = GetComponent<HapPlayer>();
var slider = _ui.rootVisualElement.Q<Slider>("seek-bar");
slider.dataSource = this;
slider.highValue = (float)_player.streamDuration;
}
}
================================================
FILE: Assets/Demo/SeekBarBind.cs.meta
================================================
fileFormatVersion: 2
guid: 538bb1d7707cb473f8493b44c63286cc
================================================
FILE: Assets/Demo/UITK/DefaultTheme.tss
================================================
@import url("unity-theme://default");
================================================
FILE: Assets/Demo/UITK/DefaultTheme.tss.meta
================================================
fileFormatVersion: 2
guid: affeaa67622c24c3991a769c52b9c780
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0
unsupportedSelectorAction: 0
================================================
FILE: Assets/Demo/UITK/Demo.uxml
================================================
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" noNamespaceSchemaLocation="../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Slider name="seek-bar" data-source-type="SeekBarBind, Assembly-CSharp">
<Bindings>
<ui:DataBinding property="value" data-source-path="SeekPoint" binding-mode="TwoWay"/>
</Bindings>
</ui:Slider>
<ui:VisualElement style="position: absolute; left: 10px; bottom: 10px; width: 160px; height: 90px; background-image: url("project://database/Assets/Demo/ScriptingTest.renderTexture?fileID=8400000&guid=1bba849debc024a4f8251bd62cceac60&type=2#ScriptingTest");"/>
</ui:UXML>
================================================
FILE: Assets/Demo/UITK/Demo.uxml.meta
================================================
fileFormatVersion: 2
guid: f9d1722b31b6d45a8b38e8167775d54d
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
================================================
FILE: Assets/Demo/UITK/PanelSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
m_Name: PanelSettings
m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.PanelSettings
themeUss: {fileID: -4733365628477956816, guid: affeaa67622c24c3991a769c52b9c780, type: 3}
m_DisableNoThemeWarning: 0
m_TargetTexture: {fileID: 0}
m_RenderMode: 0
m_ColliderUpdateMode: 0
m_ColliderIsTrigger: 1
m_ScaleMode: 1
m_ReferenceSpritePixelsPerUnit: 100
m_PixelsPerUnit: 100
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
m_ReferenceResolution: {x: 1200, y: 800}
m_ScreenMatchMode: 0
m_Match: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_BindingLogLevel: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_VertexBudget: 0
m_TextureSlotCount: 8
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
m_MaxSubTextureSize: 64
m_ActiveFilters: -1
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_DefaultShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeGaussianBlurShader: {fileID: 20300, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeColorEffectShader: {fileID: 20301, guid: 0000000000000000f000000000000000, type: 0}
m_SDFShader: {fileID: 19011, guid: 0000000000000000f000000000000000, type: 0}
m_BitmapShader: {fileID: 9001, guid: 0000000000000000f000000000000000, type: 0}
m_SpriteShader: {fileID: 19012, guid: 0000000000000000f000000000000000, type: 0}
m_ICUDataAsset: {fileID: 0}
forceGammaRendering: 0
textSettings: {fileID: 0}
================================================
FILE: Assets/Demo/UITK/PanelSettings.asset.meta
================================================
fileFormatVersion: 2
guid: 217443c668dc34029b583fa73e5c4dfc
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/UITK.meta
================================================
fileFormatVersion: 2
guid: 231a2176bf9354a2aaa754fd16e8e95e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/URP/DefaultRenderer.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: DefaultRenderer
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalRendererData
debugShaders:
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
probeVolumeResources:
probeVolumeDebugShader: {fileID: 0}
probeVolumeFragmentationDebugShader: {fileID: 0}
probeVolumeOffsetDebugShader: {fileID: 0}
probeVolumeSamplingDebugShader: {fileID: 0}
probeSamplingDebugMesh: {fileID: 0}
probeSamplingDebugTexture: {fileID: 0}
probeVolumeBlendStatesCS: {fileID: 0}
m_RendererFeatures: []
m_RendererFeatureMap:
m_UseNativeRenderPass: 0
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
m_AssetVersion: 3
m_PrepassLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 0
stencilCompareFunction: 8
passOperation: 2
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
m_RenderingMode: 0
m_DepthPrimingMode: 0
m_CopyDepthMode: 1
m_DepthAttachmentFormat: 0
m_DepthTextureFormat: 0
m_AccurateGbufferNormals: 0
m_IntermediateTextureMode: 1
================================================
FILE: Assets/Demo/URP/DefaultRenderer.asset.meta
================================================
fileFormatVersion: 2
guid: e707f25f3295f48408bbc74cefc67e0d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/URP/DefaultVolume.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8324776220157134924
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3}
m_Name: LiftGammaGain
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.LiftGammaGain
active: 1
lift:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
gamma:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
gain:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
--- !u!114 &-4854300222326862063
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 70afe9e12c7a7ed47911bb608a23a8ff, type: 3}
m_Name: SplitToning
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.SplitToning
active: 1
shadows:
m_OverrideState: 1
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
highlights:
m_OverrideState: 1
m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1}
balance:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-4422322214415224032
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.Vignette
active: 1
color:
m_OverrideState: 1
m_Value: {r: 0, g: 0, b: 0, a: 1}
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0
smoothness:
m_OverrideState: 1
m_Value: 0.2
rounded:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-4084026468743712817
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 81180773991d8724ab7f2d216912b564, type: 3}
m_Name: ChromaticAberration
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ChromaticAberration
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-4056193433038019785
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fb60a22f311433c4c962b888d1393f88, type: 3}
m_Name: PaniniProjection
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.PaniniProjection
active: 1
distance:
m_OverrideState: 1
m_Value: 0
cropToFit:
m_OverrideState: 1
m_Value: 1
--- !u!114 &-1795136986949859044
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 06437c1ff663d574d9447842ba0a72e4, type: 3}
m_Name: ScreenSpaceLensFlare
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ScreenSpaceLensFlare
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
tintColor:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
bloomMip:
m_OverrideState: 1
m_Value: 1
firstFlareIntensity:
m_OverrideState: 1
m_Value: 1
secondaryFlareIntensity:
m_OverrideState: 1
m_Value: 1
warpedFlareIntensity:
m_OverrideState: 1
m_Value: 1
warpedFlareScale:
m_OverrideState: 1
m_Value: {x: 1, y: 1}
samples:
m_OverrideState: 1
m_Value: 1
sampleDimmer:
m_OverrideState: 1
m_Value: 0.5
vignetteEffect:
m_OverrideState: 1
m_Value: 1
startingPosition:
m_OverrideState: 1
m_Value: 1.25
scale:
m_OverrideState: 1
m_Value: 1.5
streaksIntensity:
m_OverrideState: 1
m_Value: 0
streaksLength:
m_OverrideState: 1
m_Value: 0.5
streaksOrientation:
m_OverrideState: 1
m_Value: 0
streaksThreshold:
m_OverrideState: 1
m_Value: 0.25
resolution:
m_OverrideState: 1
m_Value: 4
chromaticAbberationIntensity:
m_OverrideState: 1
m_Value: 0.5
--- !u!114 &-598097793118719588
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e021b4c809a781e468c2988c016ebbea, type: 3}
m_Name: ColorLookup
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ColorLookup
active: 1
texture:
m_OverrideState: 1
m_Value: {fileID: 0}
dimension: 1
contribution:
m_OverrideState: 1
m_Value: 0
--- !u!114 &-491638309231600550
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 29fa0085f50d5e54f8144f766051a691, type: 3}
m_Name: FilmGrain
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.FilmGrain
active: 1
type:
m_OverrideState: 1
m_Value: 0
intensity:
m_OverrideState: 1
m_Value: 0
response:
m_OverrideState: 1
m_Value: 0.8
texture:
m_OverrideState: 1
m_Value: {fileID: 0}
--- !u!114 &-262398843821731637
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.Bloom
active: 1
skipIterations:
m_OverrideState: 1
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.9
intensity:
m_OverrideState: 1
m_Value: 0
scatter:
m_OverrideState: 1
m_Value: 0.7
clamp:
m_OverrideState: 1
m_Value: 65472
tint:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 1
m_Value: 0
filter:
m_OverrideState: 1
m_Value: 0
downscale:
m_OverrideState: 1
m_Value: 0
maxIterations:
m_OverrideState: 1
m_Value: 6
dirtTexture:
m_OverrideState: 1
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 1
m_Value: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: DefaultVolume
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.VolumeProfile
components:
- {fileID: 451328866785996911}
- {fileID: 8855959688280746896}
- {fileID: 4256406320919580142}
- {fileID: 2026760357700040227}
- {fileID: 8862907471677848668}
- {fileID: -4422322214415224032}
- {fileID: -8324776220157134924}
- {fileID: -1795136986949859044}
- {fileID: 3728775241584703705}
- {fileID: -4854300222326862063}
- {fileID: -262398843821731637}
- {fileID: 1801325758739867974}
- {fileID: -4056193433038019785}
- {fileID: -4084026468743712817}
- {fileID: 5078066985263128679}
- {fileID: -491638309231600550}
- {fileID: 1585749192924285193}
- {fileID: -598097793118719588}
- {fileID: 5892942527586337604}
--- !u!114 &451328866785996911
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 558a8e2b6826cf840aae193990ba9f2e, type: 3}
m_Name: ShadowsMidtonesHighlights
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ShadowsMidtonesHighlights
active: 1
shadows:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
midtones:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
highlights:
m_OverrideState: 1
m_Value: {x: 1, y: 1, z: 1, w: 0}
shadowsStart:
m_OverrideState: 1
m_Value: 0
shadowsEnd:
m_OverrideState: 1
m_Value: 0.3
highlightsStart:
m_OverrideState: 1
m_Value: 0.55
highlightsEnd:
m_OverrideState: 1
m_Value: 1
--- !u!114 &1585749192924285193
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 221518ef91623a7438a71fef23660601, type: 3}
m_Name: WhiteBalance
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.WhiteBalance
active: 1
temperature:
m_OverrideState: 1
m_Value: 0
tint:
m_OverrideState: 1
m_Value: 0
--- !u!114 &1801325758739867974
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 66f335fb1ffd8684294ad653bf1c7564, type: 3}
m_Name: ColorAdjustments
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ColorAdjustments
active: 1
postExposure:
m_OverrideState: 1
m_Value: 0
contrast:
m_OverrideState: 1
m_Value: 0
colorFilter:
m_OverrideState: 1
m_Value: {r: 1, g: 1, b: 1, a: 1}
hueShift:
m_OverrideState: 1
m_Value: 0
saturation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &2026760357700040227
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.DepthOfField
active: 1
mode:
m_OverrideState: 1
m_Value: 0
gaussianStart:
m_OverrideState: 1
m_Value: 10
gaussianEnd:
m_OverrideState: 1
m_Value: 30
gaussianMaxRadius:
m_OverrideState: 1
m_Value: 1
highQualitySampling:
m_OverrideState: 1
m_Value: 0
focusDistance:
m_OverrideState: 1
m_Value: 10
aperture:
m_OverrideState: 1
m_Value: 5.6
focalLength:
m_OverrideState: 1
m_Value: 50
bladeCount:
m_OverrideState: 1
m_Value: 5
bladeCurvature:
m_OverrideState: 1
m_Value: 1
bladeRotation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &3728775241584703705
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3}
m_Name: LensDistortion
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.LensDistortion
active: 1
intensity:
m_OverrideState: 1
m_Value: 0
xMultiplier:
m_OverrideState: 1
m_Value: 1
yMultiplier:
m_OverrideState: 1
m_Value: 1
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
scale:
m_OverrideState: 1
m_Value: 1
--- !u!114 &4256406320919580142
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3eb4b772797da9440885e8bd939e9560, type: 3}
m_Name: ColorCurves
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ColorCurves
active: 1
master:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
red:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
green:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
blue:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 2
m_Loop: 0
m_ZeroValue: 0
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 1
outSlope: 1
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
hueVsHue:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 1
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
hueVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 1
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
satVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 0
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
lumVsSat:
m_OverrideState: 1
m_Value:
<length>k__BackingField: 0
m_Loop: 0
m_ZeroValue: 0.5
m_Range: 1
m_Curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &5078066985263128679
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.Tonemapping
active: 1
mode:
m_OverrideState: 1
m_Value: 0
neutralHDRRangeReductionMode:
m_OverrideState: 1
m_Value: 2
acesPreset:
m_OverrideState: 1
m_Value: 3
hueShiftAmount:
m_OverrideState: 1
m_Value: 0
detectPaperWhite:
m_OverrideState: 1
m_Value: 0
paperWhite:
m_OverrideState: 1
m_Value: 300
detectBrightnessLimits:
m_OverrideState: 1
m_Value: 1
minNits:
m_OverrideState: 1
m_Value: 0.005
maxNits:
m_OverrideState: 1
m_Value: 1000
--- !u!114 &5892942527586337604
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6bd486065ce11414fa40e631affc4900, type: 3}
m_Name: ProbeVolumesOptions
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.ProbeVolumesOptions
active: 1
normalBias:
m_OverrideState: 1
m_Value: 0.05
viewBias:
m_OverrideState: 1
m_Value: 0.1
scaleBiasWithMinProbeDistance:
m_OverrideState: 1
m_Value: 0
samplingNoise:
m_OverrideState: 1
m_Value: 0.1
animateSamplingNoise:
m_OverrideState: 1
m_Value: 1
leakReductionMode:
m_OverrideState: 1
m_Value: 2
minValidDotProductValue:
m_OverrideState: 1
m_Value: 0.1
occlusionOnlyReflectionNormalization:
m_OverrideState: 1
m_Value: 1
intensityMultiplier:
m_OverrideState: 1
m_Value: 1
skyOcclusionIntensityMultiplier:
m_OverrideState: 1
m_Value: 1
worldOffset:
m_OverrideState: 1
m_Value: {x: 0, y: 0, z: 0}
--- !u!114 &8855959688280746896
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cdfbdbb87d3286943a057f7791b43141, type: 3}
m_Name: ChannelMixer
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.ChannelMixer
active: 1
redOutRedIn:
m_OverrideState: 1
m_Value: 100
redOutGreenIn:
m_OverrideState: 1
m_Value: 0
redOutBlueIn:
m_OverrideState: 1
m_Value: 0
greenOutRedIn:
m_OverrideState: 1
m_Value: 0
greenOutGreenIn:
m_OverrideState: 1
m_Value: 100
greenOutBlueIn:
m_OverrideState: 1
m_Value: 0
blueOutRedIn:
m_OverrideState: 1
m_Value: 0
blueOutGreenIn:
m_OverrideState: 1
m_Value: 0
blueOutBlueIn:
m_OverrideState: 1
m_Value: 100
--- !u!114 &8862907471677848668
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ccf1aba9553839d41ae37dd52e9ebcce, type: 3}
m_Name: MotionBlur
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.MotionBlur
active: 1
mode:
m_OverrideState: 1
m_Value: 0
quality:
m_OverrideState: 1
m_Value: 0
intensity:
m_OverrideState: 1
m_Value: 0
clamp:
m_OverrideState: 1
m_Value: 0.05
================================================
FILE: Assets/Demo/URP/DefaultVolume.asset.meta
================================================
fileFormatVersion: 2
guid: dc9bac492fb764e719f43f6fff2d42aa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/URP/GlobalSettings.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
m_Name: GlobalSettings
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalRenderPipelineGlobalSettings
m_ShaderStrippingSetting:
m_Version: 0
m_ExportShaderVariants: 1
m_ShaderVariantLogLevel: 0
m_StripRuntimeDebugShaders: 1
m_URPShaderStrippingSetting:
m_Version: 0
m_StripUnusedPostProcessingVariants: 0
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
m_ShaderVariantLogLevel: 0
m_ExportShaderVariants: 1
m_StripDebugVariants: 1
m_StripUnusedPostProcessingVariants: 0
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
supportRuntimeDebugDisplay: 0
m_EnableRenderGraph: 0
m_Settings:
m_SettingsList:
m_List:
- rid: 8017221388498632982
- rid: 8017221388498632983
- rid: 8017221388498632984
- rid: 8017221388498632985
- rid: 8017221388498632986
- rid: 8017221388498632987
- rid: 8017221388498632988
- rid: 8017221388498632989
- rid: 8017221388498632990
- rid: 8017221388498632991
- rid: 8017221388498632992
- rid: 8017221388498632993
- rid: 8017221388498632994
- rid: 8017221388498632995
- rid: 8017221388498632996
- rid: 8017221388498632997
- rid: 8017221388498632998
- rid: 8017221388498632999
- rid: 8017221388498633000
- rid: 8017221388498633001
- rid: 8017221388498633002
- rid: 8017221388498633003
- rid: 8017221388498633004
- rid: 8017221388498633005
- rid: 8017221388498633006
- rid: 8017221388498633007
- rid: 8017221388498633008
- rid: 8017221388498633009
- rid: 8017221388498633010
- rid: 8017221388498633011
- rid: 8017221388498633012
- rid: 8017221388498633013
m_RuntimeSettings:
m_List: []
m_AssetVersion: 9
m_ObsoleteDefaultVolumeProfile: {fileID: 0}
m_RenderingLayerNames:
- Default
m_ValidRenderingLayers: 0
lightLayerName0:
lightLayerName1:
lightLayerName2:
lightLayerName3:
lightLayerName4:
lightLayerName5:
lightLayerName6:
lightLayerName7:
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
references:
version: 2
RefIds:
- rid: 8017221388498632982
type: {class: RayTracingRenderPipelineResources, ns: UnityEngine.Rendering.UnifiedRayTracing, asm: Unity.UnifiedRayTracing.Runtime}
data:
m_Version: 1
m_GeometryPoolKernels: {fileID: 7200000, guid: 98e3d58cae7210c4786f67f504c9e899, type: 3}
m_CopyBuffer: {fileID: 7200000, guid: 1b95b5dcf48d1914c9e1e7405c7660e3, type: 3}
m_CopyPositions: {fileID: 7200000, guid: 1ad53a96b58d3c3488dde4f14db1aaeb, type: 3}
m_BitHistogram: {fileID: 7200000, guid: 8670f7ce4b60cef43bed36148aa1b0a2, type: 3}
m_BlockReducePart: {fileID: 7200000, guid: 4e034cc8ea2635c4e9f063e5ddc7ea7a, type: 3}
m_BlockScan: {fileID: 7200000, guid: 4d6d5de35fa45ef4a92119397a045cc9, type: 3}
m_BuildHlbvh: {fileID: 7200000, guid: 2d70cd6be91bd7843a39a54b51c15b13, type: 3}
m_RestructureBvh: {fileID: 7200000, guid: 56641cb88dcb31a4398a4997ef7a7a8c, type: 3}
m_Scatter: {fileID: 7200000, guid: a2eaeefdac4637a44b734e85b7be9186, type: 3}
- rid: 8017221388498632983
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
m_DefaultParticleMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
- rid: 8017221388498632984
type: {class: PostProcessData/TextureResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
blueNoise16LTex: []
filmGrainTex:
- {fileID: 2800000, guid: 654c582f7f8a5a14dbd7d119cbde215d, type: 3}
- {fileID: 2800000, guid: dd77ffd079630404e879388999033049, type: 3}
- {fileID: 2800000, guid: 1097e90e1306e26439701489f391a6c0, type: 3}
- {fileID: 2800000, guid: f0b67500f7fad3b4c9f2b13e8f41ba6e, type: 3}
- {fileID: 2800000, guid: 9930fb4528622b34687b00bbe6883de7, type: 3}
- {fileID: 2800000, guid: bd9e8c758250ef449a4b4bfaad7a2133, type: 3}
- {fileID: 2800000, guid: 510a2f57334933e4a8dbabe4c30204e4, type: 3}
- {fileID: 2800000, guid: b4db8180660810945bf8d55ab44352ad, type: 3}
- {fileID: 2800000, guid: fd2fd78b392986e42a12df2177d3b89c, type: 3}
- {fileID: 2800000, guid: 5cdee82a77d13994f83b8fdabed7c301, type: 3}
smaaAreaTex: {fileID: 2800000, guid: d1f1048909d55cd4fa1126ab998f617e, type: 3}
smaaSearchTex: {fileID: 2800000, guid: 51eee22c2a633ef4aada830eed57c3fd, type: 3}
m_TexturesResourcesVersion: 0
- rid: 8017221388498632985
type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_VolumeProfile: {fileID: 11400000, guid: dc9bac492fb764e719f43f6fff2d42aa, type: 2}
- rid: 8017221388498632986
type: {class: ScreenSpaceAmbientOcclusionDynamicResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_BlueNoise256Textures:
- {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
- {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
- {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
- {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
- {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
- {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
- {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
m_Version: 0
- rid: 8017221388498632987
type: {class: RenderGraphSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_EnableRenderCompatibilityMode: 0
- rid: 8017221388498632988
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_LightShader: {fileID: 4800000, guid: 3f6c848ca3d7bca4bbe846546ac701a1, type: 3}
m_ProjectedShadowShader: {fileID: 4800000, guid: ce09d4a80b88c5a4eb9768fab4f1ee00, type: 3}
m_SpriteShadowShader: {fileID: 4800000, guid: 44fc62292b65ab04eabcf310e799ccf6, type: 3}
m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3}
m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3}
m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3}
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
m_DefaultMesh2DLitMaterial: {fileID: 2100000, guid: 9452ae1262a74094f8a68013fbcd1834, type: 2}
- rid: 8017221388498632989
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_StripUnusedPostProcessingVariants: 0
m_StripUnusedVariants: 1
m_StripScreenCoordOverrideVariants: 1
- rid: 8017221388498632990
type: {class: UniversalRendererResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3}
m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3}
m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3}
m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3}
m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3}
- rid: 8017221388498632991
type: {class: UniversalRenderPipelineRuntimeShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_FallbackErrorShader: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_BlitHDROverlay: {fileID: 4800000, guid: a89bee29cffa951418fc1e2da94d1959, type: 3}
m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3}
m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3}
m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3}
m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3}
m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3}
- rid: 8017221388498632992
type: {class: OnTilePostProcessResource, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 0
m_UberPostShader: {fileID: 4800000, guid: fe4f13c1004a07d4ea1e30bfd0326d9e, type: 3}
- rid: 8017221388498632993
type: {class: URPReflectionProbeSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Universal.Runtime}
data:
version: 1
useReflectionProbeRotation: 1
- rid: 8017221388498632994
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3}
m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3}
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
- rid: 8017221388498632995
type: {class: ScreenSpaceAmbientOcclusionPersistentResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
m_Version: 0
- rid: 8017221388498632996
type: {class: UniversalRenderPipelineDebugShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DebugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
m_HdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
m_ProbeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
- rid: 8017221388498632997
type: {class: UniversalRenderPipelineRuntimeXRResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_xrOcclusionMeshPS: {fileID: 4800000, guid: 4431b1f1f743fbf4eb310a967890cbea, type: 3}
m_xrMirrorViewPS: {fileID: 4800000, guid: d5a307c014552314b9f560906d708772, type: 3}
m_xrMotionVector: {fileID: 4800000, guid: f89aac1e4f84468418fe30e611dff395, type: 3}
- rid: 8017221388498632998
type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2}
- rid: 8017221388498632999
type: {class: PostProcessData/ShaderResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
stopNanPS: {fileID: 4800000, guid: 1121bb4e615ca3c48b214e79e841e823, type: 3}
subpixelMorphologicalAntialiasingPS: {fileID: 4800000, guid: 63eaba0ebfb82cc43bde059b4a8c65f6, type: 3}
gaussianDepthOfFieldPS: {fileID: 4800000, guid: 5e7134d6e63e0bc47a1dd2669cedb379, type: 3}
bokehDepthOfFieldPS: {fileID: 4800000, guid: 2aed67ad60045d54ba3a00c91e2d2631, type: 3}
cameraMotionBlurPS: {fileID: 4800000, guid: 1edcd131364091c46a17cbff0b1de97a, type: 3}
paniniProjectionPS: {fileID: 4800000, guid: a15b78cf8ca26ca4fb2090293153c62c, type: 3}
lutBuilderLdrPS: {fileID: 4800000, guid: 65df88701913c224d95fc554db28381a, type: 3}
lutBuilderHdrPS: {fileID: 4800000, guid: ec9fec698a3456d4fb18cf8bacb7a2bc, type: 3}
bloomPS: {fileID: 4800000, guid: 5f1864addb451f54bae8c86d230f736e, type: 3}
temporalAntialiasingPS: {fileID: 4800000, guid: 9c70c1a35ff15f340b38ea84842358bf, type: 3}
LensFlareDataDrivenPS: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3}
LensFlareScreenSpacePS: {fileID: 4800000, guid: 701880fecb344ea4c9cd0db3407ab287, type: 3}
scalingSetupPS: {fileID: 4800000, guid: e8ee25143a34b8c4388709ea947055d1, type: 3}
easuPS: {fileID: 4800000, guid: 562b7ae4f629f144aa97780546fce7c6, type: 3}
uberPostPS: {fileID: 4800000, guid: e7857e9d0c934dc4f83f270f8447b006, type: 3}
finalPostPassPS: {fileID: 4800000, guid: c49e63ed1bbcb334780a3bd19dfed403, type: 3}
m_ShaderResourcesVersion: 0
- rid: 8017221388498633000
type: {class: UniversalRenderPipelineRuntimeTextures, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
data:
m_Version: 1
m_BlueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
m_BayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
m_DebugFontTex: {fileID: 2800000, guid: 26a413214480ef144b2915d6ff4d0beb, type: 3}
- rid: 8017221388498633001
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
data:
m_Version: 0
m_InstanceDataBufferCopyKernels: {fileID: 7200000, guid: f984aeb540ded8b4fbb8a2047ab5b2e2, type: 3}
m_InstanceDataBufferUploadKernels: {fileID: 7200000, guid: 53864816eb00f2343b60e1a2c5a262ef, type: 3}
m_TransformUpdaterKernels: {fileID: 7200000, guid: 2a567b9b2733f8d47a700c3c85bed75b, type: 3}
m_WindDataUpdaterKernels: {fileID: 7200000, guid: fde76746e4fd0ed418c224f6b4084114, type: 3}
m_OccluderDepthPyramidKernels: {fileID: 7200000, guid: 08b2b5fb307b0d249860612774a987da, type: 3}
m_InstanceOcclusionCullingKernels: {fileID: 7200000, guid: f6d223acabc2f974795a5a7864b50e6c, type: 3}
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
- rid: 8017221388498633002
type: {class: RenderGraphGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
m_EnableCompilationCaching: 1
m_EnableValidityChecks: 1
- rid: 8017221388498633003
type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3}
m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3}
m_VisualizationLookupTable:
m_Data:
- {r: 0.785, g: 0.23, b: 0.2, a: 1}
- {r: 1, g: 0.8, b: 0.8, a: 1}
- {r: 0.4, g: 0.2, b: 0.2, a: 1}
- {r: 0.51, g: 0.8, b: 0.6, a: 1}
- {r: 0.6, g: 0.8, b: 1, a: 1}
- {r: 0.2, g: 0.4, b: 0.6, a: 1}
- {r: 0.8, g: 1, b: 0.8, a: 1}
- {r: 0.2, g: 0.4, b: 0.2, a: 1}
- {r: 0.125, g: 0.22, b: 0.36, a: 1}
m_ConversionLookupTable:
m_Data:
- {r: 0.785, g: 0.23, b: 0.2, a: 1}
- {r: 1, g: 0.8, b: 0.8, a: 1}
- {r: 0.4, g: 0.2, b: 0.2, a: 1}
- {r: 0.51, g: 0.8, b: 0.6, a: 1}
- {r: 0.6, g: 0.8, b: 1, a: 1}
- {r: 0.2, g: 0.4, b: 0.6, a: 1}
- {r: 0.8, g: 1, b: 0.8, a: 1}
- {r: 0.2, g: 0.4, b: 0.2, a: 1}
- {r: 0.125, g: 0.22, b: 0.36, a: 1}
- rid: 8017221388498633004
type: {class: RenderGraphUtilsResources, ns: UnityEngine.Rendering.RenderGraphModule.Util, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 0
m_CoreCopyPS: {fileID: 4800000, guid: 12dc59547ea167a4ab435097dd0f9add, type: 3}
- rid: 8017221388498633005
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_ProbeVolumeDisableStreamingAssets: 0
- rid: 8017221388498633006
type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
- rid: 8017221388498633007
type: {class: ShaderStrippingSetting, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 0
m_ExportShaderVariants: 1
m_ShaderVariantLogLevel: 0
m_StripRuntimeDebugShaders: 1
- rid: 8017221388498633008
type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
m_UseBicubicLightmapSampling: 0
- rid: 8017221388498633009
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
dilationShader: {fileID: 7200000, guid: 6bb382f7de370af41b775f54182e491d, type: 3}
subdivideSceneCS: {fileID: 7200000, guid: bb86f1f0af829fd45b2ebddda1245c22, type: 3}
voxelizeSceneShader: {fileID: 4800000, guid: c8b6a681c7b4e2e4785ffab093907f9e, type: 3}
traceVirtualOffsetCS: {fileID: -6772857160820960102, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
traceVirtualOffsetRT: {fileID: -5126288278712620388, guid: ff2cbab5da58bf04d82c5f34037ed123, type: 3}
skyOcclusionCS: {fileID: -6772857160820960102, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
skyOcclusionRT: {fileID: -5126288278712620388, guid: 5a2a534753fbdb44e96c3c78b5a6999d, type: 3}
renderingLayerCS: {fileID: -6772857160820960102, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
renderingLayerRT: {fileID: -5126288278712620388, guid: 94a070d33e408384bafc1dea4a565df9, type: 3}
- rid: 8017221388498633010
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
- rid: 8017221388498633011
type: {class: STP/RuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_setupCS: {fileID: 7200000, guid: 33be2e9a5506b2843bdb2bdff9cad5e1, type: 3}
m_preTaaCS: {fileID: 7200000, guid: a679dba8ec4d9ce45884a270b0e22dda, type: 3}
m_taaCS: {fileID: 7200000, guid: 3923900e2b41b5e47bc25bfdcbcdc9e6, type: 3}
- rid: 8017221388498633012
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_version: 0
m_IncludeReferencedInScenes: 0
m_IncludeAssetsByLabel: 0
m_LabelToInclude:
- rid: 8017221388498633013
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
data:
m_Version: 1
probeVolumeDebugShader: {fileID: 4800000, guid: 3b21275fd12d65f49babb5286f040f2d, type: 3}
probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 3a80877c579b9144ebdcc6d923bca303, type: 3}
probeVolumeSamplingDebugShader: {fileID: 4800000, guid: bf54e6528c79a224e96346799064c393, type: 3}
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
================================================
FILE: Assets/Demo/URP/GlobalSettings.asset.meta
================================================
fileFormatVersion: 2
guid: a0e1abbc8745e464ab699ff4e71959f6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/URP/URP.asset
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3}
m_Name: URP
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalRenderPipelineAsset
k_AssetVersion: 13
k_AssetPreviousVersion: 13
m_RendererType: 1
m_RendererData: {fileID: 0}
m_RendererDataList:
- {fileID: 11400000, guid: e707f25f3295f48408bbc74cefc67e0d, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 0
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
m_FsrSharpness: 0.92
m_EnableLODCrossFade: 1
m_LODCrossFadeDitheringType: 1
m_ShEvalMode: 0
m_LightProbeSystem: 0
m_ProbeVolumeMemoryBudget: 1024
m_ProbeVolumeBlendingMemoryBudget: 256
m_SupportProbeVolumeGPUStreaming: 0
m_SupportProbeVolumeDiskStreaming: 0
m_SupportProbeVolumeScenarios: 0
m_SupportProbeVolumeScenarioBlending: 0
m_ProbeVolumeSHBands: 1
m_MainLightRenderingMode: 1
m_MainLightShadowsSupported: 1
m_MainLightShadowmapResolution: 2048
m_AdditionalLightsRenderingMode: 1
m_AdditionalLightsPerObjectLimit: 4
m_AdditionalLightShadowsSupported: 0
m_AdditionalLightsShadowmapResolution: 2048
m_AdditionalLightsShadowResolutionTierLow: 256
m_AdditionalLightsShadowResolutionTierMedium: 512
m_AdditionalLightsShadowResolutionTierHigh: 1024
m_ReflectionProbeBlending: 0
m_ReflectionProbeBoxProjection: 0
m_ReflectionProbeAtlas: 0
m_ShadowDistance: 50
m_ShadowCascadeCount: 1
m_Cascade2Split: 0.25
m_Cascade3Split: {x: 0.1, y: 0.3}
m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467}
m_CascadeBorder: 0.2
m_ShadowDepthBias: 1
m_ShadowNormalBias: 1
m_AnyShadowsSupported: 1
m_SoftShadowsSupported: 0
m_ConservativeEnclosingSphere: 1
m_NumIterationsEnclosingSphere: 64
m_SoftShadowQuality: 2
m_AdditionalLightsCookieResolution: 2048
m_AdditionalLightsCookieFormat: 3
m_UseSRPBatcher: 1
m_SupportsDynamicBatching: 0
m_MixedLightingSupported: 1
m_SupportsLightCookies: 1
m_SupportsLightLayers: 0
m_DebugLevel: 0
m_StoreActionsOptimization: 0
m_UseAdaptivePerformance: 1
m_ColorGradingMode: 0
m_ColorGradingLutSize: 32
m_AllowPostProcessAlphaOutput: 0
m_UseFastSRGBLinearConversion: 0
m_SupportDataDrivenLensFlare: 1
m_SupportScreenSpaceLensFlare: 1
m_GPUResidentDrawerMode: 0
m_SmallMeshScreenPercentage: 0
m_GPUResidentDrawerEnableOcclusionCullingInCameras: 0
m_ShadowType: 1
m_LocalShadowsSupported: 0
m_LocalShadowsAtlasResolution: 256
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_VolumeProfile: {fileID: 0}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []
m_Values: []
obsoleteHasProbeVolumes:
m_Keys: []
m_Values:
m_PrefilteringModeMainLightShadows: 1
m_PrefilteringModeAdditionalLight: 4
m_PrefilteringModeAdditionalLightShadows: 1
m_PrefilterXRKeywords: 0
m_PrefilteringModeForwardPlus: 1
m_PrefilteringModeDeferredRendering: 1
m_PrefilteringModeScreenSpaceOcclusion: 1
m_PrefilterDebugKeywords: 0
m_PrefilterWriteRenderingLayers: 0
m_PrefilterHDROutput: 0
m_PrefilterAlphaOutput: 0
m_PrefilterSSAODepthNormals: 0
m_PrefilterSSAOSourceDepthLow: 0
m_PrefilterSSAOSourceDepthMedium: 0
m_PrefilterSSAOSourceDepthHigh: 0
m_PrefilterSSAOInterleaved: 0
m_PrefilterSSAOBlueNoise: 0
m_PrefilterSSAOSampleCountLow: 0
m_PrefilterSSAOSampleCountMedium: 0
m_PrefilterSSAOSampleCountHigh: 0
m_PrefilterDBufferMRT1: 0
m_PrefilterDBufferMRT2: 0
m_PrefilterDBufferMRT3: 0
m_PrefilterSoftShadowsQualityLow: 0
m_PrefilterSoftShadowsQualityMedium: 0
m_PrefilterSoftShadowsQualityHigh: 0
m_PrefilterSoftShadows: 0
m_PrefilterScreenCoord: 0
m_PrefilterScreenSpaceIrradiance: 0
m_PrefilterNativeRenderPass: 0
m_PrefilterUseLegacyLightmaps: 0
m_PrefilterBicubicLightmapSampling: 0
m_PrefilterReflectionProbeRotation: 0
m_PrefilterReflectionProbeBlending: 0
m_PrefilterReflectionProbeBoxProjection: 0
m_PrefilterReflectionProbeAtlas: 0
m_ShaderVariantLogLevel: 0
m_ShadowCascades: 0
m_Textures:
blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3}
bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3}
================================================
FILE: Assets/Demo/URP/URP.asset.meta
================================================
fileFormatVersion: 2
guid: 0f2789a7f25c049d88040a322e46da7c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo/URP.meta
================================================
fileFormatVersion: 2
guid: dea8b7a5d656145a3aba10170830c74e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo.meta
================================================
fileFormatVersion: 2
guid: 2c79d8564f0c64a0684cb4e548733c30
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Demo.unity
================================================
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 10
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 4.541206, g: 4.541206, b: 4.541206, a: 1}
m_AmbientEquatorColor: {r: 0.00073146477, g: 0.00073146477, b: 0.00073146477, a: 1}
m_AmbientGroundColor: {r: 0.26915348, g: 0.13803844, b: 0.6226415, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 1
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 1
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 13
m_BakeOnSceneLoad: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 2
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 1
m_PVRFilteringGaussRadiusAO: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &11714847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 11714850}
- component: {fileID: 11714849}
- component: {fileID: 11714848}
m_Layer: 0
m_Name: Quad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &11714848
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 11714847}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 6f1182baee9ac4863bd4c5ea5f7d536d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &11714849
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 11714847}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &11714850
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 11714847}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 7.5510006, y: 4.247438, z: 4.247438}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 28633265}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &28633263
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 28633265}
- component: {fileID: 28633264}
m_Layer: 0
m_Name: Player (HAP Alpha)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &28633264
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28633263}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f3775962864755b43a790abf4d029c32, type: 3}
m_Name:
m_EditorClassIdentifier: Klak.Hap::Klak.Hap.HapPlayer
_pathMode: 0
_filePath: TransparencyTest-HapAlpha.mov
_time: 0
_speed: 1
_loop: 1
_targetTexture: {fileID: 0}
_targetRenderer: {fileID: 11714848}
_targetMaterialProperty: _BaseMap
--- !u!4 &28633265
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 28633263}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 11714850}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &201439697
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 201439700}
- component: {fileID: 201439699}
- component: {fileID: 201439698}
- component: {fileID: 201439702}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &201439698
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 201439697}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &201439699
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 201439697}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &201439700
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 201439697}
serializedVersion: 2
m_LocalRotation: {x: 0.25000006, y: -0.06698733, z: 0.25000006, w: 0.9330127}
m_LocalPosition: {x: 1.6, y: 0, z: -4}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 246925888}
m_LocalEulerAnglesHint: {x: 30, y: 0, z: 30}
--- !u!114 &201439702
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 201439697}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 99b3dd156c03a80f48913a83361c6d4c, type: 3}
m_Name:
m_EditorClassIdentifier: Klak.Motion::Klak.Motion.LinearMotion
velocity:
x: 0
y: 0
z: 0
angularVelocity:
x: -90
y: 0
z: 0
--- !u!1 &246925887
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 246925888}
- component: {fileID: 246925889}
- component: {fileID: 246925890}
m_Layer: 0
m_Name: Player (HAP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &246925888
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 246925887}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 327780397}
- {fileID: 201439700}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &246925889
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 246925887}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f3775962864755b43a790abf4d029c32, type: 3}
m_Name:
m_EditorClassIdentifier: Klak.Hap::Klak.Hap.HapPlayer
_pathMode: 0
_filePath: Beeple-FiberOptical-Hap.mov
_time: 0
_speed: 1
_loop: 1
_targetTexture: {fileID: 8400000, guid: a4f22813f74e84455bd3d9e41d54ced6, type: 2}
_targetRenderer: {fileID: 201439698}
_targetMaterialProperty: _BaseMap
--- !u!114 &246925890
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 246925887}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 538bb1d7707cb473f8493b44c63286cc, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::SeekBar
_ui: {fileID: 1940121732}
--- !u!1 &327780394
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 327780397}
- component: {fileID: 327780396}
- component: {fileID: 327780395}
m_Layer: 0
m_Name: Backdrop
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &327780395
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 327780394}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: e127fa53264f341caab6ab276ff39b77, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &327780396
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 327780394}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &327780397
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 327780394}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 7.5510006, y: 4.247438, z: 4.247438}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 246925888}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &395240107
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 395240109}
- component: {fileID: 395240108}
m_Layer: 0
m_Name: Player (HAP Q)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &395240108
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 395240107}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f3775962864755b43a790abf4d029c32, type: 3}
m_Name:
m_EditorClassIdentifier: Klak.Hap::Klak.Hap.HapPlayer
_pathMode: 0
_filePath: Beeple-Hexxx-HapQ.mov
_time: 0
_speed: 1
_loop: 1
_targetTexture: {fileID: 0}
_targetRenderer: {fileID: 2137533910}
_targetMaterialProperty: _MainTex
--- !u!4 &395240109
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 395240107}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2137533909}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1585188254
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1585188257}
- component: {fileID: 1585188256}
- component: {fileID: 1585188255}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1585188255
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1585188254}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
m_RenderShadows: 0
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
m_Version: 2
--- !u!20 &1585188256
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1585188254}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.07489321, g: 0.103773594, b: 0.09363752, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 1
far clip plane: 20
field of view: 24
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 0
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1585188257
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1585188254}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1940121731
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1940121733}
- component: {fileID: 1940121732}
m_Layer: 0
m_Name: UI
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1940121732
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1940121731}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
m_Name:
m_EditorClassIdentifier: UnityEngine.dll::UnityEngine.UIElements.UIDocument
m_PanelSettings: {fileID: 11400000, guid: 217443c668dc34029b583fa73e5c4dfc, type: 2}
m_ParentUI: {fileID: 0}
sourceAsset: {fileID: 9197481963319205126, guid: f9d1722b31b6d45a8b38e8167775d54d, type: 3}
m_SortingOrder: 0
m_Position: 0
m_WorldSpaceSizeMode: 1
m_WorldSpaceWidth: 1920
m_WorldSpaceHeight: 1080
m_PivotReferenceSize: 0
m_Pivot: 0
m_WorldSpaceCollider: {fileID: 0}
--- !u!4 &1940121733
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1940121731}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2111630447
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2111630449}
- component: {fileID: 2111630448}
m_Layer: 0
m_Name: Scripting Test
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2111630448
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2111630447}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2c91f3289fa694fe3ba2e1e6149477b8, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::ScriptingTest
_filename: Beeple-CleanRoom-Hap.mov
_destination: {fileID: 8400000, guid: 1bba849debc024a4f8251bd62cceac60, type: 2}
_interval: 1
_iteration: 10
--- !u!4 &2111630449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2111630447}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2137533908
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2137533909}
- component: {fileID: 2137533911}
- component: {fileID: 2137533910}
m_Layer: 0
m_Name: Quad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2137533909
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2137533908}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -2.75, y: 0, z: 0}
m_LocalScale: {x: 1.7777778, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 395240109}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!23 &2137533910
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2137533908}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: f4060b9dfe1254ee9bb9d4fad7ae4ebd, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_MaskInteraction: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!33 &2137533911
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2137533908}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1940121733}
- {fileID: 1585188257}
- {fileID: 246925888}
- {fileID: 28633265}
- {fileID: 395240109}
- {fileID: 2111630449}
================================================
FILE: Assets/Demo.unity.meta
================================================
fileFormatVersion: 2
guid: 9d1e54e0ecdcb476597522d5c402dcdb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/000001.png.meta
================================================
fileFormatVersion: 2
guid: f71b7a4c945804f1ca842cff0c10b46d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/000002.png.meta
================================================
fileFormatVersion: 2
guid: ff68e82d75fdf47d8a5ad6b9c5fc99d3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/000003.png.meta
================================================
fileFormatVersion: 2
guid: 0a2d50a92701046c4b2f72fb11f038b8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/000004.png.meta
================================================
fileFormatVersion: 2
guid: ded47b6e71da14e1abb2ea48f2e60375
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/000005.png.meta
================================================
fileFormatVersion: 2
guid: 6861db0b44d0d4e78b701b38376b62c3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap/TestCards.mov.meta
================================================
fileFormatVersion: 2
guid: e3addd278331242d6b95bb6990e5216f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/Hap.meta
================================================
fileFormatVersion: 2
guid: c4ca400c14640478aaf9bc0cec9b12c7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapAlpha/000001.png.meta
================================================
fileFormatVersion: 2
guid: 016f08f72c65549f69c9baa63b0e3ed0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapAlpha/HapAlpha.mov.meta
================================================
fileFormatVersion: 2
guid: 9daa334d7e07e4a7092db093efe0efb8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapAlpha.meta
================================================
fileFormatVersion: 2
guid: 362186a70fcc54855bcddda1af9f0e90
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/000001.png.meta
================================================
fileFormatVersion: 2
guid: 1c1d2bb1e597e432391ee23db4b75d75
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/000002.png.meta
================================================
fileFormatVersion: 2
guid: 469568f79f88b49f593d58b043aab26c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/000003.png.meta
================================================
fileFormatVersion: 2
guid: 6f8073f45b28847209cec3fa77e89e29
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/000004.png.meta
================================================
fileFormatVersion: 2
guid: 554c0617cfb824ddfa28f0ea0ae8869c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/000005.png.meta
================================================
fileFormatVersion: 2
guid: 44d4725e9db92447ca83e803922e54f3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ/TestCards.mov.meta
================================================
fileFormatVersion: 2
guid: 4ab52f88a57a94f50946db395a7e32c6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/HapQ.meta
================================================
fileFormatVersion: 2
guid: 0a1a105c4ce2a40b28466bfc9f59f08f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle24.mov.meta
================================================
fileFormatVersion: 2
guid: d17c63c5f7293493ca0b65bfc71c7808
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle24000-1001.mov.meta
================================================
fileFormatVersion: 2
guid: 9b88a94eb79614c7b8be1396430b7fb9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle25.mov.meta
================================================
fileFormatVersion: 2
guid: 20f5482d0639347b4b0d62b7f553d61a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle30.mov.meta
================================================
fileFormatVersion: 2
guid: 04a711eb985854488a36cecaa629492c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle30000-1001.mov.meta
================================================
fileFormatVersion: 2
guid: 5b06b773e4b22470b9572d25f575eb91
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle50.mov.meta
================================================
fileFormatVersion: 2
guid: 35a0a8d8451fe4dff943ae124f8fc02c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle60.mov.meta
================================================
fileFormatVersion: 2
guid: 1103893dcc48f48cbbf5f4681f02ccb4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle/RGBCycle60000-1001.mov.meta
================================================
fileFormatVersion: 2
guid: 005f182f1b759493eadafadc1102eea9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/RGBCycle.meta
================================================
fileFormatVersion: 2
guid: eaa1315fa4f1141c987260e3f3023bcf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/日本語/Test.mov.meta
================================================
fileFormatVersion: 2
guid: a32999a4f135840ec9876594a54a0b6a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests/日本語.meta
================================================
fileFormatVersion: 2
guid: 7a8b3546c2bae4b729e75ccdedeab1d8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets/Tests.meta
================================================
fileFormatVersion: 2
guid: 026a9869dae424ee8b8609aa087fec1c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/StreamingAssets.meta
================================================
fileFormatVersion: 2
guid: de35ded2fd399421a88ca973172cc856
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Tests/Runtime/HapAlphaPlaybackTest.cs
================================================
using System.Collections;
using System.IO;
using Klak.Hap;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
public sealed class HapAlphaPlaybackTest
{
const string MoviePath = "Tests/HapAlpha/HapAlpha.mov";
const string FramesDirName = "Tests/HapAlpha";
const string ExpectedFrame = "000001.png";
const float MatchThreshold = 0.99f;
const float ChannelTolerance = 0.08f;
const float AlphaTolerance = 0.08f;
const int SamplesPerAxis = 64;
const bool FlipExpectedY = true;
[UnityTest]
public IEnumerator HapAlphaMatchesExtractedFrame()
{
if (!Application.isPlaying)
{
Assert.Ignore("PlayMode only.");
yield break;
}
var go = new GameObject("HapAlphaTestPlayer");
try
{
var player = go.AddComponent<HapPlayer>();
player.Open(MoviePath, HapPlayer.PathMode.StreamingAssets);
player.loop = false;
player.speed = 0;
yield return null;
player.UpdateNow();
var pathInfo = $"Resolved path: {player.resolvedFilePath}";
Assert.That(player.isValid, Is.True, pathInfo);
Assert.That(player.frameCount, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameWidth, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameHeight, Is.GreaterThan(0), pathInfo);
Assert.That(player.texture, Is.Not.Null, pathInfo);
var duration = (float)player.streamDuration;
var dt = duration / player.frameCount;
player.time = dt * 0.1f;
player.UpdateNow();
yield return null;
yield return null;
var expected = LoadExpectedTexture(ExpectedFrame);
try
{
var ratio = ComputeMatchRatio(player.texture, expected);
var message = $"{pathInfo} Expected:{ExpectedFrame} Match:{ratio:0.000}";
Assert.That(ratio, Is.GreaterThanOrEqualTo(MatchThreshold), message);
}
finally
{
Object.Destroy(expected);
}
}
finally
{
Object.Destroy(go);
}
}
static Texture2D LoadExpectedTexture(string fileName)
{
var path = Path.Combine(Application.streamingAssetsPath, FramesDirName, fileName);
var data = File.ReadAllBytes(path);
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, false);
tex.LoadImage(data);
return tex;
}
static float ComputeMatchRatio(Texture2D actual, Texture2D expected)
{
var width = Mathf.Min(actual.width, expected.width);
var height = Mathf.Min(actual.height, expected.height);
var stepX = Mathf.Max(1, width / SamplesPerAxis);
var stepY = Mathf.Max(1, height / SamplesPerAxis);
var match = 0;
var total = 0;
for (var y = stepY / 2; y < height; y += stepY)
for (var x = stepX / 2; x < width; x += stepX)
{
var a = actual.GetPixel(x, y);
var ey = FlipExpectedY ? height - 1 - y : y;
var e = expected.GetPixel(x, ey);
if (IsMatch(a, e)) match++;
total++;
}
return total > 0 ? (float)match / total : 0;
}
static bool IsMatch(Color actual, Color expected)
=> Mathf.Abs(actual.r - expected.r) <= ChannelTolerance
&& Mathf.Abs(actual.g - expected.g) <= ChannelTolerance
&& Mathf.Abs(actual.b - expected.b) <= ChannelTolerance
&& Mathf.Abs(actual.a - expected.a) <= AlphaTolerance;
}
================================================
FILE: Assets/Tests/Runtime/HapAlphaPlaybackTest.cs.meta
================================================
fileFormatVersion: 2
guid: 836849b85f39e4f2eb69dc82dd0bf0fe
================================================
FILE: Assets/Tests/Runtime/JapanesePathPlaybackTest.cs
================================================
using System.Collections;
using Klak.Hap;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
public sealed class JapanesePathPlaybackTest
{
const string TestPath = "Tests/日本語/Test.mov";
[UnityTest]
public IEnumerator CanPlayHapInJapanesePath()
{
if (!Application.isPlaying)
{
Assert.Ignore("PlayMode only.");
yield break;
}
var go = new GameObject("HapTestPlayer");
try
{
var player = go.AddComponent<HapPlayer>();
player.Open(TestPath, HapPlayer.PathMode.StreamingAssets);
for (var i = 0; i < 5; i++)
{
yield return null;
player.UpdateNow();
}
var pathInfo = $"Resolved path: {player.resolvedFilePath}";
Assert.That(player.isValid, Is.True, pathInfo);
Assert.That(player.frameCount, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameWidth, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameHeight, Is.GreaterThan(0), pathInfo);
Assert.That(player.texture, Is.Not.Null, pathInfo);
Assert.That(player.codecType, Is.Not.EqualTo(CodecType.Unsupported), pathInfo);
}
finally
{
Object.Destroy(go);
}
}
}
================================================
FILE: Assets/Tests/Runtime/JapanesePathPlaybackTest.cs.meta
================================================
fileFormatVersion: 2
guid: 0397f44a895774978874377ddf34f82c
================================================
FILE: Assets/Tests/Runtime/Klak.Hap.Runtime.Tests.asmdef
================================================
{
"name": "Klak.Hap.Runtime.Tests",
"rootNamespace": "",
"references": [
"Klak.Hap",
"UnityEngine.TestRunner"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}
================================================
FILE: Assets/Tests/Runtime/Klak.Hap.Runtime.Tests.asmdef.meta
================================================
fileFormatVersion: 2
guid: 1c2d58c8d70c843c7a4747274235802b
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Tests/Runtime/RgbCycleFrameMappingTest.cs
================================================
using System.Collections;
using Klak.Hap;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
public sealed class RgbCycleFrameMappingTest
{
static readonly string[] TestPaths =
{
"Tests/RGBCycle/RGBCycle24.mov",
"Tests/RGBCycle/RGBCycle24000-1001.mov",
"Tests/RGBCycle/RGBCycle25.mov",
"Tests/RGBCycle/RGBCycle30.mov",
"Tests/RGBCycle/RGBCycle30000-1001.mov",
"Tests/RGBCycle/RGBCycle50.mov",
"Tests/RGBCycle/RGBCycle60.mov",
"Tests/RGBCycle/RGBCycle60000-1001.mov"
};
enum RgbExpected { Red, Green, Blue }
[UnityTest]
public IEnumerator RgbCycleFrameMappingIsCorrect()
{
if (!Application.isPlaying)
{
Assert.Ignore("PlayMode only.");
yield break;
}
foreach (var path in TestPaths)
foreach (var step in VerifyFile(path))
yield return step;
}
IEnumerable VerifyFile(string path)
{
var go = new GameObject("HapTestPlayer");
try
{
var player = go.AddComponent<HapPlayer>();
player.Open(path, HapPlayer.PathMode.StreamingAssets);
player.loop = false;
player.speed = 0;
yield return null;
player.UpdateNow();
var pathInfo = $"Resolved path: {player.resolvedFilePath}";
Assert.That(player.isValid, Is.True, pathInfo);
Assert.That(player.frameCount, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameWidth, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameHeight, Is.GreaterThan(0), pathInfo);
Assert.That(player.texture, Is.Not.Null, pathInfo);
var duration = (float)player.streamDuration;
var frameCount = player.frameCount;
var dt = duration / frameCount;
var maxFrames = Mathf.Min(frameCount, Mathf.FloorToInt(0.5f / dt) + 1);
var cx = player.frameWidth / 2;
var cy = player.frameHeight / 2;
for (var i = 0; i < maxFrames; i++)
{
player.time = i * dt + dt * 0.1f;
player.UpdateNow();
yield return null;
yield return null;
var actual = player.texture.GetPixel(cx, cy);
var expected = ExpectedForFrame(i);
AssertRgbColor(actual, expected, pathInfo, i);
yield return null;
yield return null;
}
}
finally
{
Object.Destroy(go);
}
}
static RgbExpected ExpectedForFrame(int frameIndex)
=> (RgbExpected)(frameIndex % 3);
static void AssertRgbColor(Color actual, RgbExpected expected, string pathInfo, int frameIndex)
{
var message = $"{pathInfo} Frame: {frameIndex} Color: {actual}";
if (expected == RgbExpected.Red)
{
Assert.That(actual.r, Is.GreaterThan(0.8f), message);
Assert.That(actual.g, Is.LessThan(0.2f), message);
Assert.That(actual.b, Is.LessThan(0.2f), message);
}
else if (expected == RgbExpected.Green)
{
Assert.That(actual.g, Is.GreaterThan(0.8f), message);
Assert.That(actual.r, Is.LessThan(0.2f), message);
Assert.That(actual.b, Is.LessThan(0.2f), message);
}
else
{
Assert.That(actual.b, Is.GreaterThan(0.8f), message);
Assert.That(actual.r, Is.LessThan(0.2f), message);
Assert.That(actual.g, Is.LessThan(0.2f), message);
}
}
}
================================================
FILE: Assets/Tests/Runtime/RgbCycleFrameMappingTest.cs.meta
================================================
fileFormatVersion: 2
guid: e48e4d437ac8346139c9ba9f277e7beb
================================================
FILE: Assets/Tests/Runtime/TestCardsPlaybackTest.cs
================================================
using System.Collections;
using System.IO;
using Klak.Hap;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
public sealed class TestCardsPlaybackTest
{
const string HapMoviePath = "Tests/Hap/TestCards.mov";
const string HapFramesDirName = "Tests/Hap";
const string HapQMoviePath = "Tests/HapQ/TestCards.mov";
const string HapQFramesDirName = "Tests/HapQ";
const float MatchThreshold = 0.99f;
const float ChannelTolerance = 0.08f;
static readonly string[] FramePngs =
{
"000001.png",
"000002.png",
"000003.png",
"000004.png",
"000005.png"
};
[UnityTest]
public IEnumerator TestCardsMatchPngFrames()
{
if (!Application.isPlaying)
{
Assert.Ignore("PlayMode only.");
yield break;
}
foreach (var step in VerifySet("HapTestPlayer", HapMoviePath, HapFramesDirName))
yield return step;
foreach (var step in VerifySet("HapQTestPlayer", HapQMoviePath, HapQFramesDirName))
yield return step;
}
IEnumerable VerifySet(string objectName, string moviePath, string framesDirName)
{
var go = new GameObject(objectName);
RenderTexture targetTexture = null;
Texture2D readbackTexture = null;
try
{
var player = go.AddComponent<HapPlayer>();
player.Open(moviePath, HapPlayer.PathMode.StreamingAssets);
player.loop = false;
player.speed = 0;
yield return null;
player.UpdateNow();
var pathInfo = $"Resolved path: {player.resolvedFilePath}";
Assert.That(player.isValid, Is.True, pathInfo);
Assert.That(player.frameCount, Is.GreaterThanOrEqualTo(FramePngs.Length), pathInfo);
Assert.That(player.frameWidth, Is.GreaterThan(0), pathInfo);
Assert.That(player.frameHeight, Is.GreaterThan(0), pathInfo);
Assert.That(player.texture, Is.Not.Null, pathInfo);
targetTexture = new RenderTexture(
player.frameWidth, player.frameHeight, 0, RenderTextureFormat.ARGB32
);
targetTexture.wrapMode = TextureWrapMode.Clamp;
player.targetTexture = targetTexture;
readbackTexture = new Texture2D(
player.frameWidth, player.frameHeight, TextureFormat.RGBA32, false
);
var duration = (float)player.streamDuration;
var frameCount = player.frameCount;
var dt = duration / frameCount;
for (var i = 0; i < FramePngs.Length; i++)
{
player.time = i * dt + dt * 0.1f;
player.UpdateNow();
yield return null;
yield return null;
ReadRenderTexture(targetTexture, readbackTexture);
var actualTexture = readbackTexture;
var expected = LoadExpectedTexture(framesDirName, FramePngs[i]);
try
{
var ratio = ComputeMatchRatio(actualTexture, expected);
var message = $"{pathInfo} Frame:{i} Expected:{FramePngs[i]} Match:{ratio:0.000}";
Assert.That(ratio, Is.GreaterThanOrEqualTo(MatchThreshold), message);
}
finally
{
Object.Destroy(expected);
}
yield return null;
yield return null;
}
}
finally
{
if (targetTexture != null)
targetTexture.Release();
Object.Destroy(targetTexture);
Object.Destroy(readbackTexture);
Object.Destroy(go);
}
}
static Texture2D LoadExpectedTexture(string framesDirName, string fileName)
{
var path = Path.Combine(Application.streamingAssetsPath, framesDirName, fileName);
var data = File.ReadAllBytes(path);
var tex = new Texture2D(2, 2, TextureFormat.RGBA32, false);
tex.LoadImage(data);
return tex;
}
static float ComputeMatchRatio(Texture2D actual, Texture2D expected)
{
var width = Mathf.Min(actual.width, expected.width);
var height = Mathf.Min(actual.height, expected.height);
var match = 0;
var total = width * height;
for (var y = 0; y < height; y++)
for (var x = 0; x < width; x++)
{
var a = actual.GetPixel(x, y);
var e = expected.GetPixel(x, y);
if (IsMatch(a, e)) match++;
}
return total > 0 ? (float)match / total : 0;
}
static bool IsMatch(Color actual, Color expected)
=> Mathf.Abs(actual.r - expected.r) <= ChannelTolerance
&& Mathf.Abs(actual.g - expected.g) <= ChannelTolerance
&& Mathf.Abs(actual.b - expected.b) <= ChannelTolerance;
static void ReadRenderTexture(RenderTexture source, Texture2D destination)
{
var previous = RenderTexture.active;
RenderTexture.active = source;
destination.ReadPixels(new Rect(0, 0, source.width, source.height), 0, 0);
destination.Apply();
RenderTexture.active = previous;
}
}
================================================
FILE: Assets/Tests/Runtime/TestCardsPlaybackTest.cs.meta
================================================
fileFormatVersion: 2
guid: 501079e0a007c4c9686d841e0bcb0b60
================================================
FILE: Assets/Tests/Runtime.meta
================================================
fileFormatVersion: 2
guid: 6f2caeec0887b4dd5a03360e87b42af7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Assets/Tests.meta
================================================
fileFormatVersion: 2
guid: c9392bf0e434b4e378744f7ed2695485
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2026-02-05
### Added
- Added a Unity 6.3 demo scene updated for URP and UI Toolkit.
- Added runtime tests and a test data downloader for Hap, HapQ, and HapAlpha assets.
### Changed
- Updated HAP and Snappy source code and refreshed native plugin binaries.
- Migrated Windows builds to MinGW and refactored the native build pipelines and Makefiles.
### Fixed
- Fixed a Windows crash when paths contain Japanese characters. (PR #49)
- Fixed obsolete ShaderUtil API usage in the editor code.
## [0.1.20] - 2021-12-03
### Added
- Added `UpdateNow` for custom Timeline integration.
## [0.1.19] - 2021-06-05
### Added
- Added arm64 binary to the macOS plugin.
- Added no-delay mode.
- Added decoder thread control improvement.
### Changed
- Updated for Unity 2020.3.
- Moved package contexts into the Packages directory.
### Fixed
- Fixed rounding error issue.
- Fixed compilation error on Unity 2019.4.
================================================
FILE: LICENSE
================================================
License summary:
KlakHAP - MIT license
HAP codec - FreeBSD license
Snappy - BSD 3-clause license
MP4 demuxer - CC0 (public domain)
-------------------------------------------------------------------------------
KlakHAP
https://github.com/keijiro/KlakHap
-------------------------------------------------------------------------------
Copyright (c) 2019 Unity Technologies
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-------------------------------------------------------------------------------
HAP
https://github.com/Vidvox/hap
-------------------------------------------------------------------------------
Copyright (c) 2012-2013, Tom Butterworth and Vidvox LLC. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
Snappy
https://github.com/google/snappy
-------------------------------------------------------------------------------
Copyright 2011, Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
Minimalistic MP4 muxer & demuxer
https://github.com/aspt/mp4
-------------------------------------------------------------------------------
CC0 1.0 Universal
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later
claims of infringement build upon, modify, incorporate in other works, reuse
and redistribute as freely as possible in any form whatsoever and for any
purposes, including without limitation commercial purposes. These owners may
contribute to the Commons to promote the ideal of a free culture and the
further production of creative, cultural and scientific works, or to gain
reputation or greater distribution for their Work in part through the use and
efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with a
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not limited
to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
the Waiver for the benefit of each member of the public at large and to the
detriment of Affirmer's heirs and successors, fully intending that such Waiver
shall not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of the Work
by the public as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
is so judged Affirmer hereby grants to each affected person a royalty-free,
non transferable, non sublicensable, non exclusive, irrevocable and
unconditional license to exercise Affirmer's Copyright and Related Rights in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective as
of the date CC0 was applied by Affirmer to the Work. Should any part of the
License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or
other defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions
or other rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>
================================================
FILE: Packages/jp.keijiro.klak.hap/CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [1.0.0] - 2026-02-05
### Added
- Added a Unity 6.3 demo scene updated for URP and UI Toolkit.
- Added runtime tests and a test data downloader for Hap, HapQ, and HapAlpha assets.
### Changed
- Updated HAP and Snappy source code and refreshed native plugin binaries.
- Migrated Windows builds to MinGW and refactored the native build pipelines and Makefiles.
### Fixed
- Fixed a Windows crash when paths contain Japanese characters. (PR #49)
- Fixed obsolete ShaderUtil API usage in the editor code.
## [0.1.20] - 2021-12-03
### Added
- Added `UpdateNow` for custom Timeline integration.
## [0.1.19] - 2021-06-05
### Added
- Added arm64 binary to the macOS plugin.
- Added no-delay mode.
- Added decoder thread control improvement.
### Changed
- Updated for Unity 2020.3.
- Moved package contexts into the Packages directory.
### Fixed
- Fixed rounding error issue.
- Fixed compilation error on Unity 2019.4.
================================================
FILE: Packages/jp.keijiro.klak.hap/CHANGELOG.md.meta
================================================
fileFormatVersion: 2
guid: 1f2cacd9a85145aca9f81904d75ae53b
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/HapPlayerEditor.cs
================================================
using UnityEngine;
using UnityEditor;
namespace Klak.Hap
{
[CanEditMultipleObjects]
[CustomEditor(typeof(HapPlayer))]
sealed class HapPlayerEditor : Editor
{
SerializedProperty _filePath;
SerializedProperty _pathMode;
SerializedProperty _time;
SerializedProperty _speed;
SerializedProperty _loop;
SerializedProperty _targetTexture;
SerializedProperty _targetRenderer;
SerializedProperty _targetMaterialProperty;
static class Labels
{
public static readonly GUIContent Property = new GUIContent("Property");
public static readonly GUIContent Select = new GUIContent("Select");
}
string _sourceInfo;
void ShowSourceInfo(HapPlayer player)
{
if (!player.enabled || !player.gameObject.activeInHierarchy) return;
if (!player.isValid)
{
EditorGUILayout.HelpBox(
"Failed to open file. " +
"Please specify a valid HAP-encoded .mov file.",
MessageType.Warning
);
return;
}
if (_sourceInfo == null)
_sourceInfo = string.Format(
"Codec: {0}\n" +
"Frame dimensions: {1} x {2}\n" +
"Stream duration: {3:0.00}\n" +
"Frame rate: {4:0.00}",
player.codecType,
player.frameWidth, player.frameHeight,
player.streamDuration,
player.frameCount / player.streamDuration
);
EditorGUILayout.HelpBox(_sourceInfo, MessageType.None);
}
void OnEnable()
{
_filePath = serializedObject.FindProperty("_filePath");
_pathMode = serializedObject.FindProperty("_pathMode");
_time = serializedObject.FindProperty("_time");
_speed = serializedObject.FindProperty("_speed");
_loop = serializedObject.FindProperty("_loop");
_targetTexture = serializedObject.FindProperty("_targetTexture");
_targetRenderer = serializedObject.FindProperty("_targetRenderer");
_targetMaterialProperty = serializedObject.FindProperty("_targetMaterialProperty");
}
public override void OnInspectorGUI()
{
var reload = false;
serializedObject.Update();
// Source infomation
if (!_filePath.hasMultipleDifferentValues &&
!_pathMode.hasMultipleDifferentValues &&
!string.IsNullOrEmpty(_filePath.stringValue))
{
ShowSourceInfo((HapPlayer)target);
}
// Source file
EditorGUI.BeginChangeCheck();
EditorGUILayout.DelayedTextField(_filePath);
EditorGUILayout.PropertyField(_pathMode);
reload = EditorGUI.EndChangeCheck();
// Playback control
EditorGUILayout.PropertyField(_time);
EditorGUILayout.PropertyField(_speed);
EditorGUILayout.PropertyField(_loop);
// Target texture/renderer
EditorGUILayout.PropertyField(_targetTexture);
EditorGUILayout.PropertyField(_targetRenderer);
EditorGUI.indentLevel++;
if (_targetRenderer.hasMultipleDifferentValues)
{
// Multiple renderers selected: Show a simple text field.
EditorGUILayout.PropertyField(_targetMaterialProperty, Labels.Property);
}
else if (_targetRenderer.objectReferenceValue != null)
{
// Single renderer: Show the material property selection dropdown.
MaterialPropertySelector.DropdownList(_targetRenderer, _targetMaterialProperty);
}
EditorGUI.indentLevel--;
serializedObject.ApplyModifiedProperties();
if (reload)
{
// This is a little bit scary hack but we can force a HapPlayer
// to reload a given video file by invoking OnDestroy.
foreach (HapPlayer hp in targets)
{
hp.SendMessage("OnDestroy");
hp.SendMessage("LateUpdate");
}
// Also the source information string should be refreshed.
_sourceInfo = null;
}
}
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/HapPlayerEditor.cs.meta
================================================
fileFormatVersion: 2
guid: 5afaabe3aee5cdb46a3846f74cc3a8a7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/Klak.Hap.Editor.asmdef
================================================
{
"name": "Klak.Hap.Editor",
"references": [
"Klak.Hap"
],
"optionalUnityReferences": [],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": []
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/Klak.Hap.Editor.asmdef.meta
================================================
fileFormatVersion: 2
guid: 59c1346744fe3194291b617e412c56c4
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/MaterialPropertySelector.cs
================================================
using UnityEngine;
using UnityEngine.Rendering;
using UnityEditor;
using System;
using System.Collections.Generic;
namespace Klak.Hap
{
static class MaterialPropertySelector
{
#region Public method
// Material property drop-down list
public static void DropdownList(
SerializedProperty rendererProperty,
SerializedProperty materialProperty
)
{
// Try retrieving the target shader.
var shader = RetrieveTargetShader(rendererProperty);
// Abandon the current value if it failed to get a shader.
if (shader == null)
{
materialProperty.stringValue = "";
return;
}
// Cache property names found in the target shader.
CachePropertyNames(shader);
// Abandon the current value if there is no property candidate.
if (_propertyNames.Length == 0)
{
materialProperty.stringValue = "";
return;
}
// Show the dropdown list.
var index = Array.IndexOf(_propertyNames, materialProperty.stringValue);
var newIndex = EditorGUILayout.Popup("Property", index, _propertyNames);
// Update the serialized property if the selection was changed.
if (index != newIndex) materialProperty.stringValue = _propertyNames[newIndex];
}
#endregion
#region Private members
static string[] _propertyNames; // Property name list
static Shader _cachedShader; // Shader used to cache the name list
// Retrieve a shader from a given renderer.
static Shader RetrieveTargetShader(SerializedProperty rendererProperty)
{
var renderer = rendererProperty.objectReferenceValue as Renderer;
if (renderer == null) return null;
var material = renderer.sharedMaterial;
if (material == null) return null;
return material.shader;
}
// Cache property names provided within a specified shader.
static void CachePropertyNames(Shader shader)
{
// Exit early when the shader is same to the cached one.
if (shader == _cachedShader) return;
var temp = new List<string>();
var count = shader.GetPropertyCount();
for (var i = 0; i < count; i++)
{
var propType = shader.GetPropertyType(i);
if (propType == ShaderPropertyType.Texture)
temp.Add(shader.GetPropertyName(i));
}
_propertyNames = temp.ToArray();
_cachedShader = shader;
}
#endregion
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor/MaterialPropertySelector.cs.meta
================================================
fileFormatVersion: 2
guid: 8ab866082e30404428d5298d084cc13a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Editor.meta
================================================
fileFormatVersion: 2
guid: 2a6f023ffc242a743a38d13e6cae3b66
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/LICENSE
================================================
License summary:
KlakHAP - MIT license
HAP codec - FreeBSD license
Snappy - BSD 3-clause license
MP4 demuxer - CC0 (public domain)
-------------------------------------------------------------------------------
KlakHAP
https://github.com/keijiro/KlakHap
-------------------------------------------------------------------------------
Copyright (c) 2019 Unity Technologies
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-------------------------------------------------------------------------------
HAP
https://github.com/Vidvox/hap
-------------------------------------------------------------------------------
Copyright (c) 2012-2013, Tom Butterworth and Vidvox LLC. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
Snappy
https://github.com/google/snappy
-------------------------------------------------------------------------------
Copyright 2011, Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
Minimalistic MP4 muxer & demuxer
https://github.com/aspt/mp4
-------------------------------------------------------------------------------
CC0 1.0 Universal
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later
claims of infringement build upon, modify, incorporate in other works, reuse
and redistribute as freely as possible in any form whatsoever and for any
purposes, including without limitation commercial purposes. These owners may
contribute to the Commons to promote the ideal of a free culture and the
further production of creative, cultural and scientific works, or to gain
reputation or greater distribution for their Work in part through the use and
efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with a
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not limited
to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
the Waiver for the benefit of each member of the public at large and to the
detriment of Affirmer's heirs and successors, fully intending that such Waiver
shall not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of the Work
by the public as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
is so judged Affirmer hereby grants to each affected person a royalty-free,
non transferable, non sublicensable, non exclusive, irrevocable and
unconditional license to exercise Affirmer's Copyright and Related Rights in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective as
of the date CC0 was applied by Affirmer to the Work. Should any part of the
License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or
other defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions
or other rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>
================================================
FILE: Packages/jp.keijiro.klak.hap/LICENSE.meta
================================================
fileFormatVersion: 2
guid: ee05d860d6934052af1f4d5fb541a384
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/Linux/libKlakHap.so.meta
================================================
fileFormatVersion: 2
guid: aefd4aee030ec9a56930540080f31258
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
platformData:
- first:
'': Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux: 1
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude OSXUniversal: 1
Exclude Win: 0
Exclude Win64: 0
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: x86_64
DefaultValueInitialized: true
OS: Linux
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Linux64
second:
enabled: 1
settings:
CPU: x86_64
- first:
Standalone: LinuxUniversal
second:
enabled: 1
settings:
CPU: x86_64
- first:
Standalone: OSXUniversal
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win64
second:
enabled: 1
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/Linux.meta
================================================
fileFormatVersion: 2
guid: 18114d790aea9f97e9b9f56ab458bc9d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/MacOS/KlakHap.bundle.meta
================================================
fileFormatVersion: 2
guid: 68eb9c44d2cd647b8a246c85c2516a6c
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 1
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
: Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux64: 1
Exclude OSXUniversal: 0
Exclude Win: 1
Exclude Win64: 1
Exclude iOS: 1
- first:
Any:
second:
enabled: 0
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: AnyCPU
DefaultValueInitialized: true
OS: OSX
- first:
Standalone: Linux64
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: x86
- first:
Standalone: Win64
second:
enabled: 0
settings:
CPU: x86_64
- first:
iPhone: iOS
second:
enabled: 0
settings:
AddToEmbeddedBinaries: false
CPU: AnyCPU
CompileFlags:
FrameworkDependencies:
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/MacOS.meta
================================================
fileFormatVersion: 2
guid: b3fc36a147f3a4fe19b3fe7371cfe554
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/Windows/KlakHap.dll.meta
================================================
fileFormatVersion: 2
guid: 3ab59e419166f214abf75fa29aac993e
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
platformData:
- first:
'': Any
second:
enabled: 0
settings:
Exclude Editor: 0
Exclude Linux: 0
Exclude Linux64: 0
Exclude LinuxUniversal: 0
Exclude OSXUniversal: 0
Exclude Win: 1
Exclude Win64: 0
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 1
settings:
CPU: x86_64
DefaultValueInitialized: true
OS: Windows
- first:
Facebook: Win
second:
enabled: 0
settings:
CPU: None
- first:
Facebook: Win64
second:
enabled: 0
settings:
CPU: AnyCPU
- first:
Standalone: Linux
second:
enabled: 1
settings:
CPU: x86
- first:
Standalone: Linux64
second:
enabled: 1
settings:
CPU: x86_64
- first:
Standalone: LinuxUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: OSXUniversal
second:
enabled: 1
settings:
CPU: AnyCPU
- first:
Standalone: Win
second:
enabled: 0
settings:
CPU: None
- first:
Standalone: Win64
second:
enabled: 1
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin/Windows.meta
================================================
fileFormatVersion: 2
guid: dc34545ab496569488b8cd56973907d2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Plugin.meta
================================================
fileFormatVersion: 2
guid: 39f09b654953c8e45bc1d12d19cceaef
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/README.md
================================================
# KlakHap

**KlakHap** is a Unity plugin for playing back video streams encoded with the
[HAP video codecs].
HAP is a fast and high-quality video codec often used in real-time interactive
applications. From the HAP Codecs website:
> The HAP codecs are designed to fit the needs of a variety of real-time video
> workflows where ultra high resolution video is needed such as live event
> production, set design, 360 video for gaming, projection mapping and creative
> coding.
KlakHap provides decoded frames as textures that you can use anywhere in
Unity's rendering pipeline: apply them to a material, present full-screen
video, animate a UI element, and more. Thanks to the efficient design and
implementation of the HAP codecs, it can adjust playback time and speed
dynamically without hiccups.
[HAP video codecs]: https://hap.video/
# System requirements
- Unity 2022.3 or later
Currently, KlakHap supports only 64-bit desktop platforms (Windows, macOS, and
Linux).
# Supported formats
KlakHap supports **HAP**, **HAP Alpha**, and **HAP Q**. **HAP Q Alpha** is not
supported.
KlakHap only supports the QuickTime File Format as a container, i.e., `.mov`
files.
# How to install
Install the KlakHap package (`jp.keijiro.klak.hap`) from the "Keijiro" scoped
registry in Package Manager. Follow [these instructions] to add the registry to
your project.
[these instructions]:
https://gist.github.com/keijiro/f8c7e8ff29bfe63d86b888901b82644c
# How to specify a video file
There are two ways to specify a video file in the plugin:
- **Streaming Assets Mode**: Put a video file in the [Streaming Assets]
directory and specify its file name.
- **Local File System Mode**: Put a video file somewhere in local drive and
specify its full path.
The former method is recommended when the video file ships with the
application. The latter method is useful when you need to play external
content.
[Streaming Assets]: https://docs.unity3d.com/Manual/StreamingAssets.html
# Hap Player component

**File Path** and **Path Mode** specify the source video file. See the previous
section for details.
**Time**, **Speed** and **Loop** are used to set the initial playback state.
You can also change these values during playback.
**Target Texture** stores decoded frames in a render texture. Note that this
allocates a small amount of GPU time for data transfer.
**Target Renderer** applies the decoded texture to a specific material
property. Although this is the most performant way to render video frames, it
requires a few extra steps to render correctly. Keep the following points in
mind:
- UV coordinate incompatibility: Decoded textures are upside down due to
differences in UV coordinate conventions between Unity and HAP. You can fix
this using a vertically inverted texture scale/offset. You can also use the
`Klak/Hap` shader for this purpose.
- Color space conversion for HAP Q: [YCoCg conversion] must be added to a
shader when using HAP Q. You can also use the `Klak/HAP Q` shader for this
purpose.
[YCoCg conversion]:
https://gist.github.com/dlublin/90f879cfe027ebf5792bdadf2c911bb5
# How to control playback
`HapPlayer` provides only a few properties and methods for controlling
playback. This is an intentional design choice; I avoid ambiguous methods like
`Play`, `Stop`, and `Pause`. Use the basic properties and methods instead.
- To jump to a specific point: Assign a time in seconds to `time`.
- To jump to a specific frame: Calculate the time in seconds using `frameCount`
and `streamDuration`, then assign it to `time`.
- To reverse the playback direction: Assign a negative value to `speed`.
- To pause: Assign `0` to `speed`.
- To resume: Assign `1` to `speed`.
- To stop: Assign `false` to `enabled`.
- To close the video file: Destroy the `HapPlayer` component.
- To open another video file: Call `AddComponent<HapPlayer>`, then call `Open`.
# Timeline support

The HAP Player component implements the [ITimeControl] interface, which allows
it to control playback time from a Control Track in a [Timeline]. You can
create a control track by dragging and dropping a HAP Player game object into
the Timeline Editor, or manually create a Control Track/Clip and set the
source game object.
[ITimeControl]: https://docs.unity3d.com/ScriptReference/Timeline.ITimeControl.html
[Timeline]: https://docs.unity3d.com/Manual/TimelineSection.html
# Platform differences (internal latency)
On Windows, KlakHap uses the [Custom Texture Update] feature to hide the
synchronization point in the background thread. It guarantees exact-frame
playback with minimal load on the main thread.
On macOS and Linux, the Custom Texture Update feature is unavailable for this
purpose[^1]. Instead, KlakHap delays synchronization to the next frame to avoid
main thread stalls. In other words, it guarantees exact-frame playback but adds
a single-frame latency.
You can turn off this behavior by adding `HAP_NO_DELAY` to the [Scripting
Define Symbols] in the project settings. This stalls the main thread for every
frame decoding. It significantly slows down the application but is useful when
exact frame matching is essential (e.g., [volumetric video playback] with
Alembic animation).
[Custom Texture Update]:
https://github.com/keijiro/TextureUpdateExample
[Scripting Define Symbols]:
https://docs.unity3d.com/Manual/CustomScriptingSymbols.html
[volumetric video playback]:
https://github.com/keijiro/Abcvfx
[^1]: The Custom Texture Update feature is available even on macOS/Linux but
doesn't support compressed texture formats, which are essential for HAP
decoding.
================================================
FILE: Packages/jp.keijiro.klak.hap/README.md.meta
================================================
fileFormatVersion: 2
guid: 2a0b411fba8e4ef48cbb46596fdc2de8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/Hap1.shader
================================================
Shader "Klak/HAP"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
}
CGINCLUDE
#include "UnityCG.cginc"
struct Attributes
{
float4 position : POSITION;
float2 texcoord : TEXCOORD;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct Varyings
{
float4 position : SV_Position;
float2 texcoord : TEXCOORD;
};
sampler2D _MainTex;
float4 _MainTex_ST;
Varyings Vertex(Attributes input)
{
UNITY_SETUP_INSTANCE_ID(input);
Varyings output;
output.position = UnityObjectToClipPos(input.position);
output.texcoord = TRANSFORM_TEX(input.texcoord, _MainTex);
output.texcoord.y = 1 - output.texcoord.y;
return output;
}
fixed4 Fragment(Varyings input) : SV_Target
{
return tex2D(_MainTex, input.texcoord);
}
ENDCG
SubShader
{
Tags { "RenderType"="Opaque" }
Pass
{
CGPROGRAM
#pragma vertex Vertex
#pragma fragment Fragment
#pragma multi_compile_instancing
ENDCG
}
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/Hap1.shader.meta
================================================
fileFormatVersion: 2
guid: e99f77a91d9883a4b890a1fc833b7158
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/Hap5.shader
================================================
Shader "Klak/HAP Alpha"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
}
CGINCLUDE
#include "UnityCG.cginc"
struct Attributes
{
float4 position : POSITION;
float2 texcoord : TEXCOORD;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct Varyings
{
float4 position : SV_Position;
float2 texcoord : TEXCOORD;
};
sampler2D _MainTex;
float4 _MainTex_ST;
Varyings Vertex(Attributes input)
{
UNITY_SETUP_INSTANCE_ID(input);
Varyings output;
output.position = UnityObjectToClipPos(input.position);
output.texcoord = TRANSFORM_TEX(input.texcoord, _MainTex);
output.texcoord.y = 1 - output.texcoord.y;
return output;
}
fixed4 Fragment(Varyings input) : SV_Target
{
return tex2D(_MainTex, input.texcoord);
}
ENDCG
SubShader
{
Tags { "RenderType"="Transparent" "Queue"="Transparent" }
Pass
{
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex Vertex
#pragma fragment Fragment
#pragma multi_compile_instancing
ENDCG
}
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/Hap5.shader.meta
================================================
fileFormatVersion: 2
guid: 2fc3460268e46c64695de0f674e4e320
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/HapY.shader
================================================
Shader "Klak/HAP Q"
{
Properties
{
_MainTex("Texture", 2D) = "white" {}
}
CGINCLUDE
#include "UnityCG.cginc"
struct Attributes
{
float4 position : POSITION;
float2 texcoord : TEXCOORD;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct Varyings
{
float4 position : SV_Position;
float2 texcoord : TEXCOORD;
};
sampler2D _MainTex;
float4 _MainTex_ST;
half3 CoCgSY2RGB(half4 i)
{
#if !defined(UNITY_COLORSPACE_GAMMA)
i.xyz = LinearToGammaSpace(i.xyz);
#endif
i.xy -= half2(0.50196078431373, 0.50196078431373);
half s = 1 / ((i.z * (255.0 / 8)) + 1);
half3 rgb = half3(i.x - i.y, i.y, -i.x - i.y) * s + i.w;
#if !defined(UNITY_COLORSPACE_GAMMA)
rgb = GammaToLinearSpace(rgb);
#endif
return rgb;
}
Varyings Vertex(Attributes input)
{
UNITY_SETUP_INSTANCE_ID(input);
Varyings output;
output.position = UnityObjectToClipPos(input.position);
output.texcoord = TRANSFORM_TEX(input.texcoord, _MainTex);
output.texcoord.y = 1 - output.texcoord.y;
return output;
}
fixed4 Fragment(Varyings input) : SV_Target
{
return fixed4(CoCgSY2RGB(tex2D(_MainTex, input.texcoord)), 1);
}
ENDCG
SubShader
{
Tags { "RenderType"="Opaque" }
Pass
{
CGPROGRAM
#pragma multi_compile _ UNITY_COLORSPACE_GAMMA
#pragma vertex Vertex
#pragma fragment Fragment
#pragma multi_compile_instancing
ENDCG
}
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources/HapY.shader.meta
================================================
fileFormatVersion: 2
guid: c6a332340608cdd4f907eb4bc0c17f4a
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Resources.meta
================================================
fileFormatVersion: 2
guid: 1b69560a2379aa94b9fb309127d58020
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/Common.cs
================================================
namespace Klak.Hap
{
public enum CodecType { Unsupported, Hap, HapQ, HapAlpha }
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/Common.cs.meta
================================================
fileFormatVersion: 2
guid: ab49f28befbab1341821f02280a3199f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/HapPlayer.cs
================================================
using UnityEngine;
using UnityEngine.Playables;
#if KLAKHAP_HAS_TIMELINE
using UnityEngine.Timeline;
#endif
namespace Klak.Hap
{
[ExecuteInEditMode, AddComponentMenu("Klak/HAP/HAP Player")]
#if KLAKHAP_HAS_TIMELINE
public sealed class HapPlayer : MonoBehaviour , ITimeControl, IPropertyPreview
#else
public sealed class HapPlayer : MonoBehaviour
#endif
{
#region Editable attributes
public enum PathMode { StreamingAssets, LocalFileSystem }
[SerializeField] PathMode _pathMode = PathMode.StreamingAssets;
[SerializeField] string _filePath = "";
[SerializeField] float _time = 0;
[SerializeField, Range(-10, 10)] float _speed = 1;
[SerializeField] bool _loop = true;
[SerializeField] RenderTexture _targetTexture = null;
[SerializeField] Renderer _targetRenderer = null;
[SerializeField] string _targetMaterialProperty = "_MainTex";
#endregion
#region Public properties
public float time {
get { return _time; }
set { _time = value; }
}
public float speed {
get { return _speed; }
set { _speed = value; }
}
public bool loop {
get { return _loop; }
set { _loop = value; }
}
public RenderTexture targetTexture {
get { return _targetTexture; }
set { _targetTexture = value; }
}
public Renderer targetRenderer {
get { return _targetRenderer; }
set { _targetRenderer = value; }
}
public string targetMaterialProperty {
get { return _targetMaterialProperty; }
set { _targetMaterialProperty = value; }
}
#endregion
#region Read-only properties
public bool isValid { get { return _demuxer != null; } }
public int frameWidth { get { return _demuxer?.Width ?? 0; } }
public int frameHeight { get { return _demuxer?.Height ?? 0; } }
public int frameCount { get { return _demuxer?.FrameCount ?? 0; } }
public double streamDuration { get { return _demuxer?.Duration ?? 0; } }
public CodecType codecType { get {
return Utility.DetermineCodecType(_demuxer?.VideoType ?? 0);
} }
public string resolvedFilePath { get {
if (_pathMode == PathMode.StreamingAssets)
return System.IO.Path.Combine(Application.streamingAssetsPath, _filePath);
else
return _filePath;
} }
public Texture2D texture { get { return _texture; } }
#endregion
#region Public methods
public void Open(string filePath, PathMode pathMode = PathMode.StreamingAssets)
{
if (_demuxer != null)
{
Debug.LogError("Stream has already been opened.");
return;
}
_filePath = filePath;
_pathMode = pathMode;
OpenInternal();
}
public void UpdateNow()
=> LateUpdate();
#endregion
#region Private members
Demuxer _demuxer;
StreamReader _stream;
Decoder _decoder;
Texture2D _texture;
TextureUpdater _updater;
float _storedTime;
float _storedSpeed;
void OpenInternal()
{
// Demuxer instantiation
_demuxer = new Demuxer(resolvedFilePath);
if (!_demuxer.IsValid)
{
if (Application.isPlaying)
{
// In play mode, show an error message, then disable itself
// to prevent spamming the console.
Debug.LogError("Failed to open stream (" + resolvedFilePath + ").");
enabled = false;
}
_demuxer.Dispose();
_demuxer = null;
return;
}
// Stream reader instantiation
_stream = new StreamReader(_demuxer, _time, _speed / 60);
(_storedTime, _storedSpeed) = (_time, _speed);
// Decoder instantiation
_decoder = new Decoder(
_stream, _demuxer.Width, _demuxer.Height, _demuxer.VideoType
);
// Texture initialization
_texture = new Texture2D(
_demuxer.Width, _demuxer.Height,
Utility.DetermineTextureFormat(_demuxer.VideoType), false
);
_texture.wrapMode = TextureWrapMode.Clamp;
_texture.hideFlags = HideFlags.DontSave;
_updater = new TextureUpdater(_texture, _decoder);
}
#endregion
#region External object updaters
Material _blitMaterial;
MaterialPropertyBlock _propertyBlock;
void UpdateTargetTexture()
{
if (_targetTexture == null) return;
// Material lazy initialization
if (_blitMaterial == null)
{
_blitMaterial = new Material(Utility.DetermineBlitShader(_demuxer.VideoType));
_blitMaterial.hideFlags = HideFlags.DontSave;
}
// Blit
Graphics.Blit(_texture, _targetTexture, _blitMaterial, 0);
}
void UpdateTargetRenderer()
{
if (_targetRenderer == null) return;
// Material property block lazy initialization
if (_propertyBlock == null)
_propertyBlock = new MaterialPropertyBlock();
// Read-modify-write
_targetRenderer.GetPropertyBlock(_propertyBlock);
_propertyBlock.SetTexture(_targetMaterialProperty, _texture);
_targetRenderer.SetPropertyBlock(_propertyBlock);
}
#endregion
#region ITimeControl implementation
bool _externalTime;
public void OnControlTimeStart()
{
_externalTime = true;
// In the external time mode, we can't know the actual playback
// speed but sure that it's positive (Control Track doesn't support
// reverse playback), so we assume that the speed is 1.0.
// Cons: Resync could happen every frame for high speed play back.
_speed = 1;
}
public void OnControlTimeStop()
{
_externalTime = false;
}
public void SetTime(double time)
{
_time = (float)time;
_speed = 1;
}
#endregion
#region IPropertyPreview implementation
#if KLAKHAP_HAS_TIMELINE
public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
{
driver.AddFromName<HapPlayer>(gameObject, "_time");
}
#endif
#endregion
#region MonoBehaviour implementation
void OnDestroy()
{
if (_updater != null)
{
_updater.Dispose();
_updater = null;
}
if (_decoder != null)
{
_decoder.Dispose();
_decoder = null;
}
if (_stream != null)
{
_stream.Dispose();
_stream = null;
}
if (_demuxer != null)
{
_demuxer.Dispose();
_demuxer = null;
}
Utility.Destroy(_texture);
Utility.Destroy(_blitMaterial);
}
int _lastUpdateFrameCount = -1;
void LateUpdate()
{
// Double update check
if (Time.frameCount == _lastUpdateFrameCount) return;
_lastUpdateFrameCount = Time.frameCount;
// Lazy initialization of demuxer
if (_demuxer == null && !string.IsNullOrEmpty(_filePath))
OpenInternal();
// Do nothing if the demuxer hasn't been instantiated.
if (_demuxer == null) return;
var duration = (float)_demuxer.Duration;
// Check if _time is still in the same frame of _storedTime.
// Resync is needed when it went out of the frame.
var dt = duration / _demuxer.FrameCount;
var resync = _time < _storedTime || _time > _storedTime + dt;
// Check if the speed was externally modified.
if (_speed != _storedSpeed)
{
resync = true; // Resync to adapt to the new speed.
_storedSpeed = _speed;
}
// Time clamping
var t = _loop ? _time : Mathf.Clamp(_time, 0, duration - 1e-4f);
// Determine if background decoding is available.
// Resync shouldn't happen. Not preferable in edit mode.
var bgdec = !resync && Application.isPlaying;
// Restart the stream reader on resync.
if (resync) _stream.Restart(t, _speed / 60);
if (TextureUpdater.AsyncSupport)
{
// Asynchronous texture update supported:
// Decode a frame and request a texture update.
if (bgdec) _decoder.UpdateAsync(t); else _decoder.UpdateSync(t);
_updater.RequestAsyncUpdate();
}
#if !HAP_NO_DELAY
else if (bgdec)
{
// Synchronous texture update with background decoding:
// Update first, then start background decoding. This
// introduces a single frame delay but makes it possible to
// offload decoding load to a background thread.
_updater.UpdateNow();
_decoder.UpdateAsync(t);
}
#endif
else
{
// Synchronous decoding and texture update.
_decoder.UpdateSync(t);
_updater.UpdateNow();
}
// Update the stored time.
if (Application.isPlaying && !_externalTime)
_time += Time.deltaTime * _speed;
_storedTime = _time;
// External object updates
UpdateTargetRenderer();
UpdateTargetTexture();
}
#endregion
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/HapPlayer.cs.meta
================================================
fileFormatVersion: 2
guid: f3775962864755b43a790abf4d029c32
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/Decoder.cs
================================================
using System;
using System.Runtime.InteropServices;
using System.Threading;
namespace Klak.Hap
{
internal sealed class Decoder : IDisposable
{
#region Initialization/finalization
public Decoder(StreamReader stream, int width, int height, int videoType)
{
_stream = stream;
// Plugin initialization
_plugin = KlakHap_CreateDecoder(width, height, videoType);
_id = ++_instantiationCount;
KlakHap_AssignDecoder(_id, _plugin);
// By default, start from the first frame.
_time = 0;
// Decoder thread startup
_resume.req = new AutoResetEvent(true);
_resume.ack = new AutoResetEvent(false);
_thread = new Thread(DecoderThread);
_thread.Start();
}
public void Dispose()
{
if (_thread != null)
{
_terminate = true;
_resume.req.Set();
_thread.Join();
_thread = null;
}
if (_plugin != IntPtr.Zero)
{
KlakHap_AssignDecoder(_id, IntPtr.Zero);
KlakHap_DestroyDecoder(_plugin);
_plugin = IntPtr.Zero;
}
}
#endregion
#region Public members
public uint CallbackID { get { return _id; } }
public int BufferSize { get {
return KlakHap_GetDecoderBufferSize(_plugin);
} }
public void UpdateSync(float time)
{
_time = time;
var buffer = _stream.Advance(_time);
if (buffer != null)
KlakHap_DecodeFrame(_plugin, buffer.PluginPointer);
}
public void UpdateAsync(float time)
{
_time = time;
_resume.req.Set();
_resume.ack.WaitOne();
}
public IntPtr LockBuffer()
{
return KlakHap_LockDecoderBuffer(_plugin);
}
public void UnlockBuffer()
{
KlakHap_UnlockDecoderBuffer(_plugin);
}
#endregion
#region Private members
static uint _instantiationCount;
IntPtr _plugin;
uint _id;
Thread _thread;
(AutoResetEvent req, AutoResetEvent ack) _resume;
bool _terminate;
StreamReader _stream;
float _time;
#endregion
#region Thread function
void DecoderThread()
{
while (true)
{
_resume.req.WaitOne();
_resume.ack.Set();
if (_terminate) break;
var buffer = _stream.Advance(_time);
if (buffer == null) continue;
KlakHap_DecodeFrame(_plugin, buffer.PluginPointer);
}
}
#endregion
#region Native plugin entry points
[DllImport("KlakHap")]
internal static extern IntPtr KlakHap_CreateDecoder(int width, int height, int typeID);
[DllImport("KlakHap")]
internal static extern void KlakHap_DestroyDecoder(IntPtr decoder);
[DllImport("KlakHap")]
internal static extern void KlakHap_AssignDecoder(uint id, IntPtr decoder);
[DllImport("KlakHap")]
internal static extern void KlakHap_DecodeFrame(IntPtr decoder, IntPtr input);
[DllImport("KlakHap")]
internal static extern IntPtr KlakHap_LockDecoderBuffer(IntPtr decoder);
[DllImport("KlakHap")]
internal static extern void KlakHap_UnlockDecoderBuffer(IntPtr decoder);
[DllImport("KlakHap")]
internal static extern int KlakHap_GetDecoderBufferSize(IntPtr decoder);
#endregion
}
}
================================================
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/Decoder.cs.meta
================================================
fileFormatVersion: 2
guid: 6a95a95ecf0e26740a6507fe3474b8f8
MonoImporter:
externalObjects: {}
seria
gitextract_73gfcozr/ ├── .gitattributes ├── .gitignore ├── AGENTS.md ├── Assets/ │ ├── Demo/ │ │ ├── Hap.mat │ │ ├── Hap.mat.meta │ │ ├── Hap.renderTexture │ │ ├── Hap.renderTexture.meta │ │ ├── HapAlpha.mat │ │ ├── HapAlpha.mat.meta │ │ ├── HapQ.mat │ │ ├── HapQ.mat.meta │ │ ├── Manifest.asset │ │ ├── Manifest.asset.meta │ │ ├── ScriptingTest.cs │ │ ├── ScriptingTest.cs.meta │ │ ├── ScriptingTest.renderTexture │ │ ├── ScriptingTest.renderTexture.meta │ │ ├── SeekBarBind.cs │ │ ├── SeekBarBind.cs.meta │ │ ├── UITK/ │ │ │ ├── DefaultTheme.tss │ │ │ ├── DefaultTheme.tss.meta │ │ │ ├── Demo.uxml │ │ │ ├── Demo.uxml.meta │ │ │ ├── PanelSettings.asset │ │ │ └── PanelSettings.asset.meta │ │ ├── UITK.meta │ │ ├── URP/ │ │ │ ├── DefaultRenderer.asset │ │ │ ├── DefaultRenderer.asset.meta │ │ │ ├── DefaultVolume.asset │ │ │ ├── DefaultVolume.asset.meta │ │ │ ├── GlobalSettings.asset │ │ │ ├── GlobalSettings.asset.meta │ │ │ ├── URP.asset │ │ │ └── URP.asset.meta │ │ └── URP.meta │ ├── Demo.meta │ ├── Demo.unity │ ├── Demo.unity.meta │ ├── StreamingAssets/ │ │ ├── Tests/ │ │ │ ├── Hap/ │ │ │ │ ├── 000001.png.meta │ │ │ │ ├── 000002.png.meta │ │ │ │ ├── 000003.png.meta │ │ │ │ ├── 000004.png.meta │ │ │ │ ├── 000005.png.meta │ │ │ │ └── TestCards.mov.meta │ │ │ ├── Hap.meta │ │ │ ├── HapAlpha/ │ │ │ │ ├── 000001.png.meta │ │ │ │ └── HapAlpha.mov.meta │ │ │ ├── HapAlpha.meta │ │ │ ├── HapQ/ │ │ │ │ ├── 000001.png.meta │ │ │ │ ├── 000002.png.meta │ │ │ │ ├── 000003.png.meta │ │ │ │ ├── 000004.png.meta │ │ │ │ ├── 000005.png.meta │ │ │ │ └── TestCards.mov.meta │ │ │ ├── HapQ.meta │ │ │ ├── RGBCycle/ │ │ │ │ ├── RGBCycle24.mov.meta │ │ │ │ ├── RGBCycle24000-1001.mov.meta │ │ │ │ ├── RGBCycle25.mov.meta │ │ │ │ ├── RGBCycle30.mov.meta │ │ │ │ ├── RGBCycle30000-1001.mov.meta │ │ │ │ ├── RGBCycle50.mov.meta │ │ │ │ ├── RGBCycle60.mov.meta │ │ │ │ └── RGBCycle60000-1001.mov.meta │ │ │ ├── RGBCycle.meta │ │ │ ├── 日本語/ │ │ │ │ └── Test.mov.meta │ │ │ └── 日本語.meta │ │ └── Tests.meta │ ├── StreamingAssets.meta │ ├── Tests/ │ │ ├── Runtime/ │ │ │ ├── HapAlphaPlaybackTest.cs │ │ │ ├── HapAlphaPlaybackTest.cs.meta │ │ │ ├── JapanesePathPlaybackTest.cs │ │ │ ├── JapanesePathPlaybackTest.cs.meta │ │ │ ├── Klak.Hap.Runtime.Tests.asmdef │ │ │ ├── Klak.Hap.Runtime.Tests.asmdef.meta │ │ │ ├── RgbCycleFrameMappingTest.cs │ │ │ ├── RgbCycleFrameMappingTest.cs.meta │ │ │ ├── TestCardsPlaybackTest.cs │ │ │ └── TestCardsPlaybackTest.cs.meta │ │ └── Runtime.meta │ └── Tests.meta ├── CHANGELOG.md ├── LICENSE ├── Packages/ │ ├── jp.keijiro.klak.hap/ │ │ ├── CHANGELOG.md │ │ ├── CHANGELOG.md.meta │ │ ├── Editor/ │ │ │ ├── HapPlayerEditor.cs │ │ │ ├── HapPlayerEditor.cs.meta │ │ │ ├── Klak.Hap.Editor.asmdef │ │ │ ├── Klak.Hap.Editor.asmdef.meta │ │ │ ├── MaterialPropertySelector.cs │ │ │ └── MaterialPropertySelector.cs.meta │ │ ├── Editor.meta │ │ ├── LICENSE │ │ ├── LICENSE.meta │ │ ├── Plugin/ │ │ │ ├── Linux/ │ │ │ │ └── libKlakHap.so.meta │ │ │ ├── Linux.meta │ │ │ ├── MacOS/ │ │ │ │ ├── KlakHap.bundle │ │ │ │ └── KlakHap.bundle.meta │ │ │ ├── MacOS.meta │ │ │ ├── Windows/ │ │ │ │ └── KlakHap.dll.meta │ │ │ └── Windows.meta │ │ ├── Plugin.meta │ │ ├── README.md │ │ ├── README.md.meta │ │ ├── Resources/ │ │ │ ├── Hap1.shader │ │ │ ├── Hap1.shader.meta │ │ │ ├── Hap5.shader │ │ │ ├── Hap5.shader.meta │ │ │ ├── HapY.shader │ │ │ └── HapY.shader.meta │ │ ├── Resources.meta │ │ ├── Runtime/ │ │ │ ├── Common.cs │ │ │ ├── Common.cs.meta │ │ │ ├── HapPlayer.cs │ │ │ ├── HapPlayer.cs.meta │ │ │ ├── Internal/ │ │ │ │ ├── Decoder.cs │ │ │ │ ├── Decoder.cs.meta │ │ │ │ ├── Demuxer.cs │ │ │ │ ├── Demuxer.cs.meta │ │ │ │ ├── ReadBuffer.cs │ │ │ │ ├── ReadBuffer.cs.meta │ │ │ │ ├── StreamReader.cs │ │ │ │ ├── StreamReader.cs.meta │ │ │ │ ├── TextureUpdater.cs │ │ │ │ ├── TextureUpdater.cs.meta │ │ │ │ ├── Utility.cs │ │ │ │ └── Utility.cs.meta │ │ │ ├── Internal.meta │ │ │ ├── Klak.Hap.asmdef │ │ │ └── Klak.Hap.asmdef.meta │ │ ├── Runtime.meta │ │ ├── package.json │ │ └── package.json.meta │ ├── manifest.json │ └── packages-lock.json ├── Plugin/ │ ├── Common.mk │ ├── Hap/ │ │ ├── hap.c │ │ └── hap.h │ ├── MP4/ │ │ ├── mp4defs.h │ │ ├── mp4demux.c │ │ └── mp4demux.h │ ├── Makefile.linux │ ├── Makefile.macos │ ├── Makefile.windows │ ├── Snappy/ │ │ ├── snappy-c.cc │ │ ├── snappy-c.h │ │ ├── snappy-internal.h │ │ ├── snappy-sinksource.cc │ │ ├── snappy-sinksource.h │ │ ├── snappy-stubs-internal.cc │ │ ├── snappy-stubs-internal.h │ │ ├── snappy-stubs-public.h │ │ ├── snappy.cc │ │ └── snappy.h │ ├── Source/ │ │ ├── Decoder.h │ │ ├── Demuxer.h │ │ ├── KlakHap.cpp │ │ └── ReadBuffer.h │ ├── Unity/ │ │ ├── IUnityGraphics.h │ │ ├── IUnityInterface.h │ │ └── IUnityRenderingExtensions.h │ └── build.macos.sh ├── ProjectSettings/ │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── MemorySettings.asset │ ├── MultiplayerManager.asset │ ├── NavMeshAreas.asset │ ├── PackageManagerSettings.asset │ ├── Packages/ │ │ └── com.unity.dedicated-server/ │ │ └── MultiplayerRolesSettings.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── SceneTemplateSettings.json │ ├── ShaderGraphSettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── URPProjectSettings.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ └── VersionControlSettings.asset └── README.md
SYMBOL INDEX (313 symbols across 37 files)
FILE: Assets/Demo/ScriptingTest.cs
class ScriptingTest (line 4) | public sealed class ScriptingTest : MonoBehaviour
method Start (line 11) | async void Start()
FILE: Assets/Demo/SeekBarBind.cs
class SeekBarBind (line 6) | public sealed class SeekBarBind : MonoBehaviour
method Start (line 17) | void Start()
FILE: Assets/Tests/Runtime/HapAlphaPlaybackTest.cs
class HapAlphaPlaybackTest (line 8) | public sealed class HapAlphaPlaybackTest
method HapAlphaMatchesExtractedFrame (line 20) | [UnityTest]
method LoadExpectedTexture (line 74) | static Texture2D LoadExpectedTexture(string fileName)
method ComputeMatchRatio (line 83) | static float ComputeMatchRatio(Texture2D actual, Texture2D expected)
method IsMatch (line 106) | static bool IsMatch(Color actual, Color expected)
FILE: Assets/Tests/Runtime/JapanesePathPlaybackTest.cs
class JapanesePathPlaybackTest (line 7) | public sealed class JapanesePathPlaybackTest
method CanPlayHapInJapanesePath (line 11) | [UnityTest]
FILE: Assets/Tests/Runtime/RgbCycleFrameMappingTest.cs
class RgbCycleFrameMappingTest (line 7) | public sealed class RgbCycleFrameMappingTest
type RgbExpected (line 21) | enum RgbExpected { Red, Green, Blue }
method RgbCycleFrameMappingIsCorrect (line 23) | [UnityTest]
method VerifyFile (line 37) | IEnumerable VerifyFile(string path)
method ExpectedForFrame (line 86) | static RgbExpected ExpectedForFrame(int frameIndex)
method AssertRgbColor (line 89) | static void AssertRgbColor(Color actual, RgbExpected expected, string ...
FILE: Assets/Tests/Runtime/TestCardsPlaybackTest.cs
class TestCardsPlaybackTest (line 8) | public sealed class TestCardsPlaybackTest
method TestCardsMatchPngFrames (line 27) | [UnityTest]
method VerifySet (line 42) | IEnumerable VerifySet(string objectName, string moviePath, string fram...
method LoadExpectedTexture (line 115) | static Texture2D LoadExpectedTexture(string framesDirName, string file...
method ComputeMatchRatio (line 124) | static float ComputeMatchRatio(Texture2D actual, Texture2D expected)
method IsMatch (line 143) | static bool IsMatch(Color actual, Color expected)
method ReadRenderTexture (line 148) | static void ReadRenderTexture(RenderTexture source, Texture2D destinat...
FILE: Packages/jp.keijiro.klak.hap/Editor/HapPlayerEditor.cs
class HapPlayerEditor (line 6) | [CanEditMultipleObjects]
class Labels (line 21) | static class Labels
method ShowSourceInfo (line 29) | void ShowSourceInfo(HapPlayer player)
method OnEnable (line 58) | void OnEnable()
method OnInspectorGUI (line 72) | public override void OnInspectorGUI()
FILE: Packages/jp.keijiro.klak.hap/Editor/MaterialPropertySelector.cs
class MaterialPropertySelector (line 9) | static class MaterialPropertySelector
method DropdownList (line 14) | public static void DropdownList(
method RetrieveTargetShader (line 55) | static Shader RetrieveTargetShader(SerializedProperty rendererProperty)
method CachePropertyNames (line 67) | static void CachePropertyNames(Shader shader)
FILE: Packages/jp.keijiro.klak.hap/Runtime/Common.cs
type CodecType (line 3) | public enum CodecType { Unsupported, Hap, HapQ, HapAlpha }
FILE: Packages/jp.keijiro.klak.hap/Runtime/HapPlayer.cs
class HapPlayer (line 10) | [ExecuteInEditMode, AddComponentMenu("Klak/HAP/HAP Player")]
type PathMode (line 19) | public enum PathMode { StreamingAssets, LocalFileSystem }
method Open (line 93) | public void Open(string filePath, PathMode pathMode = PathMode.Streami...
method UpdateNow (line 107) | public void UpdateNow()
method OpenInternal (line 124) | void OpenInternal()
method UpdateTargetTexture (line 170) | void UpdateTargetTexture()
method UpdateTargetRenderer (line 185) | void UpdateTargetRenderer()
method OnControlTimeStart (line 205) | public void OnControlTimeStart()
method OnControlTimeStop (line 216) | public void OnControlTimeStop()
method SetTime (line 221) | public void SetTime(double time)
method GatherProperties (line 232) | public void GatherProperties(PlayableDirector director, IPropertyColle...
method OnDestroy (line 242) | void OnDestroy()
method LateUpdate (line 274) | void LateUpdate()
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/Decoder.cs
class Decoder (line 7) | internal sealed class Decoder : IDisposable
method Decoder (line 11) | public Decoder(StreamReader stream, int width, int height, int videoType)
method Dispose (line 30) | public void Dispose()
method UpdateSync (line 58) | public void UpdateSync(float time)
method UpdateAsync (line 66) | public void UpdateAsync(float time)
method LockBuffer (line 73) | public IntPtr LockBuffer()
method UnlockBuffer (line 78) | public void UnlockBuffer()
method DecoderThread (line 103) | void DecoderThread()
method KlakHap_CreateDecoder (line 123) | [DllImport("KlakHap")]
method KlakHap_DestroyDecoder (line 126) | [DllImport("KlakHap")]
method KlakHap_AssignDecoder (line 129) | [DllImport("KlakHap")]
method KlakHap_DecodeFrame (line 132) | [DllImport("KlakHap")]
method KlakHap_LockDecoderBuffer (line 135) | [DllImport("KlakHap")]
method KlakHap_UnlockDecoderBuffer (line 138) | [DllImport("KlakHap")]
method KlakHap_GetDecoderBufferSize (line 141) | [DllImport("KlakHap")]
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/Demuxer.cs
class Demuxer (line 6) | internal sealed class Demuxer : IDisposable
method Demuxer (line 21) | public Demuxer(string filePath)
method Dispose (line 41) | public void Dispose()
method ReadFrame (line 54) | public void ReadFrame(ReadBuffer buffer, int index, float time)
method KlakHap_OpenDemuxer (line 74) | [DllImport("KlakHap", CharSet = CharSet.Ansi)]
method KlakHap_CloseDemuxer (line 77) | [DllImport("KlakHap")]
method KlakHap_DemuxerIsValid (line 80) | [DllImport("KlakHap")]
method KlakHap_CountFrames (line 83) | [DllImport("KlakHap")]
method KlakHap_GetDuration (line 86) | [DllImport("KlakHap")]
method KlakHap_GetVideoWidth (line 89) | [DllImport("KlakHap")]
method KlakHap_GetVideoHeight (line 92) | [DllImport("KlakHap")]
method KlakHap_AnalyzeVideoType (line 95) | [DllImport("KlakHap")]
method KlakHap_ReadFrame (line 98) | [DllImport("KlakHap")]
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/ReadBuffer.cs
class ReadBuffer (line 6) | internal sealed class ReadBuffer : IDisposable
method ReadBuffer (line 18) | public ReadBuffer()
method Dispose (line 25) | public void Dispose()
method KlakHap_CreateReadBuffer (line 40) | [DllImport("KlakHap")]
method KlakHap_DestroyReadBuffer (line 43) | [DllImport("KlakHap")]
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/StreamReader.cs
class StreamReader (line 8) | internal sealed class StreamReader : IDisposable
method StreamReader (line 12) | public StreamReader(Demuxer demuxer, float time, float delta)
method Dispose (line 35) | public void Dispose()
method Restart (line 78) | public void Restart(float time, float delta)
method Advance (line 92) | public ReadBuffer Advance(float time)
method SafeDelta (line 164) | float SafeDelta(float delta)
method ReaderThread (line 174) | void ReaderThread()
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/TextureUpdater.cs
class TextureUpdater (line 8) | internal sealed class TextureUpdater : IDisposable
method TextureUpdater (line 20) | public TextureUpdater(Texture2D texture, Decoder decoder)
method Dispose (line 36) | public void Dispose()
method UpdateNow (line 45) | public void UpdateNow()
method RequestAsyncUpdate (line 55) | public void RequestAsyncUpdate()
method KlakHap_GetTextureUpdateCallback (line 72) | [DllImport("KlakHap")]
FILE: Packages/jp.keijiro.klak.hap/Runtime/Internal/Utility.cs
class Utility (line 5) | internal static class Utility
method Destroy (line 7) | public static void Destroy(Object o)
method DetermineCodecType (line 16) | public static CodecType DetermineCodecType(int videoType)
method DetermineTextureFormat (line 27) | public static TextureFormat DetermineTextureFormat(int videoType)
method DetermineBlitShader (line 40) | public static Shader DetermineBlitShader(int videoType)
FILE: Plugin/Hap/hap.c
type HapChunkDecodeInfo (line 93) | typedef struct HapChunkDecodeInfo {
function hap_read_3_byte_uint (line 106) | static unsigned int hap_read_3_byte_uint(const void *buffer)
function hap_write_3_byte_uint (line 111) | static void hap_write_3_byte_uint(void *buffer, unsigned int value)
function hap_read_4_byte_uint (line 118) | static unsigned int hap_read_4_byte_uint(const void *buffer)
function hap_write_4_byte_uint (line 123) | static void hap_write_4_byte_uint(const void *buffer, unsigned int value)
function hap_read_section_header (line 137) | static int hap_read_section_header(const void *buffer, uint32_t buffer_l...
function hap_write_section_header (line 189) | static void hap_write_section_header(void *buffer, size_t header_length,...
function hap_texture_format_constant_for_format_identifier (line 215) | static unsigned int hap_texture_format_constant_for_format_identifier(un...
function hap_texture_format_identifier_for_format_constant (line 240) | static unsigned int hap_texture_format_identifier_for_format_constant(un...
function hap_decode_instructions_length (line 265) | static size_t hap_decode_instructions_length(unsigned int chunk_count)
function hap_limited_chunk_count_for_frame (line 277) | static unsigned int hap_limited_chunk_count_for_frame(size_t input_bytes...
function hap_max_encoded_length (line 302) | static size_t hap_max_encoded_length(size_t input_bytes, unsigned int te...
function HapMaxEncodedLength (line 324) | unsigned long HapMaxEncodedLength(unsigned int count,
function hap_encode_texture (line 355) | static unsigned int hap_encode_texture(const void *inputBuffer, unsigned...
function HapEncode (line 506) | unsigned int HapEncode(unsigned int count,
function hap_decode_chunk (line 606) | static void hap_decode_chunk(HapChunkDecodeInfo chunks[], unsigned int i...
function hap_decode_header_complex_instructions (line 644) | static unsigned int hap_decode_header_complex_instructions(const void *t...
function hap_decode_single_texture (line 732) | unsigned int hap_decode_single_texture(const void *texture_section, uint...
function hap_get_section_at_index (line 932) | int hap_get_section_at_index(const void *input_buffer, uint32_t input_bu...
function HapDecode (line 993) | unsigned int HapDecode(const void *inputBuffer, unsigned long inputBuffe...
function HapGetFrameTextureCount (line 1042) | unsigned int HapGetFrameTextureCount(const void *inputBuffer, unsigned l...
function HapGetFrameTextureFormat (line 1089) | unsigned int HapGetFrameTextureFormat(const void *inputBuffer, unsigned ...
function HapGetFrameTextureChunkCount (line 1128) | unsigned int HapGetFrameTextureChunkCount(const void *inputBuffer, unsig...
FILE: Plugin/Hap/hap.h
type HapTextureFormat (line 40) | enum HapTextureFormat {
type HapCompressor (line 50) | enum HapCompressor {
type HapResult (line 55) | enum HapResult {
FILE: Plugin/MP4/mp4demux.c
type mp4d_boxtype_t (line 30) | typedef enum {BOX_ATOM, BOX_OD} mp4d_boxtype_t;
function off_t (line 40) | static off_t mp4d_fsize(FILE * f)
function mp4d_read (line 58) | static unsigned mp4d_read(FILE * f, int nb, int * eof_flag)
function mp4d_read_payload (line 80) | static uint32_t mp4d_read_payload(FILE * f, unsigned nb, mp4d_size_t * p...
function mp4d_skip_bytes (line 95) | static void mp4d_skip_bytes(FILE * f, mp4d_size_t skip, int * eof_flag)
function MP4D__open (line 143) | int MP4D__open(MP4D_demux_t * mp4, FILE * f)
function mp4d_sample_to_chunk (line 745) | static int mp4d_sample_to_chunk(MP4D_track_t * tr, unsigned nsample, uns...
function mp4d_size_t (line 778) | mp4d_size_t MP4D__frame_offset(const MP4D_demux_t * mp4, unsigned ntrack...
function MP4D__close (line 814) | void MP4D__close(MP4D_demux_t * mp4)
function mp4d_skip_spspps (line 840) | static int mp4d_skip_spspps(const unsigned char * p, int nbytes, int nskip)
function print_mp4_info (line 1026) | static void print_mp4_info(const MP4D_demux_t * mp4_demux)
function print_comment (line 1062) | static void print_comment(const MP4D_demux_t * mp4_demux)
function print_dsi_data (line 1076) | static void print_dsi_data(const MP4D_demux_t * mp4_demux)
function save_track_data (line 1127) | static void save_track_data(const MP4D_demux_t * mp4_demux, FILE * mp4_f...
function main (line 1191) | int main(int argc, char* argv[])
FILE: Plugin/MP4/mp4demux.h
type mp4d_size_t (line 55) | typedef uint64_t mp4d_size_t;
type mp4d_size_t (line 58) | typedef unsigned __int64 mp4d_size_t;
type mp4d_size_t (line 60) | typedef unsigned long long mp4d_size_t;
type MP4D_sample_to_chunk_t (line 67) | typedef struct
type MP4D_track_t (line 74) | typedef struct
type MP4D_demux_t (line 180) | typedef struct MP4D_demux_tag
FILE: Plugin/Snappy/snappy-c.cc
function snappy_status (line 34) | snappy_status snappy_compress(const char* input,
function snappy_status (line 45) | snappy_status snappy_uncompress(const char* compressed,
function snappy_max_compressed_length (line 65) | size_t snappy_max_compressed_length(size_t source_length) {
function snappy_status (line 69) | snappy_status snappy_uncompressed_length(const char *compressed,
function snappy_status (line 81) | snappy_status snappy_validate_compressed_buffer(const char *compressed,
FILE: Plugin/Snappy/snappy-c.h
type snappy_status (line 46) | typedef enum {
FILE: Plugin/Snappy/snappy-internal.h
function namespace (line 72) | namespace snappy {
FILE: Plugin/Snappy/snappy-sinksource.cc
type snappy (line 34) | namespace snappy {
FILE: Plugin/Snappy/snappy-sinksource.h
function namespace (line 34) | namespace snappy {
FILE: Plugin/Snappy/snappy-stubs-internal.cc
type snappy (line 34) | namespace snappy {
FILE: Plugin/Snappy/snappy-stubs-internal.h
function namespace (line 120) | namespace snappy {
FILE: Plugin/Snappy/snappy-stubs-public.h
function namespace (line 53) | namespace snappy {
FILE: Plugin/Snappy/snappy.cc
function MakeEntry (line 116) | inline constexpr int16_t MakeEntry(int16_t len, int16_t offset) {
function LengthMinusOffset (line 120) | inline constexpr int16_t LengthMinusOffset(int data, int type) {
function LengthMinusOffset (line 128) | inline constexpr int16_t LengthMinusOffset(uint8_t tag) {
type index_sequence (line 133) | struct index_sequence {}
type make_index_sequence (line 136) | struct make_index_sequence : make_index_sequence<N - 1, N - 1, Is...> {}
type make_index_sequence<0, Is...> (line 139) | struct make_index_sequence<0, Is...> : index_sequence<Is...> {}
function MakeTable (line 142) | constexpr std::array<int16_t, 256> MakeTable(index_sequence<seq...>) {
function MaxCompressedLength (line 197) | size_t MaxCompressedLength(size_t source_bytes) {
function UnalignedCopy64 (line 223) | void UnalignedCopy64(const void* src, void* dst) {
function UnalignedCopy128 (line 229) | void UnalignedCopy128(const void* src, void* dst) {
function ConditionalUnalignedCopy128 (line 239) | inline void ConditionalUnalignedCopy128(const char* src, char* dst) {
function MakePatternMaskBytes (line 287) | inline constexpr std::array<char, sizeof...(indexes)> MakePatternMaskBytes(
function MakePatternMaskBytesTable (line 295) | inline constexpr std::array<std::array<char, sizeof(V128)>,
function SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 323) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
function SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 333) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
function SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 354) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
function GetUncompressedLength (line 723) | bool GetUncompressedLength(const char* start, size_t n, size_t* result) {
function CalculateTableSize (line 735) | uint32_t CalculateTableSize(uint32_t input_size) {
type internal (line 751) | namespace internal {
type internal (line 787) | namespace internal {
function Report (line 1126) | static inline void Report(int token, const char *algorithm, size_t
function ExtractLowBytes (line 1191) | static inline uint32_t ExtractLowBytes(const uint32_t& v, int n) {
function LeftShiftOverflows (line 1204) | static inline bool LeftShiftOverflows(uint8_t value, uint32_t shift) {
function Copy64BytesWithPatternExtension (line 1214) | inline bool Copy64BytesWithPatternExtension(ptrdiff_t dst, size_t offset) {
function MemCopy64 (line 1224) | void MemCopy64(char* dst, const void* src, size_t size) {
function MemCopy64 (line 1278) | void MemCopy64(ptrdiff_t dst, const void* src, size_t size) {
function ClearDeferred (line 1285) | void ClearDeferred(const void** deferred_src, size_t* deferred_length,
function DeferMemCopy (line 1291) | void DeferMemCopy(const void** deferred_src, size_t* deferred_length,
function SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 1297) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
function SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 1320) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
function ExtractOffset (line 1367) | inline uint32_t ExtractOffset(uint32_t val, size_t tag_type) {
function DecompressBranchless (line 1398) | std::pair<const uint8_t*, ptrdiff_t> DecompressBranchless(
class SnappyDecompressor (line 1512) | class SnappyDecompressor {
method ResetLimit (line 1531) | void ResetLimit(const char* ip) {
method SnappyDecompressor (line 1537) | explicit SnappyDecompressor(Source* reader)
method eof (line 1546) | bool eof() const { return eof_; }
method ReadUncompressedLength (line 1551) | bool ReadUncompressedLength(uint32_t* result) {
method DecompressAllTags (line 1578) | __attribute__((aligned(32)))
function CalculateNeeded (line 1702) | constexpr uint32_t CalculateNeeded(uint8_t tag) {
function VerifyCalculateNeeded (line 1709) | constexpr bool VerifyCalculateNeeded() {
function InternalUncompress (line 1785) | static bool InternalUncompress(Source* r, Writer* writer) {
function InternalUncompressAllTags (line 1796) | static bool InternalUncompressAllTags(SnappyDecompressor* decompressor,
function GetUncompressedLength (line 1810) | bool GetUncompressedLength(Source* source, uint32_t* result) {
function Compress (line 1815) | size_t Compress(Source* reader, Sink* writer) {
function Compress (line 1819) | size_t Compress(Source* reader, Sink* writer, CompressionOptions options) {
class SnappyIOVecReader (line 1904) | class SnappyIOVecReader : public Source {
method SnappyIOVecReader (line 1906) | SnappyIOVecReader(const struct iovec* iov, size_t total_size)
method Available (line 1918) | size_t Available() const override { return total_size_remaining_; }
method Skip (line 1925) | void Skip(size_t n) override {
method Advance (line 1937) | void Advance() {
type iovec (line 1953) | struct iovec
class SnappyIOVecWriter (line 1965) | class SnappyIOVecWriter {
type iovec (line 1969) | struct iovec
type iovec (line 1972) | struct iovec
type iovec (line 1976) | struct iovec
type iovec (line 1990) | struct iovec
type iovec (line 1997) | struct iovec
method SetExpectedLength (line 2010) | inline void SetExpectedLength(size_t len) { output_limit_ = len; }
method CheckLength (line 2012) | inline bool CheckLength() const { return total_written_ == output_limi...
method Append (line 2014) | inline bool Append(const char* ip, size_t len, char**) {
method SetOutputPtr (line 2024) | void SetOutputPtr(char* op) {
method AppendNoCheck (line 2029) | inline bool AppendNoCheck(const char* ip, size_t len) {
method TryFastAppend (line 2053) | inline bool TryFastAppend(const char* ip, size_t available, size_t len,
method AppendFromSelf (line 2069) | inline bool AppendFromSelf(size_t offset, size_t len, char**) {
method RawUncompressToIOVec (line 2144) | bool RawUncompressToIOVec(const char* compressed, size_t compressed_le...
method RawUncompressToIOVec (line 2150) | bool RawUncompressToIOVec(Source* compressed, const struct iovec* iov,
class SnappyArrayWriter (line 2163) | class SnappyArrayWriter {
method SnappyArrayWriter (line 2173) | inline explicit SnappyArrayWriter(char* dst)
method SetExpectedLength (line 2179) | inline void SetExpectedLength(size_t len) {
method CheckLength (line 2185) | inline bool CheckLength() const { return op_ == op_limit_; }
method SetOutputPtr (line 2192) | void SetOutputPtr(char* op) { op_ = op; }
method Append (line 2194) | inline bool Append(const char* ip, size_t len, char** op_p) {
method TryFastAppend (line 2203) | inline bool TryFastAppend(const char* ip, size_t available, size_t len,
method SNAPPY_ATTRIBUTE_ALWAYS_INLINE (line 2217) | SNAPPY_ATTRIBUTE_ALWAYS_INLINE
method Produced (line 2238) | inline size_t Produced() const {
method Flush (line 2242) | inline void Flush() {}
method RawUncompress (line 2245) | bool RawUncompress(const char* compressed, size_t compressed_length,
method RawUncompress (line 2251) | bool RawUncompress(Source* compressed, char* uncompressed) {
method Uncompress (line 2256) | bool Uncompress(const char* compressed, size_t compressed_length,
class SnappyDecompressionValidator (line 2273) | class SnappyDecompressionValidator {
method SnappyDecompressionValidator (line 2279) | inline SnappyDecompressionValidator() : expected_(0), produced_(0) {}
method SetExpectedLength (line 2280) | inline void SetExpectedLength(size_t len) { expected_ = len; }
method GetOutputPtr (line 2281) | size_t GetOutputPtr() { return produced_; }
method GetBase (line 2282) | size_t GetBase(ptrdiff_t* op_limit_min_slop) {
method SetOutputPtr (line 2286) | void SetOutputPtr(size_t op) { produced_ = op; }
method CheckLength (line 2287) | inline bool CheckLength() const { return expected_ == produced_; }
method Append (line 2288) | inline bool Append(const char* ip, size_t len, size_t* produced) {
method TryFastAppend (line 2295) | inline bool TryFastAppend(const char* ip, size_t available, size_t l...
method AppendFromSelf (line 2305) | inline bool AppendFromSelf(size_t offset, size_t len, size_t* produc...
method Flush (line 2312) | inline void Flush() {}
method IsValidCompressedBuffer (line 2315) | bool IsValidCompressedBuffer(const char* compressed, size_t compressed...
method IsValidCompressed (line 2321) | bool IsValidCompressed(Source* compressed) {
method RawCompress (line 2326) | void RawCompress(const char* input, size_t input_length, char* compres...
method RawCompress (line 2332) | void RawCompress(const char* input, size_t input_length, char* compres...
method RawCompressFromIOVec (line 2342) | void RawCompressFromIOVec(const struct iovec* iov, size_t uncompressed...
method RawCompressFromIOVec (line 2348) | void RawCompressFromIOVec(const struct iovec* iov, size_t uncompressed...
method Compress (line 2359) | size_t Compress(const char* input, size_t input_length,
method Compress (line 2364) | size_t Compress(const char* input, size_t input_length, std::string* c...
method CompressFromIOVec (line 2376) | size_t CompressFromIOVec(const struct iovec* iov, size_t iov_cnt,
method CompressFromIOVec (line 2381) | size_t CompressFromIOVec(const struct iovec* iov, size_t iov_cnt,
class SnappyScatteredWriter (line 2408) | class SnappyScatteredWriter {
method Size (line 2428) | inline size_t Size() const { return full_size_ + (op_ptr_ - op_base_...
method SnappyScatteredWriter (line 2434) | inline explicit SnappyScatteredWriter(const Allocator& allocator)
method SetOutputPtr (line 2446) | void SetOutputPtr(char* op) { op_ptr_ = op; }
method SetExpectedLength (line 2448) | inline void SetExpectedLength(size_t len) {
method CheckLength (line 2453) | inline bool CheckLength() const { return Size() == expected_; }
method Produced (line 2456) | inline size_t Produced() const { return Size(); }
method Append (line 2458) | inline bool Append(const char* ip, size_t len, char** op_p) {
method TryFastAppend (line 2474) | inline bool TryFastAppend(const char* ip, size_t available, size_t l...
method AppendFromSelf (line 2489) | inline bool AppendFromSelf(size_t offset, size_t len, char** op_p) {
method Flush (line 2516) | inline void Flush() { allocator_.Flush(Produced()); }
class SnappySinkAllocator (line 2582) | class SnappySinkAllocator {
method SnappySinkAllocator (line 2584) | explicit SnappySinkAllocator(Sink* dest) : dest_(dest) {}
method Flush (line 2597) | void Flush(size_t size) {
type Datablock (line 2609) | struct Datablock {
method Datablock (line 2612) | Datablock(char* p, size_t s) : data(p), size(s) {}
method Deleter (line 2615) | static void Deleter(void* arg, const char* bytes, size_t size) {
method UncompressAsMuchAsPossible (line 2629) | size_t UncompressAsMuchAsPossible(Source* compressed, Sink* uncompress...
method Uncompress (line 2636) | bool Uncompress(Source* compressed, Sink* uncompressed) {
FILE: Plugin/Snappy/snappy.h
function namespace (line 49) | namespace snappy {
type iovec (line 114) | struct iovec
type iovec (line 116) | struct iovec
type iovec (line 169) | struct iovec
type iovec (line 171) | struct iovec
type iovec (line 199) | struct iovec
type iovec (line 209) | struct iovec
FILE: Plugin/Source/Decoder.h
function namespace (line 9) | namespace KlakHap
FILE: Plugin/Source/Demuxer.h
function namespace (line 12) | namespace KlakHap
FILE: Plugin/Source/KlakHap.cpp
function GetFakeBpp (line 31) | uint32_t GetFakeBpp(UnityRenderingExtTextureFormat format)
function TextureUpdateCallback (line 50) | void TextureUpdateCallback(int eventID, void* data)
function UnityPluginLoad (line 81) | void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API UnityPluginLoad(IUnityIn...
function UnityRenderingEventAndData (line 91) | UnityRenderingEventAndData UNITY_INTERFACE_EXPORT KlakHap_GetTextureUpda...
function ReadBuffer (line 100) | ReadBuffer UNITY_INTERFACE_EXPORT * KlakHap_CreateReadBuffer()
function Demuxer (line 114) | Demuxer UNITY_INTERFACE_EXPORT * KlakHap_OpenDemuxer(const char* filepath)
function Decoder (line 173) | Decoder UNITY_INTERFACE_EXPORT *KlakHap_CreateDecoder(int width, int hei...
FILE: Plugin/Source/ReadBuffer.h
function namespace (line 6) | namespace KlakHap
FILE: Plugin/Unity/IUnityGraphics.h
type UnityGfxRenderer (line 11) | typedef enum UnityGfxRenderer
type UnityGfxDeviceEventType (line 36) | typedef enum UnityGfxDeviceEventType
function UNITY_DECLARE_INTERFACE (line 47) | UNITY_DECLARE_INTERFACE(IUnityGraphics)
FILE: Plugin/Unity/IUnityInterface.h
type UnityInterfaceGUID (line 44) | struct UnityInterfaceGUID
type UnityInterfaceGUID (line 80) | typedef struct UnityInterfaceGUID UnityInterfaceGUID;
type IUnityInterface (line 151) | struct IUnityInterface
type IUnityInterface (line 155) | typedef void IUnityInterface;
type IUnityInterfaces (line 159) | struct IUnityInterfaces
type RenderSurfaceBase (line 204) | struct RenderSurfaceBase
type RenderSurfaceBase (line 205) | struct RenderSurfaceBase
type UnityTextureID (line 206) | typedef unsigned int UnityTextureID;
FILE: Plugin/Unity/IUnityRenderingExtensions.h
type UnityRenderingExtEventType (line 69) | typedef enum UnityRenderingExtEventType
type UnityRenderingExtCustomBlitCommands (line 93) | typedef enum UnityRenderingExtCustomBlitCommands
type UnityRenderingExtQueryType (line 105) | typedef enum UnityRenderingExtQueryType
type UnityRenderingExtTextureFormat (line 118) | typedef enum UnityRenderingExtTextureFormat
type UnityRenderingExtBeforeDrawCallParams (line 311) | typedef struct UnityRenderingExtBeforeDrawCallParams
type UnityRenderingExtCustomBlitParams (line 322) | typedef struct UnityRenderingExtCustomBlitParams
type UnityRenderingExtTextureUpdateParamsV1 (line 333) | typedef struct UnityRenderingExtTextureUpdateParamsV1
type UnityRenderingExtTextureUpdateParamsV1 (line 347) | typedef UnityRenderingExtTextureUpdateParamsV1 UnityRenderingExtTextureU...
type UnityRenderingExtTextureUpdateParamsV2 (line 351) | typedef struct UnityRenderingExtTextureUpdateParamsV2
Condensed preview — 187 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (629K chars).
[
{
"path": ".gitattributes",
"chars": 391,
"preview": "* -text\n\n*.cs text eol=lf diff=csharp\n*.shader text eol=lf\n*.cginc text eol=lf\n*.hlsl text eol=lf\n*.c"
},
{
"path": ".gitignore",
"chars": 456,
"preview": "# Windows\nThumbs.db\nDesktop.ini\n\n# macOS\n.DS_Store\n\n# Code Editors\n/.idea\n/.vscode\n/*.csproj\n/*.sln\n*.swp\n*.vcxproj.user"
},
{
"path": "AGENTS.md",
"chars": 194,
"preview": "This repository contains a UPM Unity package project. Refer to the following\ndocument for the workflow:\n\nhttps://raw.git"
},
{
"path": "Assets/Demo/Hap.mat",
"chars": 3944,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &-8186347925687542841\nMonoBehaviour:\n m_ObjectHideFlags: 11\n m_Cor"
},
{
"path": "Assets/Demo/Hap.mat.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: e127fa53264f341caab6ab276ff39b77\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/Hap.renderTexture",
"chars": 849,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!84 &8400000\nRenderTexture:\n m_ObjectHideFlags: 0\n m_CorrespondingSourc"
},
{
"path": "Assets/Demo/Hap.renderTexture.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: a4f22813f74e84455bd3d9e41d54ced6\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/HapAlpha.mat",
"chars": 3907,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!21 &2100000\nMaterial:\n serializedVersion: 8\n m_ObjectHideFlags: 0\n m_"
},
{
"path": "Assets/Demo/HapAlpha.mat.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: 6f1182baee9ac4863bd4c5ea5f7d536d\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/HapQ.mat",
"chars": 3778,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &-1545691033646063671\nMonoBehaviour:\n m_ObjectHideFlags: 11\n m_Cor"
},
{
"path": "Assets/Demo/HapQ.mat.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: f4060b9dfe1254ee9bb9d4fad7ae4ebd\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/Manifest.asset",
"chars": 1239,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Demo/Manifest.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: 3dac4bcd1e58c42f1b91f538480ebc79\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/ScriptingTest.cs",
"chars": 988,
"preview": "using UnityEngine;\nusing Klak.Hap;\n\npublic sealed class ScriptingTest : MonoBehaviour\n{\n [SerializeField] string _fil"
},
{
"path": "Assets/Demo/ScriptingTest.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: 2c91f3289fa694fe3ba2e1e6149477b8"
},
{
"path": "Assets/Demo/ScriptingTest.renderTexture",
"chars": 859,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!84 &8400000\nRenderTexture:\n m_ObjectHideFlags: 0\n m_CorrespondingSourc"
},
{
"path": "Assets/Demo/ScriptingTest.renderTexture.meta",
"chars": 188,
"preview": "fileFormatVersion: 2\nguid: 1bba849debc024a4f8251bd62cceac60\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/SeekBarBind.cs",
"chars": 561,
"preview": "using Unity.Properties;\nusing UnityEngine;\nusing UnityEngine.UIElements;\nusing Klak.Hap;\n\npublic sealed class SeekBarBin"
},
{
"path": "Assets/Demo/SeekBarBind.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: 538bb1d7707cb473f8493b44c63286cc"
},
{
"path": "Assets/Demo/UITK/DefaultTheme.tss",
"chars": 37,
"preview": "@import url(\"unity-theme://default\");"
},
{
"path": "Assets/Demo/UITK/DefaultTheme.tss.meta",
"chars": 336,
"preview": "fileFormatVersion: 2\nguid: affeaa67622c24c3991a769c52b9c780\nScriptedImporter:\n internalIDToNameTable: []\n externalObje"
},
{
"path": "Assets/Demo/UITK/Demo.uxml",
"chars": 754,
"preview": "<ui:UXML xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:ui=\"UnityEngine.UIElements\" xmlns:uie=\"UnityEditor."
},
{
"path": "Assets/Demo/UITK/Demo.uxml.meta",
"chars": 282,
"preview": "fileFormatVersion: 2\nguid: f9d1722b31b6d45a8b38e8167775d54d\nScriptedImporter:\n internalIDToNameTable: []\n externalObje"
},
{
"path": "Assets/Demo/UITK/PanelSettings.asset",
"chars": 1894,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Demo/UITK/PanelSettings.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: 217443c668dc34029b583fa73e5c4dfc\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/UITK.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 231a2176bf9354a2aaa754fd16e8e95e\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Demo/URP/DefaultRenderer.asset",
"chars": 1920,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Demo/URP/DefaultRenderer.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: e707f25f3295f48408bbc74cefc67e0d\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/URP/DefaultVolume.asset",
"chars": 20463,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &-8324776220157134924\nMonoBehaviour:\n m_ObjectHideFlags: 3\n m_Corr"
},
{
"path": "Assets/Demo/URP/DefaultVolume.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: dc9bac492fb764e719f43f6fff2d42aa\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/URP/GlobalSettings.asset",
"chars": 22317,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Demo/URP/GlobalSettings.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: a0e1abbc8745e464ab699ff4e71959f6\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/URP/URP.asset",
"chars": 4682,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n m_ObjectHideFlags: 0\n m_CorrespondingSou"
},
{
"path": "Assets/Demo/URP/URP.asset.meta",
"chars": 189,
"preview": "fileFormatVersion: 2\nguid: 0f2789a7f25c049d88040a322e46da7c\nNativeFormatImporter:\n externalObjects: {}\n mainObjectFile"
},
{
"path": "Assets/Demo/URP.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: dea8b7a5d656145a3aba10170830c74e\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Demo.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 2c79d8564f0c64a0684cb4e548733c30\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Demo.unity",
"chars": 25622,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!29 &1\nOcclusionCullingSettings:\n m_ObjectHideFlags: 0\n serializedVersi"
},
{
"path": "Assets/Demo.unity.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 9d1e54e0ecdcb476597522d5c402dcdb\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/000001.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: f71b7a4c945804f1ca842cff0c10b46d\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/000002.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: ff68e82d75fdf47d8a5ad6b9c5fc99d3\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/000003.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 0a2d50a92701046c4b2f72fb11f038b8\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/000004.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: ded47b6e71da14e1abb2ea48f2e60375\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/000005.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 6861db0b44d0d4e78b701b38376b62c3\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap/TestCards.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: e3addd278331242d6b95bb6990e5216f\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/Hap.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: c4ca400c14640478aaf9bc0cec9b12c7\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets/Tests/HapAlpha/000001.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 016f08f72c65549f69c9baa63b0e3ed0\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapAlpha/HapAlpha.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 9daa334d7e07e4a7092db093efe0efb8\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapAlpha.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 362186a70fcc54855bcddda1af9f0e90\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/000001.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 1c1d2bb1e597e432391ee23db4b75d75\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/000002.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 469568f79f88b49f593d58b043aab26c\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/000003.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 6f8073f45b28847209cec3fa77e89e29\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/000004.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 554c0617cfb824ddfa28f0ea0ae8869c\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/000005.png.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 44d4725e9db92447ca83e803922e54f3\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ/TestCards.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 4ab52f88a57a94f50946db395a7e32c6\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/HapQ.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 0a1a105c4ce2a40b28466bfc9f59f08f\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle24.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: d17c63c5f7293493ca0b65bfc71c7808\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle24000-1001.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 9b88a94eb79614c7b8be1396430b7fb9\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle25.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 20f5482d0639347b4b0d62b7f553d61a\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle30.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 04a711eb985854488a36cecaa629492c\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle30000-1001.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 5b06b773e4b22470b9572d25f575eb91\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle50.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 35a0a8d8451fe4dff943ae124f8fc02c\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle60.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 1103893dcc48f48cbbf5f4681f02ccb4\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle/RGBCycle60000-1001.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: 005f182f1b759493eadafadc1102eea9\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/RGBCycle.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: eaa1315fa4f1141c987260e3f3023bcf\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets/Tests/日本語/Test.mov.meta",
"chars": 155,
"preview": "fileFormatVersion: 2\nguid: a32999a4f135840ec9876594a54a0b6a\nDefaultImporter:\n externalObjects: {}\n userData: \n assetB"
},
{
"path": "Assets/StreamingAssets/Tests/日本語.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 7a8b3546c2bae4b729e75ccdedeab1d8\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets/Tests.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 026a9869dae424ee8b8609aa087fec1c\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/StreamingAssets.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: de35ded2fd399421a88ca973172cc856\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Tests/Runtime/HapAlphaPlaybackTest.cs",
"chars": 3697,
"preview": "using System.Collections;\nusing System.IO;\nusing Klak.Hap;\nusing NUnit.Framework;\nusing UnityEngine;\nusing UnityEngine.T"
},
{
"path": "Assets/Tests/Runtime/HapAlphaPlaybackTest.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: 836849b85f39e4f2eb69dc82dd0bf0fe"
},
{
"path": "Assets/Tests/Runtime/JapanesePathPlaybackTest.cs",
"chars": 1344,
"preview": "using System.Collections;\nusing Klak.Hap;\nusing NUnit.Framework;\nusing UnityEngine;\nusing UnityEngine.TestTools;\n\npublic"
},
{
"path": "Assets/Tests/Runtime/JapanesePathPlaybackTest.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: 0397f44a895774978874377ddf34f82c"
},
{
"path": "Assets/Tests/Runtime/Klak.Hap.Runtime.Tests.asmdef",
"chars": 413,
"preview": "{\n \"name\": \"Klak.Hap.Runtime.Tests\",\n \"rootNamespace\": \"\",\n \"references\": [\n \"Klak.Hap\",\n \"UnityE"
},
{
"path": "Assets/Tests/Runtime/Klak.Hap.Runtime.Tests.asmdef.meta",
"chars": 166,
"preview": "fileFormatVersion: 2\nguid: 1c2d58c8d70c843c7a4747274235802b\nAssemblyDefinitionImporter:\n externalObjects: {}\n userData"
},
{
"path": "Assets/Tests/Runtime/RgbCycleFrameMappingTest.cs",
"chars": 3647,
"preview": "using System.Collections;\nusing Klak.Hap;\nusing NUnit.Framework;\nusing UnityEngine;\nusing UnityEngine.TestTools;\n\npublic"
},
{
"path": "Assets/Tests/Runtime/RgbCycleFrameMappingTest.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: e48e4d437ac8346139c9ba9f277e7beb"
},
{
"path": "Assets/Tests/Runtime/TestCardsPlaybackTest.cs",
"chars": 5289,
"preview": "using System.Collections;\nusing System.IO;\nusing Klak.Hap;\nusing NUnit.Framework;\nusing UnityEngine;\nusing UnityEngine.T"
},
{
"path": "Assets/Tests/Runtime/TestCardsPlaybackTest.cs.meta",
"chars": 59,
"preview": "fileFormatVersion: 2\nguid: 501079e0a007c4c9686d841e0bcb0b60"
},
{
"path": "Assets/Tests/Runtime.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 6f2caeec0887b4dd5a03360e87b42af7\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Assets/Tests.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: c9392bf0e434b4e378744f7ed2695485\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "CHANGELOG.md",
"chars": 1177,
"preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Change"
},
{
"path": "LICENSE",
"chars": 11359,
"preview": "License summary:\n\nKlakHAP - MIT license\nHAP codec - FreeBSD license\nSnappy - BSD 3-clause license\nMP4 demuxer"
},
{
"path": "Packages/jp.keijiro.klak.hap/CHANGELOG.md",
"chars": 1177,
"preview": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Change"
},
{
"path": "Packages/jp.keijiro.klak.hap/CHANGELOG.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 1f2cacd9a85145aca9f81904d75ae53b\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/HapPlayerEditor.cs",
"chars": 4537,
"preview": "using UnityEngine;\nusing UnityEditor;\n\nnamespace Klak.Hap\n{\n [CanEditMultipleObjects]\n [CustomEditor(typeof(HapPla"
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/HapPlayerEditor.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 5afaabe3aee5cdb46a3846f74cc3a8a7\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/Klak.Hap.Editor.asmdef",
"chars": 345,
"preview": "{\n \"name\": \"Klak.Hap.Editor\",\n \"references\": [\n \"Klak.Hap\"\n ],\n \"optionalUnityReferences\": [],\n \"i"
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/Klak.Hap.Editor.asmdef.meta",
"chars": 166,
"preview": "fileFormatVersion: 2\nguid: 59c1346744fe3194291b617e412c56c4\nAssemblyDefinitionImporter:\n externalObjects: {}\n userData"
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/MaterialPropertySelector.cs",
"chars": 2780,
"preview": "using UnityEngine;\nusing UnityEngine.Rendering;\nusing UnityEditor;\nusing System;\nusing System.Collections.Generic;\n\nname"
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor/MaterialPropertySelector.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 8ab866082e30404428d5298d084cc13a\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Editor.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 2a6f023ffc242a743a38d13e6cae3b66\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/LICENSE",
"chars": 11359,
"preview": "License summary:\n\nKlakHAP - MIT license\nHAP codec - FreeBSD license\nSnappy - BSD 3-clause license\nMP4 demuxer"
},
{
"path": "Packages/jp.keijiro.klak.hap/LICENSE.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: ee05d860d6934052af1f4d5fb541a384\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/Linux/libKlakHap.so.meta",
"chars": 1608,
"preview": "fileFormatVersion: 2\nguid: aefd4aee030ec9a56930540080f31258\nPluginImporter:\n externalObjects: {}\n serializedVersion: 2"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/Linux.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 18114d790aea9f97e9b9f56ab458bc9d\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/MacOS/KlakHap.bundle.meta",
"chars": 1374,
"preview": "fileFormatVersion: 2\nguid: 68eb9c44d2cd647b8a246c85c2516a6c\nPluginImporter:\n externalObjects: {}\n serializedVersion: 2"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/MacOS.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: b3fc36a147f3a4fe19b3fe7371cfe554\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/Windows/KlakHap.dll.meta",
"chars": 1607,
"preview": "fileFormatVersion: 2\nguid: 3ab59e419166f214abf75fa29aac993e\nPluginImporter:\n externalObjects: {}\n serializedVersion: 2"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin/Windows.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: dc34545ab496569488b8cd56973907d2\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/Plugin.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 39f09b654953c8e45bc1d12d19cceaef\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/README.md",
"chars": 5754,
"preview": "# KlakHap\n\n\n\n**KlakHap** is a Unity plugin for playing back video streams encoded"
},
{
"path": "Packages/jp.keijiro.klak.hap/README.md.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 2a0b411fba8e4ef48cbb46596fdc2de8\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/Hap1.shader",
"chars": 1141,
"preview": "Shader \"Klak/HAP\"\n{\n Properties\n {\n _MainTex(\"Texture\", 2D) = \"white\" {}\n }\n\n CGINCLUDE\n\n #include"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/Hap1.shader.meta",
"chars": 204,
"preview": "fileFormatVersion: 2\nguid: e99f77a91d9883a4b890a1fc833b7158\nShaderImporter:\n externalObjects: {}\n defaultTextures: []\n"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/Hap5.shader",
"chars": 1241,
"preview": "Shader \"Klak/HAP Alpha\"\n{\n Properties\n {\n _MainTex(\"Texture\", 2D) = \"white\" {}\n }\n\n CGINCLUDE\n\n #i"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/Hap5.shader.meta",
"chars": 204,
"preview": "fileFormatVersion: 2\nguid: 2fc3460268e46c64695de0f674e4e320\nShaderImporter:\n externalObjects: {}\n defaultTextures: []\n"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/HapY.shader",
"chars": 1646,
"preview": "Shader \"Klak/HAP Q\"\n{\n Properties\n {\n _MainTex(\"Texture\", 2D) = \"white\" {}\n }\n\n CGINCLUDE\n\n #inclu"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources/HapY.shader.meta",
"chars": 204,
"preview": "fileFormatVersion: 2\nguid: c6a332340608cdd4f907eb4bc0c17f4a\nShaderImporter:\n externalObjects: {}\n defaultTextures: []\n"
},
{
"path": "Packages/jp.keijiro.klak.hap/Resources.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 1b69560a2379aa94b9fb309127d58020\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Common.cs",
"chars": 86,
"preview": "namespace Klak.Hap\n{\n public enum CodecType { Unsupported, Hap, HapQ, HapAlpha }\n}\n"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Common.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: ab49f28befbab1341821f02280a3199f\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/HapPlayer.cs",
"chars": 10346,
"preview": "using UnityEngine;\nusing UnityEngine.Playables;\n\n#if KLAKHAP_HAS_TIMELINE\nusing UnityEngine.Timeline;\n#endif\n\nnamespace "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/HapPlayer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: f3775962864755b43a790abf4d029c32\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Decoder.cs",
"chars": 3758,
"preview": "using System;\nusing System.Runtime.InteropServices;\nusing System.Threading;\n\nnamespace Klak.Hap\n{\n internal sealed cl"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Decoder.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 6a95a95ecf0e26740a6507fe3474b8f8\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Demuxer.cs",
"chars": 3060,
"preview": "using System;\nusing System.Runtime.InteropServices;\n\nnamespace Klak.Hap\n{\n internal sealed class Demuxer : IDisposabl"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Demuxer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 080b998a80cb20044adf8fa4a011a182\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/ReadBuffer.cs",
"chars": 1032,
"preview": "using System;\nusing System.Runtime.InteropServices;\n\nnamespace Klak.Hap\n{\n internal sealed class ReadBuffer : IDispos"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/ReadBuffer.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 4e6e9144df4395d4fbff558262502c67\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/StreamReader.cs",
"chars": 8647,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Runtime.InteropServices;\nusing System.Threading;\n\nnamespace"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/StreamReader.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 435d6c4db4ba1ea40b2289d7ef613a3c\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/TextureUpdater.cs",
"chars": 1804,
"preview": "using System;\nusing System.Runtime.InteropServices;\nusing UnityEngine;\nusing UnityEngine.Rendering;\n\nnamespace Klak.Hap\n"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/TextureUpdater.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: f9e27f5a05bda2e4eab2f548840a9fb1\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Utility.cs",
"chars": 1372,
"preview": "using UnityEngine;\n\nnamespace Klak.Hap\n{\n internal static class Utility\n {\n public static void Destroy(Obje"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal/Utility.cs.meta",
"chars": 243,
"preview": "fileFormatVersion: 2\nguid: 970c4e0f94959ac4b9b108dc1a34306e\nMonoImporter:\n externalObjects: {}\n serializedVersion: 2\n "
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Internal.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: d37984629e38a1c439a98815991ec09f\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Klak.Hap.asmdef",
"chars": 516,
"preview": "{\n \"name\": \"Klak.Hap\",\n \"references\": [\n \"GUID:f06555f75b070af458a003d92f9efb00\"\n ],\n \"includePlatfor"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime/Klak.Hap.asmdef.meta",
"chars": 166,
"preview": "fileFormatVersion: 2\nguid: 63ee2b3a69c095740bf1e4ff4d11f294\nAssemblyDefinitionImporter:\n externalObjects: {}\n userData"
},
{
"path": "Packages/jp.keijiro.klak.hap/Runtime.meta",
"chars": 172,
"preview": "fileFormatVersion: 2\nguid: 2d10b798fb99ee94981f7dbf19d8d6a9\nfolderAsset: yes\nDefaultImporter:\n externalObjects: {}\n us"
},
{
"path": "Packages/jp.keijiro.klak.hap/package.json",
"chars": 1009,
"preview": "{\n \"name\": \"jp.keijiro.klak.hap\",\n \"version\": \"1.0.0\",\n \"displayName\": \"KlakHAP\",\n \"description\": \"HAP video player\""
},
{
"path": "Packages/jp.keijiro.klak.hap/package.json.meta",
"chars": 158,
"preview": "fileFormatVersion: 2\nguid: 251c3b05c5e2c694da8fe8fe9b07eb5c\nTextScriptImporter:\n externalObjects: {}\n userData: \n ass"
},
{
"path": "Packages/manifest.json",
"chars": 487,
"preview": "{\n \"dependencies\": {\n \"com.unity.inputsystem\": \"1.18.0\",\n \"com.unity.render-pipelines.universal\": \"17.3.0\",\n \""
},
{
"path": "Packages/packages-lock.json",
"chars": 6580,
"preview": "{\n \"dependencies\": {\n \"com.unity.burst\": {\n \"version\": \"1.8.27\",\n \"depth\": 2,\n \"source\": \"registry\",\n"
},
{
"path": "Plugin/Common.mk",
"chars": 1909,
"preview": "#\n# File listings\n#\n\nPRODUCT = KlakHap\n\nSRCS_C = Hap/hap.c MP4/mp4demux.c\nvpath %.c Hap MP4\n\nSRCS_CC = Snappy/snappy-c.c"
},
{
"path": "Plugin/Hap/hap.c",
"chars": 41909,
"preview": "/*\n hap.c\n \n Copyright (c) 2011-2013, Tom Butterworth and Vidvox LLC. All rights reserved.\n \n Redistribution and use in "
},
{
"path": "Plugin/Hap/hap.h",
"chars": 6880,
"preview": "/*\n hap.h\n \n Copyright (c) 2011-2013, Tom Butterworth and Vidvox LLC. All rights reserved.\n \n Redistribution and use in "
},
{
"path": "Plugin/MP4/mp4defs.h",
"chars": 12891,
"preview": "/** 25.09.2018 @file\n*\n* Common MP4 definitions\n*\n* Acronyms:\n* AVC = Advanced Video Coding (AKA H.264)\n* "
},
{
"path": "Plugin/MP4/mp4demux.c",
"chars": 39942,
"preview": "/** 20.09.2009 ASP @file\n*\n*/\n\n#include \"mp4demux.h\"\n#include <stdlib.h>\n#include <string.h>\n#include <assert.h>\n#includ"
},
{
"path": "Plugin/MP4/mp4demux.h",
"chars": 9056,
"preview": "/** 20.09.2009 @file\n* ISO MP4 file parsing\n*\n* Portability note: this module uses:\n* - Dynamic memory allocation "
},
{
"path": "Plugin/Makefile.linux",
"chars": 208,
"preview": "PLATFORM = Linux\nARCH = x86_64\nTARGET_TYPE = so\n\nCFLAGS = -fPIC -ffunction-sections -fdata-sections\nCXXFLAGS = -fPIC -ff"
},
{
"path": "Plugin/Makefile.macos",
"chars": 222,
"preview": "PLATFORM = macOS\nTARGET_TYPE = dylib\n\nSDK_MIN_VER = 11.0\nARCH_OPT = -arch $(ARCH) -mmacosx-version-min=$(SDK_MIN_VER)\n\nC"
},
{
"path": "Plugin/Makefile.windows",
"chars": 245,
"preview": "PLATFORM = Windows\nARCH = x86_64\nTARGET_TYPE = dll\n\nTOOLCHAIN = $(ARCH)-w64-mingw32\nCC = $(TOOLCHAIN)-gcc-posix\nCXX = $("
},
{
"path": "Plugin/Snappy/snappy-c.cc",
"chars": 3637,
"preview": "// Copyright 2011 Martin Gieseking <martin.gieseking@uos.de>.\n//\n// Redistribution and use in source and binary forms, w"
},
{
"path": "Plugin/Snappy/snappy-c.h",
"chars": 5414,
"preview": "/*\n * Copyright 2011 Martin Gieseking <martin.gieseking@uos.de>.\n *\n * Redistribution and use in source and binary forms"
},
{
"path": "Plugin/Snappy/snappy-internal.h",
"chars": 17349,
"preview": "// Copyright 2008 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy-sinksource.cc",
"chars": 3748,
"preview": "// Copyright 2011 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy-sinksource.h",
"chars": 7265,
"preview": "// Copyright 2011 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy-stubs-internal.cc",
"chars": 1834,
"preview": "// Copyright 2011 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy-stubs-internal.h",
"chars": 17513,
"preview": "// Copyright 2011 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy-stubs-public.h",
"chars": 2924,
"preview": "// Copyright 2011 Google Inc. All Rights Reserved.\n// Author: sesse@google.com (Steinar H. Gunderson)\n//\n// Redistributi"
},
{
"path": "Plugin/Snappy/snappy.cc",
"chars": 101493,
"preview": "// Copyright 2005 Google Inc. All Rights Reserved.\n//\n// Redistribution and use in source and binary forms, with or with"
},
{
"path": "Plugin/Snappy/snappy.h",
"chars": 12567,
"preview": "// Copyright 2005 and onwards Google Inc.\n//\n// Redistribution and use in source and binary forms, with or without\n// mo"
},
{
"path": "Plugin/Source/Decoder.h",
"chars": 2159,
"preview": "#pragma once\n\n#include <stdint.h>\n#include <mutex>\n#include <vector>\n#include \"ReadBuffer.h\"\n#include \"hap.h\"\n\nnamespace"
},
{
"path": "Plugin/Source/Demuxer.h",
"chars": 2656,
"preview": "#pragma once\n\n#include <stdint.h>\n#include <cstring>\n#include \"mp4demux.h\"\n#include \"ReadBuffer.h\"\n\n#ifdef _WIN32\n#inclu"
},
{
"path": "Plugin/Source/KlakHap.cpp",
"chars": 6107,
"preview": "#include <unordered_map>\n#include \"Decoder.h\"\n#include \"Demuxer.h\"\n#include \"ReadBuffer.h\"\n#include \"IUnityRenderingExte"
},
{
"path": "Plugin/Source/ReadBuffer.h",
"chars": 148,
"preview": "#pragma once\n\n#include <stdint.h>\n#include <vector>\n\nnamespace KlakHap\n{\n struct ReadBuffer\n {\n std::vector"
},
{
"path": "Plugin/Unity/IUnityGraphics.h",
"chars": 3571,
"preview": "// Unity Native Plugin API copyright © 2015 Unity Technologies ApS\n//\n// Licensed under the Unity Companion License for "
},
{
"path": "Plugin/Unity/IUnityInterface.h",
"chars": 8985,
"preview": "// Unity Native Plugin API copyright © 2015 Unity Technologies ApS\n//\n// Licensed under the Unity Companion License for "
},
{
"path": "Plugin/Unity/IUnityRenderingExtensions.h",
"chars": 19051,
"preview": "// Unity Native Plugin API copyright © 2015 Unity Technologies ApS\n//\n// Licensed under the Unity Companion License for "
},
{
"path": "Plugin/build.macos.sh",
"chars": 464,
"preview": "#!/bin/sh\nset -exuo pipefail\n\nRPATH_FLAGS=\"-install_name @rpath/KlakHap.bundle\"\nVER_FLAGS=\"-current_version 1.0.0 -compa"
},
{
"path": "ProjectSettings/AudioManager.asset",
"chars": 523,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!11 &1\nAudioManager:\n m_ObjectHideFlags: 0\n serializedVersion: 2\n m_Vo"
},
{
"path": "ProjectSettings/ClusterInputManager.asset",
"chars": 114,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!236 &1\nClusterInputManager:\n m_ObjectHideFlags: 0\n m_Inputs: []\n"
},
{
"path": "ProjectSettings/DynamicsManager.asset",
"chars": 1518,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!55 &1\nPhysicsManager:\n m_ObjectHideFlags: 0\n serializedVersion: 22\n m"
},
{
"path": "ProjectSettings/EditorBuildSettings.asset",
"chars": 190,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1045 &1\nEditorBuildSettings:\n m_ObjectHideFlags: 0\n serializedVersion:"
},
{
"path": "ProjectSettings/EditorSettings.asset",
"chars": 1603,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!159 &1\nEditorSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 15\n "
},
{
"path": "ProjectSettings/GraphicsSettings.asset",
"chars": 2615,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!30 &1\nGraphicsSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 16\n "
},
{
"path": "ProjectSettings/InputManager.asset",
"chars": 5816,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!13 &1\nInputManager:\n m_ObjectHideFlags: 0\n serializedVersion: 2\n m_Ax"
},
{
"path": "ProjectSettings/MemorySettings.asset",
"chars": 1192,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!387306366 &1\nMemorySettings:\n m_ObjectHideFlags: 0\n m_EditorMemorySett"
},
{
"path": "ProjectSettings/MultiplayerManager.asset",
"chars": 232,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!655991488 &1\nMultiplayerManager:\n m_ObjectHideFlags: 0\n m_EnableMultip"
},
{
"path": "ProjectSettings/NavMeshAreas.asset",
"chars": 1361,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!126 &1\nNavMeshProjectSettings:\n m_ObjectHideFlags: 0\n serializedVersio"
},
{
"path": "ProjectSettings/PackageManagerSettings.asset",
"chars": 1383,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 53\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/Packages/com.unity.dedicated-server/MultiplayerRolesSettings.asset",
"chars": 540,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 53\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/Physics2DSettings.asset",
"chars": 1862,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!19 &1\nPhysics2DSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 11\n"
},
{
"path": "ProjectSettings/PresetManager.asset",
"chars": 146,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1386491679 &1\nPresetManager:\n m_ObjectHideFlags: 0\n serializedVersion:"
},
{
"path": "ProjectSettings/ProjectSettings.asset",
"chars": 22151,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!129 &1\nPlayerSettings:\n m_ObjectHideFlags: 0\n serializedVersion: 28\n "
},
{
"path": "ProjectSettings/ProjectVersion.txt",
"chars": 83,
"preview": "m_EditorVersion: 6000.3.6f1\nm_EditorVersionWithRevision: 6000.3.6f1 (bbb010bdb8a3)\n"
},
{
"path": "ProjectSettings/QualitySettings.asset",
"chars": 2101,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!47 &1\nQualitySettings:\n m_ObjectHideFlags: 0\n serializedVersion: 5\n m"
},
{
"path": "ProjectSettings/SceneTemplateSettings.json",
"chars": 3535,
"preview": "{\n \"templatePinStates\": [],\n \"dependencyTypeInfos\": [\n {\n \"userAdded\": false,\n \"type\""
},
{
"path": "ProjectSettings/ShaderGraphSettings.asset",
"chars": 633,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 53\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/TagManager.asset",
"chars": 411,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!78 &1\nTagManager:\n serializedVersion: 3\n tags: []\n layers:\n - Defaul"
},
{
"path": "ProjectSettings/TimeManager.asset",
"chars": 305,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!5 &1\nTimeManager:\n m_ObjectHideFlags: 0\n serializedVersion: 2\n Fixed "
},
{
"path": "ProjectSettings/URPProjectSettings.asset",
"chars": 557,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &1\nMonoBehaviour:\n m_ObjectHideFlags: 61\n m_CorrespondingSourceObj"
},
{
"path": "ProjectSettings/UnityConnectSettings.asset",
"chars": 1063,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!310 &1\nUnityConnectSettings:\n m_ObjectHideFlags: 0\n serializedVersion:"
},
{
"path": "ProjectSettings/VFXManager.asset",
"chars": 525,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!937362698 &1\nVFXManager:\n m_ObjectHideFlags: 0\n m_IndirectShader: {fil"
},
{
"path": "ProjectSettings/VersionControlSettings.asset",
"chars": 172,
"preview": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!890905787 &1\nVersionControlSettings:\n m_ObjectHideFlags: 0\n m_Mode: Vi"
},
{
"path": "README.md",
"chars": 5754,
"preview": "# KlakHap\n\n\n\n**KlakHap** is a Unity plugin for playing back video streams encoded"
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the keijiro/KlakHap GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 187 files (582.0 KB), approximately 174.5k tokens, and a symbol index with 313 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.