From 4849ade4786cccac7e54e61af3d2456d0c409e0d Mon Sep 17 00:00:00 2001 From: smitdylan2001 Date: Tue, 23 May 2023 17:32:12 +0200 Subject: [PATCH] Removed job system code Removed code related to the job system, to support manual installation --- Assets/Scripts/MeshJobs.cs | 28 -------- Assets/Scripts/MeshJobs.cs.meta | 11 --- Assets/Scripts/MeshManager.cs | 116 +++----------------------------- Packages/manifest.json | 2 - Packages/packages-lock.json | 34 ---------- 5 files changed, 8 insertions(+), 183 deletions(-) delete mode 100644 Assets/Scripts/MeshJobs.cs delete mode 100644 Assets/Scripts/MeshJobs.cs.meta diff --git a/Assets/Scripts/MeshJobs.cs b/Assets/Scripts/MeshJobs.cs deleted file mode 100644 index 13ac31b..0000000 --- a/Assets/Scripts/MeshJobs.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using Unity.Jobs; -using Unity.Burst; -using Unity.Collections; -using UnityEngine; -using Unity.Mathematics; - -[BurstCompile] -public struct DeformMeshJob : IJobParallelFor -{ - [ReadOnly] public NativeArray OriginalVertices; - [ReadOnly] public float3 RipplePosition; - [ReadOnly] public float SineTime; - - [WriteOnly] public NativeArray NewVertices; - - public void Execute(int index) - { - float3 originalVertex = OriginalVertices[index]; - float distance = math.distance(originalVertex, RipplePosition); - float rippleAmount = math.sin(distance - SineTime); - float3 offset = math.normalize(originalVertex - RipplePosition) * rippleAmount; - float3 newPos = originalVertex + offset; - - NewVertices[index] = newPos; - } -} diff --git a/Assets/Scripts/MeshJobs.cs.meta b/Assets/Scripts/MeshJobs.cs.meta deleted file mode 100644 index a3c00e6..0000000 --- a/Assets/Scripts/MeshJobs.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 975d25b65e4a767439fffbcf1a5fc679 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/MeshManager.cs b/Assets/Scripts/MeshManager.cs index 4981eb8..1224c0b 100644 --- a/Assets/Scripts/MeshManager.cs +++ b/Assets/Scripts/MeshManager.cs @@ -1,39 +1,16 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Data; -using Unity.Collections; -using Unity.Jobs; -using Unity.Mathematics; using UnityEngine; [RequireComponent(typeof(MeshFilter))] public class MeshManager : MonoBehaviour { - enum MeshUpdateState - { - Normal, - Jobified, - JobifiedAsyncLateUpdate, - JobifiedAsyncNextUpdate, - } - //General [SerializeField] Vector3 rippleOrigin; - [SerializeField] MeshUpdateState updateState; Mesh mesh; //Regular Vector3[] verticesArray, newVerticesArray; - //Jobified - NativeArray verticesNativeArray, newVerticesNativeArray; - DeformMeshJob deformJob; - JobHandle deformJobHandle; - - bool canUpdate; - private void Start() { //Setup general data @@ -42,97 +19,20 @@ private void Start() //Setup regular deform data verticesArray = mesh.vertices; newVerticesArray = new Vector3[mesh.vertexCount]; - - //Setup jobified data - verticesNativeArray = new NativeArray(mesh.vertexCount, Allocator.Persistent); - newVerticesNativeArray = new NativeArray(mesh.vertexCount, Allocator.Persistent); - using (var dataArray = Mesh.AcquireReadOnlyMeshData(mesh)) - { - dataArray[0].GetVertices(verticesNativeArray.Reinterpret()); - } } private void Update() { - switch (updateState) + for (int i = 0; i < verticesArray.Length; i++) { - case MeshUpdateState.Normal: - - for (int i = 0; i < verticesArray.Length; i++) - { - Vector3 originalVertex = verticesArray[i]; - float distance = Vector3.Distance(originalVertex, rippleOrigin); - float rippleAmount = Mathf.Sin(distance - Time.time); - Vector3 offset = (originalVertex - rippleOrigin).normalized * rippleAmount; - Vector3 newPos = originalVertex + offset; - - newVerticesArray[i] = newPos; - } - mesh.SetVertices(newVerticesArray); - - break; - case MeshUpdateState.Jobified: - - deformJob = new DeformMeshJob() - { - OriginalVertices = verticesNativeArray, - RipplePosition = rippleOrigin, - SineTime = Time.time, - - NewVertices = newVerticesNativeArray, - }; - deformJobHandle = deformJob.Schedule(verticesNativeArray.Length, 64); - UpdateMesh(); - - break; - case MeshUpdateState.JobifiedAsyncLateUpdate: - - deformJob = new DeformMeshJob() - { - OriginalVertices = verticesNativeArray, - RipplePosition = rippleOrigin, - SineTime = Time.time, + Vector3 originalVertex = verticesArray[i]; + float distance = Vector3.Distance(originalVertex, rippleOrigin); + float rippleAmount = Mathf.Sin(distance - Time.time); + Vector3 offset = (originalVertex - rippleOrigin).normalized * rippleAmount; + Vector3 newPos = originalVertex + offset; - NewVertices = newVerticesNativeArray, - }; - deformJobHandle = deformJob.Schedule(verticesNativeArray.Length, 64); - JobHandle.ScheduleBatchedJobs(); - - break; - case MeshUpdateState.JobifiedAsyncNextUpdate: - - if(canUpdate) UpdateMesh(); - - deformJob = new DeformMeshJob() - { - OriginalVertices = verticesNativeArray, - RipplePosition = rippleOrigin, - SineTime = Time.time, - - NewVertices = newVerticesNativeArray, - }; - deformJobHandle = deformJob.Schedule(verticesNativeArray.Length, 64); - JobHandle.ScheduleBatchedJobs(); - canUpdate = true; - break; + newVerticesArray[i] = newPos; } - } - - private void LateUpdate() - { - if(updateState == MeshUpdateState.JobifiedAsyncLateUpdate) UpdateMesh(); - } - - private void OnApplicationQuit() - { - if(verticesNativeArray.IsCreated) verticesNativeArray.Dispose(); - if(newVerticesNativeArray.IsCreated) newVerticesNativeArray.Dispose(); - } - - private void UpdateMesh() - { - deformJobHandle.Complete(); - - mesh.SetVertices(deformJob.NewVertices); + mesh.SetVertices(newVerticesArray); } } diff --git a/Packages/manifest.json b/Packages/manifest.json index 4051297..567a8ec 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,7 +1,5 @@ { "dependencies": { - "com.unity.burst": "1.8.4", - "com.unity.collections": "1.4.0", "com.unity.ide.rider": "3.0.21", "com.unity.ide.visualstudio": "2.0.18", "com.unity.ide.vscode": "1.2.5", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 229dfe4..e87fcf5 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,25 +1,5 @@ { "dependencies": { - "com.unity.burst": { - "version": "1.8.4", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.mathematics": "1.2.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.collections": { - "version": "1.4.0", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.6.6", - "com.unity.nuget.mono-cecil": "1.11.4", - "com.unity.test-framework": "1.1.31" - }, - "url": "https://packages.unity.com" - }, "com.unity.ext.nunit": { "version": "1.0.6", "depth": 1, @@ -52,20 +32,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.mathematics": { - "version": "1.2.6", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.nuget.mono-cecil": { - "version": "1.11.4", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.test-framework": { "version": "1.1.31", "depth": 1,