mirror of
https://github.com/mixandjam/Splatoon-Ink.git
synced 2026-03-22 09:45:44 -05:00
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using UnityEngine;
|
|
|
|
public class Paintable : MonoBehaviour {
|
|
const int TEXTURE_SIZE = 1024;
|
|
|
|
public float extendsIslandOffset = 1;
|
|
|
|
RenderTexture extendIslandsRenderTexture;
|
|
RenderTexture uvIslandsRenderTexture;
|
|
RenderTexture maskRenderTexture;
|
|
RenderTexture supportTexture;
|
|
|
|
Renderer rend;
|
|
|
|
int maskTextureID = Shader.PropertyToID("_MaskTexture");
|
|
|
|
public RenderTexture getMask() => maskRenderTexture;
|
|
public RenderTexture getUVIslands() => uvIslandsRenderTexture;
|
|
public RenderTexture getExtend() => extendIslandsRenderTexture;
|
|
public RenderTexture getSupport() => supportTexture;
|
|
public Renderer getRenderer() => rend;
|
|
|
|
void Start() {
|
|
maskRenderTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
maskRenderTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
extendIslandsRenderTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
extendIslandsRenderTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
uvIslandsRenderTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
uvIslandsRenderTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
supportTexture = new RenderTexture(TEXTURE_SIZE, TEXTURE_SIZE, 0);
|
|
supportTexture.filterMode = FilterMode.Bilinear;
|
|
|
|
rend = GetComponent<Renderer>();
|
|
rend.material.SetTexture(maskTextureID, extendIslandsRenderTexture);
|
|
|
|
PaintManager.instance.initTextures(this);
|
|
}
|
|
|
|
void OnDisable(){
|
|
maskRenderTexture.Release();
|
|
uvIslandsRenderTexture.Release();
|
|
extendIslandsRenderTexture.Release();
|
|
supportTexture.Release();
|
|
}
|
|
} |