怎么让unity3d中的物体垂直于地面、平行于地面

 时间:2026-02-14 09:01:26

1、在地形斜坡的位置创建一个Cube立方体。

怎么让unity3d中的物体垂直于地面、平行于地面

2、给Cube添加Rigidbody刚体组件。

怎么让unity3d中的物体垂直于地面、平行于地面

3、选择Terrain地形,设置里面的LayerTerrain

怎么让unity3d中的物体垂直于地面、平行于地面

4、接着我们给Cube添加一个Vertical_ter脚本。

怎么让unity3d中的物体垂直于地面、平行于地面

5、在脚本中的update方法中创建第三变量hitRmask获得地形mask,Point _dir射线方向为物体down方向。

怎么让unity3d中的物体垂直于地面、平行于地面

6、然后判断当射线hit到底面,获得这个点的法向hit.normal,接着可以计算出垂直于地面后的状态NextRot,最后通过MovRotation进行旋转。

RaycastHit hit;

int Rmask = LayerMask.GetMask ("Terrain");

Vector3 Point_dir = transform.TransformDirection(Vector3.down);

if (Physics.Raycast(transform.position, Point_dir, out hit, 50.0f,Rmask)) {

Quaternion NextRot=Quaternion.LookRotation(Vector3.Cross(hit.normal,Vector3.Cross(transform.forward,hit.normal)),hit.normal);

GetComponent<Rigidbody>().MoveRotation(Quaternion.Lerp(transform.rotation,NextRot,0.1f));

}

怎么让unity3d中的物体垂直于地面、平行于地面

7、现在我运行场景,发现立方体会垂直与斜坡了,底面与地面平行了。

怎么让unity3d中的物体垂直于地面、平行于地面

  • AfterEffects怎样设置Shine
  • Unity如何在场景中添加场景
  • 使用axure的动态面板做导航效果
  • 图片的百叶窗转场效果怎么制作
  • Unity创建地形并设置地形纹理
  • 热门搜索
    北京旅游人才网 新星小学的学生去旅游 合肥市旅游局 国外旅游推荐 越南旅游要带多少钱 中信旅游总公司 河南旅游局官网 去哪儿玩旅游网 中国式旅游 51you旅游网