alors pour le principe, je veux pouvoir 'acheter' une 'membrane' et qu'elle se positionne par rapports aux autres. Le top serait de le faire pendant le start.
le deuxième truc top serait d'éviter aussi les 'chevauchements' pendant l'update mais j'ai bien peur que ça devienne vite trop gourmand.
pour l'idée :
pour l'instant je n'y parviens pas dans le start et fais tout dans l'update comme ceci :
Code : Tout sélectionner
// Debug Position X Y.
foreach (GameObject otherMembrane in objectsManager.Membranes.ToArray())
{
if (otherMembrane == gameObject)
return;
// Check Distance.
Vector3 distance = otherMembrane.transform.position - transform.position;
// Assign Wanted Distance.
float wantedDistance = transform.localScale.x + otherMembrane.transform.localScale.x;
// Assign Position.
if (distance.sqrMagnitude < wantedDistance * wantedDistance)
{
Vector3 randomPoint = Random.insideUnitCircle.normalized * (wantedDistance);
transform.position = new Vector3(randomPoint.x + distanceIncrementer, randomPoint.y, transform.position.z);
// Increment distance.
distanceIncrementer++;
}
}
A partir de la 6 ou 7 ème membrane en scène je commence à sérieusement ramer...
quelqu'un aurait une idée magique pour moi?! ^^