Unity学习part3

此为b站视频【【Unity教程】零基础带你从小白到超神】 https://www.bilibili.com/video/BV1gQ4y1e7SS/?p=55&share_source=copy_web&vd_source=6e7a3cbb802eb986578ad26fae1eeaab的笔记

1、反向动力学

打开ik处理

public class PlayerMoveController : MonoBehaviour
{
    public Transform target;
    private Animator animator;
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        //水平轴
        float horizontal = Input.GetAxis("Horizontal");
        //垂直轴
        float vertical = Input.GetAxis("Vertical");
        //向量
        Vector3 dir = new Vector3(horizontal,0, vertical);

        //当用户按下方向键
        if (dir != Vector3.zero)
        {
            //面向向量
            transform.rotation = Quaternion.LookRotation(dir);
            //播放跑步动画
            animator.SetBool("isRun", true);
            //朝向前方移动
            transform.Translate(Vector3.forward * 2 * Time.deltaTime);
        }
        else {
            //播放站立动画
            animator.SetBool("isRun", false);
        }

        //随时获取test参数并打印出来
        //Debug.Log(animator.GetFloat("Test"));
    }

    void leftfoot()
    {
        //可以在这边播放音效或者添加特效
        Debug.Log("左脚");
    }

    void rightfoot()
    {
        Debug.Log("右脚");
    }

    //Ik写到这个方法
    private void OnAnimatorIK(int layerIndex)
    {
        //设置头部IK
        animator.SetLookAtWeight(1);
        animator.SetLookAtPosition(target.position);
        //设置右手IK
        animator.SetIKPositionWeight(AvatarIKGoal.RightHand,1);
        //旋转权重
        animator.SetIKPositionWeight(AvatarIKGoal.RightHand, 1);
        //设置右手IK
        animator.SetIKPosition(AvatarIKGoal.RightHand, target.position);
        animator.SetIKRotation(AvatarIKGoal.RightHand, target.rotation);
    }
}

 2、unity导航组件

用于寻路。unity 2022需要窗口-包管理器-Unity注册表-AI Navigation-安装。安装后,菜单栏选择Window-AI-Navigation(Obsolete)-Object标签下,有Navigation Static勾选,下面就和up视频中一样了(弹幕),添加组件之后点击bake获取烘焙结果

玩家需要添加nav mesh agent组件 ,代理类型可以添加不同体型半径高度的体积

public class AgentMove : MonoBehaviour
{
    private NavMeshAgent agent;
    // Start is called before the first frame update
    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
    }

    // Update is called once per frame
    void Update()
    {
        //如果按下鼠标
        if (Input.GetMouseButtonDown(0)) { 
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                //点击位置
                Vector3 point = hit.point;
                agent.SetDestination(point);
            }
        }
    }
}

动态障碍物,勾选切割之后会动态的重新计算导航地图。移动阈值是指移动多少时会重新开始计算导航地图。静止时间是指障碍物在移动时即使到达移动阈值任不会重新计算导航地图,而是要等待障碍物停止移动后多少秒才重新开始计算。取消仅在静止时切割的话,障碍物移动时导航地图实时计算,消耗高

 

相关导航因为版本更新需查询其他内容 

nav mesh agent的区域遮罩可以和区域成本结合起来,让玩家选择性的无法通过某个区域

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/970360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring session、spring security和redis整合的简单使用

在上一篇**spring session搭配redis的简单使用**文章中&#xff0c;我们简单的使用了spring session和redis&#xff0c;实现了session的外部化存储&#xff0c;下面我们结合spring security进一步体验这三者的搭配。 首先新增spring-boot-starter-security依赖 <!--实现sp…

在 CentOS 上更改 SSH 默认端口以提升服务器安全性

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

传输层协议TCP ( 下 )

文章目录 前言序号与确认序号超时重传RTOJacobson算法内核中超时时间的计算 滑动窗口滑动窗口延迟应答流量控制 拥塞控制慢启动拥塞避免快重传快速恢复 保活机制参考资料 前言 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是互联网最重要…

C#打印设计器

C# 打印设计器&#xff0c;功能强大却操作简单&#xff0c;小白也能快速上手&#xff01; 主要功能&#xff1a; 支持多种设计元素&#xff1a; 文字、图片、图形、二维码、条形码等&#xff0c;满足您多样化的设计需求。 灵活排版&#xff0c;精准定位&#xff1a; 支持拖拽…

【指令集】Nginx

本文作者&#xff1a; slience_me 【指令集】Nginx 1. 目录结构 Nginx 的基础目录结构通常包括以下几个主要目录&#xff1a; Nginx的目录结构大致如下&#xff08;以Linux系统为例&#xff09;&#xff1a; /etc/nginx/ # Nginx的配置文件目录 ├── ngin…

硬件开发笔记(三十四):AHD转MIPI国产方案详解XS9922B(一):芯片方案介绍

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/145651548 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

Python的那些事第二十一篇:Python Web开发的“秘密武器”Flask

基于 Flask 框架的 Python Web 开发研究 摘要 在 Web 开发的江湖里,Python 是一位武林高手,而 Flask 则是它手中那把小巧却锋利的匕首。本文以 Flask 框架为核心,深入探讨了它在 Python Web 开发中的应用。通过幽默风趣的笔触,结合实例和表格,分析了 Flask 的特性、优势以…

如何从0开始做一款AI产品(下)

上篇文章介绍了如何打造教育AI软硬协同型AI产品&#xff0c;本篇文章主要介绍打造客服AI型产品和打造新零售AI的产品。 打造客服AI的产品 传统的客服时代&#xff0c;客服工作重复性高&#xff0c;技术含量低&#xff0c;呼出效率低&#xff0c;客服水平参差不齐。并且管理难度…

无人机不等同轴旋翼架构设计应用探究

“结果显示&#xff0c;对于不等组合&#xff0c;用户应将较小的螺旋桨置于上游以提高能效&#xff0c;但若追求最大推力&#xff0c;则两个相等的螺旋桨更为理想。” 在近期的研究《不等同轴旋翼性能特性探究》中&#xff0c;Max Miles和Stephen D. Prior博士深入探讨了不同螺…

python包的管理

管理python包 python能跻身最欢迎编程语言前列的一个主要原因是python有着活跃的社区提供丰富的包&#xff0c;诸如numpy&#xff0c;pandas&#xff0c;scikit-learn等等。 python的包都存放PyPI中&#xff0c;PyPI即Python Package Index&#xff0c;是python的软件仓库。所…

探索C语言中判断字符串循环移位关系的实现

在C语言的字符串处理中&#xff0c;判断两个字符串是否为循环移位关系是一个有趣且实用的问题。今天&#xff0c;我们就通过一段具体的代码来深入探讨这个问题的解决方案。 代码实现 代码逐行解析 预处理指令和头文件包含 #define _CRT_SECURE_NO_WARNINGS 用于禁用一些与安全…

【推理llm论文精度】DeepSeek-R1:强化学习驱动LLM推理能力飞跃

最近deepseek R1模型大火&#xff0c;正好复习一下他家的技惊四座的论文https://arxiv.org/pdf/2501.12948 近年来&#xff0c;大型语言模型&#xff08;LLM&#xff09;在推理能力上取得了显著进展&#xff0c;但如何进一步有效提升仍然是研究热点。DeepSeek-AI发布了 DeepS…

硬件学习笔记--42 电磁兼容试验-6 传导差模电流干扰试验介绍

目录 电磁兼容试验-传导差模电流试验 1.试验目的 2.试验方法 3.判定依据及意义 电磁兼容试验-传导差模电流干扰试验 驻留时间是在规定频率下影响量施加的持续时间。被试设备&#xff08;EUT&#xff09;在经受扫频频带的电磁影响量或电磁干扰的情况下&#xff0c;在每个步进…

【Java学习】类和对象

目录 一、选择取块解 二、类变量 三、似复刻变量 四、类变量的指向对象 五、变量的解引用访问 1.new 类变量(参) 2.this(参) 3.类变量/似复刻变量. 六、代码块 七、复制变量的赋值顺序 八、访问限定符 1.private 2.default 九、导类 一、选择取块解 解引用都有可以…

I.MX6ull-I2C

一,I2C总线介绍 I2C(Inter-Integrated Circuit 集成电路)总线是Philips公司在八十年代初推出的一种串行、半双工的总 线&#xff0c;主要用于近距离、低速的芯片之间的通信&#xff1b;I2C总线有两根双向的信号线&#xff0c;一根数据线SDA用于收 发数据&#xff0c;一根时钟线…

从插入排序到希尔排序

从插入排序到希尔排序 插入排序 原理 插入排序是一种简单直观的排序算法&#xff0c;其基本思想是通过将每个元素逐个插入到已排序的部分中&#xff0c;逐步构建一个有序序列。 操作步骤 初始化&#xff1a;将第 1 个元素视为已经有序的部分&#xff08;初始时长度为 1&#xf…

AcWing——3624. 三值字符串

双指针解法 #include<iostream> #include<unordered_map> using namespace std; int main() {int n; cin >> n;while(n--){unordered_map<char, int> tree;string s; cin >> s;int ans 0x7fffffff; for(int i 0, j 0; j < (int)s.size();…

【Vue3源码解析】响应式原理

源码环境搭建 【Vue3源码解析】应用实例创建及页面渲染-CSDN博客 写文章时的Vue 版本&#xff1a; "version": "3.5.13",针对单个包进行开发环境打包、测试。 pnpm run dev reactivityreactive 创建响应式对象 packages/reactivity/src/reactive.ts …

刷题记录(回顾)HOT100 二叉树-10: ​199. 二叉树的右视图

题目&#xff1a;199. 二叉树的右视图 难度&#xff1a;中等 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左 子树 只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左…

书籍推荐:《书法课》林曦

记得樊登老师说过&#xff0c;如果你想了解一个事物&#xff0c;就去读5本相关的书&#xff0c;你会比大部分人都更了解它。这是我读的第4本和“书法”有关的书&#xff0c;作为一个零基础的成年人&#xff0c;林曦这本《书法课》非常值得一读。&#xff08;无论你是否写字&…