Remove tree associated scripts & data from content folder

This commit is contained in:
Lucien
2026-08-31 13:42:37 +02:00
parent 3a4a673a17
commit a43f882978
9 changed files with 0 additions and 344 deletions
-8
View File
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 17fb461fd5fee6f43ab36d97484f46f7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,17 +0,0 @@
%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: 84c706bc73fc93344972b30d598a0b81, type: 3}
m_Name: DefaultDitherFade
m_EditorClassIdentifier:
verticalOffset: 0.75
cameraDistanceRange: {x: 1, y: 35}
hideRadiusRange: {x: 0.92, y: 0.42}
@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: cddf83aa7585c1a4a8a34e8383f52f44
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
-127
View File
@@ -1,127 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace Toria.Game
{
[RequireComponent(typeof(CapsuleCollider))]
public class DitherFade : MonoBehaviour
{
public DitherFadeSettings settings;
public List<Renderer> targetRenderers;
public bool makeShadowClones = true;
[NonSerialized]
List<Material> fadeMaterials;
static RPGController player = null;
static new Camera camera = null;
[NonSerialized]
bool shouldHide = false;
void Start()
{
fadeMaterials = new List<Material>();
foreach (Renderer renderer in targetRenderers)
{
if (makeShadowClones)
MakeShadowClone(renderer);
Material[] mats = renderer.sharedMaterials.Select(m => Instantiate(m)).ToArray();
renderer.sharedMaterials = mats;
fadeMaterials.AddRange(mats);
}
//TEMPORARY before finding a better solution for raycasts to ignore tree (whether or not entities)
if (GetComponentInParent<EntityData>())
return;
foreach (Collider collider in GetComponentsInChildren<Collider>())
collider.gameObject.layer = LayerMask.NameToLayer("Ignore Raycast");
}
void MakeShadowClone(Renderer renderer)
{
if (!renderer.TryGetComponent(out MeshFilter filter))
return;
GameObject shadowClone = new GameObject("Shadow clone");
shadowClone.transform.SetParent(renderer.transform);
shadowClone.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity);
shadowClone.transform.localScale = Vector3.one;
MeshRenderer shadowRenderer = shadowClone.AddComponent<MeshRenderer>();
MeshFilter shadowFilter = shadowClone.AddComponent<MeshFilter>();
shadowRenderer.sharedMaterials = renderer.sharedMaterials;
shadowRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.ShadowsOnly;
shadowFilter.sharedMesh = filter.sharedMesh;
foreach (Component comp in shadowClone.GetComponents<Component>())
{
if (comp is not MeshRenderer && comp is not MeshFilter && comp is not Transform)
Destroy(comp);
}
renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
}
void Update()
{
if (!player)
player = FindAnyObjectByType<RPGController>();
if (shouldHide)
{
Vector2 viewPortPoint = camera.WorldToViewportPoint(player.transform.position + Vector3.up * settings.verticalOffset);
float hideRadius = settings.GetHideRadius(player.transform, camera.transform);
foreach (Material mat in fadeMaterials)
{
mat.SetVector("_PlayerPosition", viewPortPoint);
mat.SetFloat("_HideRadius", hideRadius);
}
}
if (!camera)
camera = Camera.main;
if (!player || !camera)
return;
Vector3 playerPos = player.transform.position + Vector3.up;
Vector3 cameraPos = camera.transform.position;
Vector3 rayDir = (playerPos - cameraPos).normalized;
//move back the origin point so the raycast doesn't start from within a tree collider
RaycastHit[] hits = Physics.RaycastAll(cameraPos + rayDir * -100f, rayDir, float.PositiveInfinity, 1 << gameObject.layer, QueryTriggerInteraction.Collide);
for (int i = 0; i < hits.Length; i++)
{
if (hits[i].collider.gameObject == gameObject)
{
SetCutoutEnabled(true);
return;
}
}
SetCutoutEnabled(false);
}
void SetCutoutEnabled(bool enabled)
{
if (shouldHide == enabled)
return;
shouldHide = enabled;
foreach (Material mat in fadeMaterials)
mat.SetFloat("_ShouldHide", enabled ? 1 : 0);
}
}
}
@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 2dcaa5393f14a8846841c6152807c45c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences:
- settings: {fileID: 11400000, guid: cddf83aa7585c1a4a8a34e8383f52f44, type: 2}
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -1,18 +0,0 @@
using UnityEngine;
namespace Toria.Game
{
[CreateAssetMenu(menuName = "Toria/VFX/DitherFadeSettings")]
public class DitherFadeSettings : ScriptableObject
{
public float verticalOffset;
public Vector2 cameraDistanceRange;
public Vector2 hideRadiusRange;
public float GetHideRadius(Transform player, Transform camera)
{
float normalizedDist = Mathf.InverseLerp(cameraDistanceRange.x, cameraDistanceRange.y, Vector3.Distance(player.position, camera.position));
return Mathf.Lerp(hideRadiusRange.x, hideRadiusRange.y, normalizedDist);
}
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 84c706bc73fc93344972b30d598a0b81
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
-132
View File
@@ -1,132 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.Rendering;
[RequireComponent(typeof(CapsuleCollider))]
public class LeavesHiding : MonoBehaviour
{
public Material invisibleMaterial;
Dictionary<MeshRenderer, (Material[], Material[])> matLists = new Dictionary<MeshRenderer, (Material[], Material[])>();
HashSet<MeshRenderer> singleMatLeavesMeshes = new HashSet<MeshRenderer>();
static RPGController player = null;
static new Camera camera = null;
static int ignoreRaycastLayer = -1;
private void Awake()
{
if (ignoreRaycastLayer == -1)
ignoreRaycastLayer = LayerMask.NameToLayer("Ignore Raycast");
}
void Start()
{
foreach (Collider collider in GetComponents<Collider>())
collider.isTrigger = true;
LODGroup lodGroup = GetComponentInChildren<LODGroup>();
foreach (MeshRenderer renderer in GetComponentsInChildren<MeshRenderer>(true))
{
MeshRenderer newRenderer = Instantiate(renderer.gameObject, renderer.transform.parent, true).GetComponent<MeshRenderer>();
newRenderer.shadowCastingMode = ShadowCastingMode.ShadowsOnly;
renderer.shadowCastingMode = ShadowCastingMode.Off;
if (!lodGroup)
continue;
LOD[] lods = lodGroup.GetLODs();
for (int i = 0; i < lods.Length; i++)
{
if (lods[i].renderers.Any(r => r == renderer))
lods[i].renderers = lods[i].renderers.Append(newRenderer).ToArray();
}
lodGroup.SetLODs(lods);
}
foreach (MeshRenderer renderer in GetComponentsInChildren<MeshRenderer>(true))
{
Material[] rendererSharedMats = renderer.sharedMaterials;
Material[] leavelessMats = new Material[rendererSharedMats.Length];
if (renderer.shadowCastingMode == ShadowCastingMode.ShadowsOnly)
continue;
bool didReplace = false;
for (int i = 0; i < rendererSharedMats.Length; i++)
{
if (rendererSharedMats[i].name.Contains("leaves", StringComparison.InvariantCultureIgnoreCase))
{
leavelessMats[i] = invisibleMaterial;
didReplace = true;
}
else
leavelessMats[i] = rendererSharedMats[i];
}
if (!didReplace)
continue;
matLists.Add(renderer, (rendererSharedMats, leavelessMats));
}
}
void Update()
{
if (!player)
player = FindAnyObjectByType<RPGController>();
if (!camera)
camera = Camera.main;
if (!player || !camera)
return;
if (gameObject.layer != ignoreRaycastLayer)
gameObject.layer = ignoreRaycastLayer;
Vector3 playerPos = player.transform.position + Vector3.up;
Vector3 cameraPos = camera.transform.position;
Vector3 rayDir = (playerPos - cameraPos).normalized;
RaycastHit[] hits = Physics.RaycastAll(cameraPos, rayDir, float.PositiveInfinity, 1 << gameObject.layer, QueryTriggerInteraction.Collide);
for (int i = 0; i < hits.Length; i++)
{
if (hits[i].collider.gameObject == gameObject)
{
SetLeavesVisible(false);
return;
}
}
SetLeavesVisible(true);
}
/*
void OnTriggerEnter(Collider other)
{
if (other.GetComponent<RPGController>() || other.GetComponentInParent<RPGController>())
SetLeavesVisible(false);
}
void OnTriggerExit(Collider other)
{
if (other.GetComponent<RPGController>() || other.GetComponentInParent<RPGController>())
SetLeavesVisible(true);
}
*/
void SetLeavesVisible(bool visible)
{
foreach (MeshRenderer renderer in matLists.Keys)
renderer.sharedMaterials = visible ? matLists[renderer].Item1 : matLists[renderer].Item2;
}
}
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 2e55b45b8852c8b40823a47ea17a097a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: