当前位置: 首页 > news >正文

Unity记录2.2-动作-动画、相机、Debug与总结

文章首发及后续更新:https://mwhls.top/4453.html,无图/无目录/格式错误/更多相关请至首发页查看。
新的更新内容请到mwhls.top查看。
欢迎提出任何疑问及批评,非常感谢!

汇总:Unity 记录

摘要:重写了动画触发的状态,首次使用用 Debug 解决了一些问题。

参考课程:超新Unity课程用Unity+C#制作2D游戏快速入门到实战课程2D实战课程

目录
动画连接-2023/02/16
动画状态重写-2023/02/16-2023/02/17
摄像机-2023/02/18
Debug-2023/02/18
掉落时无法二段跳-2023/02/18
结束语-2023/02/23

动画连接-2023/02/16

  • 动画连接还是比较简单的,执行各动作的时候同时改变对应动画即可。
    • 不过还需要单独为站立也设置动作。
  • 但有个不足,跳跃动画很奇怪。

动画状态重写-2023/02/16-2023/02/17

  • 用原来通过动作触发的状态改变有点不方便。
    • 所以我把状态检测重写了一遍,都放到了 PlayerAnimation 里面,刚好这个类代码太空。
  • 重写之后有新增了一些状态,现在是:
    • 站立
    • 移动
    • 跳跃
    • 蹬墙跳
    • 上浮
    • 浮空
    • 下落
    • 滑墙
  • 写了几遍,最终状态切换效果不错,挺流程的,看得出来是什么状态
  • 此外,我多写了一个速度变量,替换原来的用输入判断,改为用实际速度判断。
    • 有个好处,可以判断上浮下浮。
    • 另外一个没想到的好处,
    • 撞墙之后,虽然不会进去,但是位置会向墙内移动,再向墙外移动,
      • 这个让我之前的跳跃判断一直出问题,最后换了一种方式绕过的。
    • 这种撞墙后向反方向的速度,不会改变实际位置,但是能让我的角色检测到该转头了
      • 也就是撞墙之后自动朝向无墙的一侧,暂时看来是一个很棒的特性。
      • 而且可能的潜在问题(角色无法贴着墙的同时面朝墙)也可以解决,通过撞墙后的两次反向短位移实现面朝墙。
    • 第二天又改掉了,加上了输入速度判定作为前置,感觉虽然撞墙反身很好,但是对操作不友好。
  • 为了解决由偏移带来的滑墙时方向错误,我为零比较添加了一个阈值。

摄像机-2023/02/18

  • 这部分挺简单的,创建一下 2D 相机,然后跟随角色就行。

Debug-2023/02/18

  • 参考:VS Code里使用Debugger for Unity插件调试的方法(2023最新版)
  • 参考这篇修改 launch.json,打开 Unity Editor 时启用 VSCode 调试即可。

掉落时无法二段跳-2023/02/18

  • 发现从高处直接落到低处时,即便没有跳跃过,也无法使用跳跃。
  • 测试发现是跳跃点恢复是在 check 函数的中部,落地时无法进到恢复中。
  • 重写逻辑,将技能点恢复全部移动至 update 中,check 仅用于判断与消耗技能点。
    • 消耗技能点也可以剥离,但是没必要,因为是在最后一个条件里,通过必定消耗技能点。

结束语-2023/02/23

  • 昨天测试时发现动画又有点小问题,出现了不应该的蹬墙跳反向速度。
    • 考虑到看教程的时候发现代码还有可以优化的地方,之后估计还有很多这样的事情发生,所以暂时不改,问题不大。
    • 等我觉得差不多的时候,这些前期的代码大概率是要重写,换一种更合适的架构。
    • 重写之前我应该会准备好代码的框架。
  • 从日志时间就能看出,最近非常务正业,实验进展可观,但又多了新比赛。
    • 生活真充实。
    • 我决定了,要给游戏加私货,名字就叫作者的私货,让大家也感受一下我的生活有多充实。
  • 我想起来我为什么最近不打游戏了。
    • 我的泰拉瑞亚 bug 有点严重,进度事件需要自己手动刷怪,不然事件第一波的怪清完后消失了。
    • 最开始只是哥布林入侵,前几天来了海盗入侵,也这样,不想打了,累,建筑也懒的建。
    • 不如自己做个,做个几年总能出个自己喜欢的。
    • 其它游戏也不想玩,XGP 买了之后就打过吸血鬼幸存者,几分钟就不玩了,但是推荐手机版的,我快刷满了,这玩意就是该手机玩。
  • 因为作为阶段的末尾,用吐槽作为标题不太好,所以今日份的标题是结束语。

相关文章:

Unity记录2.2-动作-动画、相机、Debug与总结

文章首发及后续更新:https://mwhls.top/4453.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 汇总:Unity 记录 摘要:重写了动画触…...

分享十个前端Web3D可视化框架附地址

Three.js:Three.js是一个流行的3D库,提供了大量的3D功能,包括基本几何形状、材质、灯光、动画、特效等。它是一个功能强大、易于使用的框架,广泛用于Web3D可视化应用程序的开发。Three.js:https://threejs.org/Babylon…...

基于WSL2和Clion搭建Win下C开发环境

系列文章目录 一、基于WSL2和Clion搭建Win下C开发环境 二、make、makeFile、CMake、CMakeLists的使用 三、全面、详细、通俗易懂的C语言语法和标准库 文章目录系列文章目录前言WSL2安装WSL常用命令VSCode连接WSLroot密码以systemd启动配置sshClion结语前言 Win下C语言开发环境…...

考研第一天,汤家凤基础班,连续与极限复习笔记

函数连续极限性质保号性证明极值点:夹逼准则二项式展开根号下,大于一,小于一的讨论直接放缩求和分子分母齐次,且分母大一次,用积分单调有界存在极限几个重要的切线放缩证明有界,然后放缩求单调证明有界&…...

聊一聊代码重构——关于变量的代码实践

提炼变量 其目标是将一个复杂表达式或语句分解成更小的部分,并将其存储在变量中。提高代码可读性和复用性 复杂的表达式 有些时候为了方便我们会把业务处理的逻辑写在一起,如果参与处理的内容较多时我们就会创造出一个非常长且难以理解的表达式。当其他…...

Spring之基于注解方式实例化BeanDefinition(1)

最近开始读Spring源码,读着读着发现里面还是有很多很好玩的东西在里面的,里面涉及到了大量的设计模式以及各种PostProcessor注入的过程,很好玩,也很复杂,本文就是记录一下我学习过程中的主干流程。 在开始我们源码解读…...

【STM32】入门(十四):FreeRTOS-任务

1、简述 FreeRTOS应用程序由一组独立的任务构成。 在任何时间点,应用程序中只能执行一个任务,FreeRTOS调度器负责决定所要执行的任务。 每个任务在自己的上下文中执行,不依赖于系统内的其他任务或 FreeRTOS的调度器本身。 FreeRTOS调度器负责…...

apscheduler 的基本介绍和使用

APScheduler有四大组件: 1、触发器 triggers : 触发器包含调度逻辑。每个作业都有自己的触发器,用于确定下一个任务何时运行。除了初始配置之外,触发器是完全无状态的。 有三种内建的trigger: (1)date: 特定…...

Oracle中merge Into的用法

Oracle中merge Into的用法 使用场景 在操作数据库时,数据存在的情况下,进行update操作;不存在的情况下,进行insert操作;在Oracle数据库中,能够使用merge into来实现。 基本语法 merge into table_name …...

JDK19下载、安装与测试的完整图文教程

一、下载JDK 1、官网获取:https://www.oracle.com/ 1.1 点击“Products”; 1.2 选择“Java”; 1.3 选择“Download Java”; 1.4 选择“Java downloads”,这里以最新版(JDK19)为例&#xff…...

Vector - CAPL - 获取相对时间函数

在自动化开发中,无论是CAN通信测试,还是网络管理测试,亦或是休眠唤醒等等存在时间相关的,都可能会使用相关的时间函数;今天主要介绍的就是获取当前时间,我们知道vector工具的最大优势就是稳定和精确度高&am…...

C++编程语言STL之unordered_map介绍

本文主要介绍 C 编程语言的 STL(Standard Template Library) 中 unordered_map 的相关知识,同时通过示例代码介绍 unordered_map 的常见用法。1 概述C标准库提供了四个无序关联容器(unordered associated container)&a…...

【独家】华为OD机试 - 最快检测效率-核酸(C 语言解题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

【Redis应用】基于Redis实现共享session登录(一)

🚗Redis应用学习第一站~ 🚩本文已收录至专栏:数据库学习之旅 👍希望您能有所收获 👉相关推荐:使用短信服务发送手机验证码进行安全校验 一.引入 ​ 在开发项目过程中,我们常常能碰到需要登录注…...

Android framework系列2 - Init进程

1、源码 入口:system/core/init/main.cpp2 流程图 https://note.youdao.com/s/EtnCswft 3、代码详解 主入口共三步,如流程图所示,我们主要看下最后一步 入口在init.cpp下,这个阶段主要来解析init.rc并执行此文件下的命令 看到…...

2023年“网络安全”赛项江苏省淮安市选拔赛 任务书

任务书 一、竞赛时间 共计3小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段单兵模式系统渗透测试 任务一 服务器内部信息获取 任务二 网站渗透测试 任务三 Linux系统渗透提权 任务四 Web渗透测试 第二阶段分组对抗 备战阶段 攻防对抗准备工作 系统加…...

2023年Wireshark数据包分析——wireshark0051.pcap

Wireshark数据包分析 任务环境说明: 服务器场景:FTPServer220223服务器场景操作系统:未知(关闭连接)FTP用户名:wireshark0051密码:wireshark0051从靶机服务器的FTP上下载wireshark0051.pcap数据包文件,找出黑客获取到的可成功登录目标服务器FTP的账号密码,并将黑客获…...

SpringMVC的自定义配置和自动化配置

SpringBoot的自动配置MVC处理加载逻辑基于Spring Boot的MVC自动化配置由WebMvcAutoConfiguration类完成,部分关键源码:AutoConfiguration(after { DispatcherServletAutoConfiguration.class, TaskExecutionAutoConfiguration.class,ValidationAutoConf…...

画图说透 ZooKeeper如何保证数据一致性:选举和ZAB协议

1、zookeeper是什么? zookeeper能被各个牛逼的中间件项目中所依赖,已经说明了他的地位。一出手就是稳定的杀招。zookeeper是什么?官网中所说,zookeeper致力于开发和维护成为一个高度可靠的分布式协调器。 开局一张图,…...

错误异常捕获

1、React中错误异常捕获 在 React 中,可以通过 Error Boundaries(错误边界)来捕获错误异常。Error Boundaries 是一种 React 组件,它可以在其子组件树的渲染期间捕获 JavaScript 异常,并且可以渲染出备用 UI。React 提…...

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

深入解析 ReentrantLock:原理、公平锁与非公平锁的较量

ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...

[C++错误经验]case语句跳过变量初始化

标题:[C错误经验]case语句跳过变量初始化 水墨不写bug 文章目录 一、错误信息复现二、错误分析三、解决方法 一、错误信息复现 write.cc:80:14: error: jump to case label80 | case 2:| ^ write.cc:76:20: note: crosses initialization…...

Ubuntu 可执行程序自启动方法

使用 autostart(适用于桌面环境) 适用于 GNOME/KDE 桌面环境(如 Ubuntu 图形界面) 1. 创建 .desktop 文件 sudo vi ~/.config/autostart/my_laser.desktop[Desktop Entry] TypeApplication NameMy Laser Program Execbash -c &…...

Python网页自动化测试,DrissonPage库入门说明文档

🛰️ 基本逻辑​ 操作浏览器的基本逻辑如下: 创建浏览器对象,用于启动或接管浏览器获取一个 Tab 对象使用 Tab 对象访问网址使用 Tab 对象获取标签页内需要的元素对象使用元素对象进行交互 除此以外,还能执行更为复杂的操作&am…...