如何通过统一的C#脚本将游戏对象完美地放置在网格上?
摘要: 我有一个有岩石网格的游戏对象。但是,网格的底部是空心且丑陋的。我想把它放在一个看起来像小山的网格上,这样玩家就看不到游戏物体丑陋而神圣的底部 我有一个脚本,使用光线投射来放置岩石。光线投射位于网格上方。当我向下光线投射时,我在看起来像山的网格上得到一个矢量3。我把那块石头放在那一点上,我就能看到它的底部了!如何避免使用C代码 这是我的全部问题: 如何: 旋转和移动一个游戏对象,它有一个“网格”作为它的组件,这样它就可以“完美地”位于另一个网格上,而不会通过c#脚本看到游戏对象的底部 现在看起来怎么样 我想要达到的目标如何通过统一的C#脚本将游戏对象完美地放置在网格上?,c#,unity3d,rotation,mesh,calculation,C#,Unity3d,Rotation,Mesh,Calculation,摘要: 我有一个有岩石网格的游戏对象。但是,网格的底部是空心且丑陋的。我想把它放在一个看起来像小山的网格上,这样玩家就看不到游戏物体丑陋而神圣的底部 我有一个脚本,使用光线投射来放置岩石。光线投射位于网格上方。当我向下光线投射时,我在看起来像山的网格上得到一个矢量3。我把那块石头放在那一点上,我就能看到它的底部了!如何避免使用C代码 这是我的全部问题: 如何: 旋转和移动一个游戏对象,它有一个“网格”作为它的组件,这样它就可以“完美地”位于另一个网格上,而不会通过c#脚本看到游戏对象的底部 现在
感谢您的任何帮助下面是一段代码,它使用光线投射命中的法线值旋转岩石网格 法线是顶点之间网格几何体向外(垂直)的向量: 如果将此脚本放置在岩石网格上,它将告诉岩石网格其向上向量与光线投射点所在的法线相同
using UnityEngine;
public class StickToTerrain : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit terrainHit))
{
transform.up = terrainHit.normal;
}
}
}
}
下面是一段代码,它使用光线投射命中的法线值旋转岩石网格 法线是顶点之间网格几何体向外(垂直)的向量: 如果将此脚本放置在岩石网格上,它将告诉岩石网格其向上向量与光线投射点所在的法线相同
using UnityEngine;
public class StickToTerrain : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit terrainHit))
{
transform.up = terrainHit.normal;
}
}
}
}
谢谢您的帮助!很乐意帮忙。:)祝你好运谢谢你的帮助!很乐意帮忙。:)祝你好运