In this recipe, we take a mixed approach to tag vertices with a given odor particle that collides with it.
The vertices should have a broad collider attached so that they catch the odor particles nearby.
Add the following member variable to the odor-particle script to store its parent ID:
public int parent;
Create the new odor-enabled class, deriving from the original vertex:
using UnityEngine; using System.Collections; using System.Collections.Generic; public class VertexOdour : Vertex { private Dictionary<int, OdourParticle> odourDic; }
Initialize the odor dictionary in the proper function:
public void Start() { odourDic = new Dictionary<int, OdourParticle>(); }
Add the odor to the vertex's dictionary:
public void OnCollisionEnter(Collision coll) { OdourOdourParticle op; op = coll.gameObject.GetComponent<OdourParticle>(); if (op == null) return; int id = op.parent; odourDic...