Texture Source
TextureSource is a utility that provides a consistent API to get the texture from various sources.
Example API Usage
using TextureSource;
using UnityEngine;
[RequireComponent(typeof(VirtualTextureSource))]
public class TextureSourceSample: MonoBehaviour
{
private void Start()
{
if (TryGetComponent(out VirtualTextureSource source))
{
source.OnTexture.AddListener(OnTexture);
}
}
private void OnDestroy()
{
if (TryGetComponent(out VirtualTextureSource source))
{
source.OnTexture.RemoveListener(OnTexture);
}
}
public void OnTexture(Texture texture)
{
}
}
Install via UPM
Add the following setting to Packages/manifest.json
{
"scopedRegistries": [
{
"name": "npm",
"url": "https://registry.npmjs.com",
"scopes": [
"com.github.asus4"
]
}
],
"dependencies": {
"com.github.asus4.texture-source": "0.2.2",
...
}
}
How To Use
After installing the library, attach VirtualTextureSource
to the GameObject.
Then, right-click on the project panel and create the TextureSource scriptable object that you want to use. You can set different sources for the Editor and Runtime.
Currently provides the following sources:
WebCam Texture Source
Includes collecting device rotation.
Video Texture Source
Useful when using test videos only in the Editor.
AR Foundation Texture Source
Provides AR camera texture access. It supports both ARCore/ARKit.
Acknowledgement
Inspired from TestTools
License
MIT