Teil I – Volumenoberfläche
In dieser Episode bauen wir einen Shader mit Shadergraph, der uns in die Lage versetzt das Volumen eines virtuellen Körpers mit den eigenen, virtuellen, Händen, zu erfahren.
Teil II – Partikelsystem fürs Volumen
In dieser Episode arbeiten wir mit dem Partikelsystem von Unity, das uns in die Lage versetzt das Volumen eines virtuellen Körpers mit den eigenen, virtuellen, Händen, zu erfahren.
using System.Collections; using System.Collections.Generic; using UnityEngine; public class particle_behave : MonoBehaviour { public ParticleSystem particleEmitter; ParticleSystem.Particle[] particles; Vector3[] opos; public Transform tpos; public float cforce = .1f; void LateUpdate() { InitializeIfNeeded(); int numps = particleEmitter.GetParticles(particles); for (int i = 0; i < numps; i++) { Vector3 diff = tpos.position - particles[i].position; particles[i].velocity += diff *cforce; } particleEmitter.SetParticles(particles, numps); } void InitializeIfNeeded() { if (particleEmitter == null) particleEmitter = GetComponent<ParticleSystem>(); if (particles == null || particles.Length < particleEmitter.main.maxParticles){ particles = new ParticleSystem.Particle[ particleEmitter.main.maxParticles ]; opos = new Vector3[particleEmitter.main.maxParticles]; } } }