using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AlignToNormal : MonoBehaviour {
public float angle = 0f; //you can use this to tweak the angle
// Distance along the normal direction
float distance = 0f;
void Update()
{
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.down), out hit, 1000))
{
Vector3 normal = hit.normal;
Quaternion q1 = Quaternion.AngleAxis(angle, normal);
Quaternion q2 = Quaternion.FromToRotation(Vector3.up, normal);
Quaternion quat = q1 * q2;
transform.position = hit.point;
transform.rotation = quat;
}
}
}