untiy射线和自动路径

2023-10-31 22:32
文章标签 路径 自动 射线 untiy

本文主要是介绍untiy射线和自动路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        我们今天学习了,unity的射线和自动寻径,先说一下射线吧。


1.射线


        先从unity的软件里建立个球体和正方体,然后拖到视图工程栏,给它们加入刚体,然后在scripts文件夹中建立脚本命名为Ray,然后在脚本后台中别写代码如下:

给一个形状体加入一条射线,拖拽形状体是射线不断加长

Ray ray=new Ray Cvector3.zero,transform.position);

RaycastHit hit;

physics.Raycast(ray,out hit,100)

Debug.DrawLine (ray.origin,hit.point);

   在从一个Scripts文件夹中建个脚本,命名为BeanText,然后在里面进行代码编写,使鼠标控制键,点到哪走到哪,代码如下:

Ray ray=Camera.main.screenpoint ToRay(Input.mouse position);

RaycastHit hit;

If(physics.Raycast  cary,out hit,100)){

Gameobject.Instantiate()

}

声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

2.自动路径


        现在大部分mmo游戏都有自动寻路功能,点击场景上一个位置,角色就会自动寻路过去,中间可能有很多很多种实现方式。

我们要实现一个功能:点击场景的一个位置,角色可以自动寻径过去,角色会绕过各种复杂障碍,找到一条理论上“最短路径”

   给巨魔添加自动寻径

1.创建地形;

2.添加角色;

3.创建多个障碍物,尽量摆的复杂一点,来检查Navmesh的可用性和效率;

4..选中地形,在Navigation窗口中,设置Navigation窗口中,设置Navigation Static;

5.一次选中障碍物,在avigation窗口中,设置Navigation Static

6.Navigation窗口中,选择Bake按钮,进程场景烘培,就可以烘培出寻路网格了;

7.为角色添加NavMeshAgent组件。Component->Navigation->Nav Mesh Agent;

8.为角色新增一个脚本PlayerController.cs,实现点击目标,自动寻路功能;



这篇关于untiy射线和自动路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318591

相关文章

hdu2544(单源最短路径)

模板题: //题意:求1到n的最短路径,模板题#include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#i

poj 1734 (floyd求最小环并打印路径)

题意: 求图中的一个最小环,并打印路径。 解析: ans 保存最小环长度。 一直wa,最后终于找到原因,inf开太大爆掉了。。。 虽然0x3f3f3f3f用memset好用,但是还是有局限性。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#incl

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR

图的最短路径算法——《啊哈!算法》

图的实现方式 邻接矩阵法 int[][] map;// 图的邻接矩阵存储法map = new int[5][5];map[0] = new int[] {0, 1, 2, 3, 4};map[1] = new int[] {1, 0, 2, 6, 4};map[2] = new int[] {2, 999, 0, 3, 999};map[3] = new int[] {3, 7

vcpkg子包路径批量获取

获取vcpkg 子包的路径,并拼接为set(CMAKE_PREFIX_PATH “拼接路径” ) import osdef find_directories_with_subdirs(root_dir):# 构建根目录下的 "packages" 文件夹路径root_packages_dir = os.path.join(root_dir, "packages")# 如果 "packages"

Shell脚本实现自动登录服务器

1.登录脚本 login_server.sh #!/bin/bash# ReferenceLink:https://yq.aliyun.com/articles/516347#show all host infos of serverList.txtif [[ -f ./serverList.txt ]]thenhostNum=`cat ./serverList.txt | wc -l`e

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env