- Home /
Question by
JulySellanes · Apr 12, 2018 at 01:53 AM ·
proceduralrandom.rangegenerationcubesinstantiating
Procedural Generation Instantiating GameObjects
Hi, Im creating a script that do when the player walk, it going instantiating cubes in differents positions, but never in the same place
Someone can help me? Or recommend me any tutorial?
But I dont want a procedural generation with mesh, just instantiating gameobjects
Comment
Answer by FabDynamic · Apr 12, 2018 at 02:11 AM
This might help. This is a script I wrote last fall which generates balls in a random location within a sphere. With just a little bit of adaptation I hope you can get it working for your purposes as well!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BallGenerator : MonoBehaviour {
public GameObject ballPrefab;
public Transform startPoint;
public Transform endPoint;
Vector3 tempVector = Vector3.zero;
Vector3 randomStartPoint = Vector3.zero;
Vector3 randomEndPoint = Vector3.zero;
[ContextMenu ("GenerateBall()")]
public void GenerateBall () {
randomStartPoint = GenerateRandomPointFrom (startPoint.position);
randomEndPoint = GenerateRandomPointFrom (endPoint.position);
GameObject go = GameObject.Instantiate (ballPrefab, randomStartPoint, Quaternion.identity);
Transform newTransform = new GameObject ().transform;
newTransform.position = randomStartPoint;
go.GetComponent<AnimationCurveBall> ().startPoint = newTransform;
newTransform = new GameObject ().transform;
newTransform.position = randomEndPoint;
go.GetComponent<AnimationCurveBall> ().endPoint = newTransform;
}
private Vector3 GenerateRandomPointFrom(Vector3 source) {
tempVector = Random.insideUnitSphere;
tempVector = tempVector * 30f;
return source + tempVector;
}
}
I hope it helps!