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

第二天 通过脚本控制物体移动和旋转

一、Unity脚本编程基础认知

1.1 为什么说脚本是Unity的灵魂?

Unity引擎的核心架构采用ECS(Entity-Component-System)模式,脚本作为组件的具体实现,控制着游戏对象的所有行为。统计显示,一个中等规模的Unity项目平均包含300+脚本文件,掌握脚本编程是成为合格Unity开发者的必经之路。

1.2 脚本创建规范

  1. 在Project窗口右键 -> Create -> C# Script
  2. 命名规范:
    • 使用帕斯卡命名法(如PlayerController)
    • 避免使用Unity保留字(如Material/Mesh等)
  3. 脚本结构模板:
using UnityEngine;public class BasicScript : MonoBehaviour
{// 变量声明区public float moveSpeed = 5f;// 生命周期方法区void Start() { /* 初始化代码 */ }void Update() { /* 每帧更新代码 */ }// 自定义方法区void CustomMethod() { /* 业务逻辑 */ }
}

二、深入解析Unity脚本生命周期

2.1 生命周期全景图

加载场景
Awake
OnEnable
Start
FixedUpdate
Update
LateUpdate
OnDisable
OnDestroy

2.2 核心方法深度剖析

2.2.1 Awake vs Start
比较项AwakeStart
调用时机脚本实例化时立即调用所有Awake执行完毕后调用
执行次数仅1次仅1次
使用场景组件间的初始化依赖需要其他组件就绪的初始化
2.2.2 Update三剑客
  1. FixedUpdate

    • 固定时间间隔(默认0.02秒)
    • 物理相关操作(Rigidbody)
  2. Update

    • 每帧调用(帧率不稳定)
    • 游戏逻辑、输入检测
  3. LateUpdate

    • Update之后调用
    • 摄像机跟随等后处理操作

2.3 生命周期实战演示

public class LifecycleDemo : MonoBehaviour
{void Awake() {Debug.Log("Awake: " + Time.frameCount);}void OnEnable() {Debug.Log("OnEnable: " + Time.frameCount);}void Start() {Debug.Log("Start: " + Time.frameCount);}void FixedUpdate() {Debug.Log("FixedUpdate: " + Time.fixedTime);}void Update() {Debug.Log("Update: " + Time.frameCount);}void LateUpdate() {Debug.Log("LateUpdate: " + Time.frameCount);}
}

三、物体移动控制完全指南

3.1 基础移动方法对比

3.1.1 Transform直接修改
// 瞬移效果(无中间过程)
void Update() {if(Input.GetKeyDown(KeyCode.Space)){transform.position += Vector3.up * 2f;}
}
3.1.2 Translate方法
// 平滑移动(受Time.deltaTime影响)
void Update() {float horizontal = Input.GetAxis("Horizontal");float vertical = Input.GetAxis("Vertical");Vector3 movement = new Vector3(horizontal, 0, vertical);transform.Translate(movement * moveSpeed * Time.deltaTime);
}
3.1.3 Vector3.Lerp插值
// 渐进式移动(适合摄像机跟随)
public Transform target;
public float smoothTime = 0.3f;void Update() {transform.position = Vector3.Lerp(transform.position, target.position, smoothTime * Time.deltaTime);
}

3.2 移动控制进阶技巧

3.2.1 八方向移动
public float rotationSpeed = 180f;void Update() {Vector3 moveDirection = new Vector3(Input.GetAxisRaw("Horizontal"),0,Input.GetAxisRaw("Vertical"));if(moveDirection != Vector3.zero){Quaternion targetRotation = Quaternion.LookRotation(moveDirection);transform.rotation = Quaternion.RotateTowards(transform.rotation,targetRotation,rotationSpeed * Time.deltaTime);transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);}
}
3.2.2 跳跃物理实现
public float jumpForce = 5f;
private Rigidbody rb;
private bool isGrounded;void Start() {rb = GetComponent<Rigidbody>();
}void Update() {if(Input.GetButtonDown("Jump") && isGrounded){rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);}
}void OnCollisionEnter(Collision collision) {if(collision.gameObject.CompareTag("Ground")){isGrounded = true;}
}void OnCollisionExit(Collision collision) {if(collision.gameObject.CompareTag("Ground")){isGrounded = false;}
}

四、物体旋转控制大师课

4.1 旋转的三种表示方式

  1. 欧拉角(Euler Angles)

    • 直观易理解
    • 存在万向节死锁问题
  2. 四元数(Quaternion)

    • 无万向节锁
    • 数学运算复杂
  3. 旋转矩阵(Rotation Matrix)

    • 底层数学表示
    • 不直接用于开发

4.2 常用旋转方法实战

4.2.1 自转与公转
// 绕自身Y轴旋转
void Update() {transform.Rotate(Vector3.up * 90 * Time.deltaTime);
}// 绕场景原点公转
public float orbitSpeed = 30f;void Update() {transform.RotateAround(Vector3.zero,Vector3.up,orbitSpeed * Time.deltaTime);
}
4.2.2 平滑看向目标
public Transform target;
public float rotationSpeed = 5f;void Update() {Vector3 direction = target.position - transform.position;Quaternion targetRotation = Quaternion.LookRotation(direction);transform.rotation = Quaternion.Slerp(transform.rotation,targetRotation,rotationSpeed * Time.deltaTime);
}

4.3 旋转锁定技巧

// 锁定X轴旋转
void Update() {Vector3 currentRotation = transform.eulerAngles;currentRotation.x = 0;transform.eulerAngles = currentRotation;
}

五、综合实战:太空飞船控制

5.1 需求分析

  • WASD控制移动
  • 鼠标控制视角
  • 空格键推进加速
  • Q/E键左右横移

5.2 完整实现代码

public class SpaceShipController : MonoBehaviour
{public float mainThrust = 1000f;public float rotationThrust = 100f;public float lateralThrust = 500f;private Rigidbody rb;private float mouseX;private float mouseY;void Start() {rb = GetComponent<Rigidbody>();Cursor.lockState = CursorLockMode.Locked;}void Update() {ProcessInput();}void FixedUpdate() {HandleMovement();HandleRotation();}private void ProcessInput() {mouseX = Input.GetAxis("Mouse X");mouseY = Input.GetAxis("Mouse Y");}private void HandleMovement() {if(Input.GetKey(KeyCode.Space)) {rb.AddRelativeForce(Vector3.forward * mainThrust * Time.deltaTime);}if(Input.GetKey(KeyCode.Q)) {rb.AddRelativeForce(Vector3.left * lateralThrust * Time.deltaTime);}if(Input.GetKey(KeyCode.E)) {rb.AddRelativeForce(Vector3.right * lateralThrust * Time.deltaTime);}}private void HandleRotation() {rb.AddRelativeTorque(Vector3.up * mouseX * rotationThrust * Time.deltaTime);rb.AddRelativeTorque(Vector3.left * mouseY * rotationThrust * Time.deltaTime);}
}

六、性能优化与调试技巧

6.1 Update优化策略

  1. 使用Time.deltaTime保证帧率无关
  2. 避免在Update中执行复杂计算
  3. 使用协程处理延时任务
IEnumerator DelayedAction(){yield return new WaitForSeconds(2f);// 延时执行的代码
}

6.2 常见问题解决方案

  1. 物体抖动问题

    • 物理更新在FixedUpdate
    • 移动代码放在FixedUpdate
  2. 旋转卡顿现象

    • 使用Quaternion.Slerp代替直接赋值
    • 检查旋转轴锁定
  3. 输入响应延迟

    • 使用Input.GetAxisRaw获取原始输入
    • 降低Fixed Timestep值(Edit -> Project Settings -> Time)

七、扩展学习路线

7.1 进阶学习方向

  1. 输入系统:New Input System
  2. 物理材质:Friction/Bounce
  3. 动画系统:Animator Controller
  4. 网络同步:Netcode for GameObject

7.2 推荐实践项目

  1. 第三人称角色控制器
  2. 载具物理系统
  3. 第一人称射击游戏
  4. 物理谜题游戏

八、总结与学习建议

通过本文的学习,你应该掌握:

  • Unity脚本生命周期的完整流程
  • 多种物体移动控制方法
  • 三维空间旋转原理与实践
  • 复杂控制系统的实现思路

相关文章:

第二天 通过脚本控制物体移动和旋转

一、Unity脚本编程基础认知 1.1 为什么说脚本是Unity的灵魂&#xff1f; Unity引擎的核心架构采用ECS&#xff08;Entity-Component-System&#xff09;模式&#xff0c;脚本作为组件的具体实现&#xff0c;控制着游戏对象的所有行为。统计显示&#xff0c;一个中等规模的Uni…...

在SpringBoot中访问 static 与 templates 目录下的内容

目录 步骤一&#xff1a;添加 Thymeleaf 依赖 (处理 Templates 目录)步骤二&#xff1a;配置静态资源路径 (可选但建议了解)步骤三&#xff1a;访问不同目录下的 HTML 文件访问 static 目录下的 HTML 文件访问 templates 目录下的 HTML 文件 总结 在使用 Spring Boot 开发 Web …...

常见的 API 设计风格

在软件开发中&#xff0c;常见的 API 设计风格主要有以下几种&#xff0c;每种风格适用于不同的场景和需求&#xff1a; 1. RESTful API (主流) 特点&#xff1a; 基于 HTTP 协议&#xff0c;使用标准方法&#xff08;GET/POST/PUT/DELETE&#xff09;资源导向&#xff08;UR…...

Grass.io项目现状:DePIN亮眼明星,扩张中的AI数据银行

Grass.io项目现状:DePIN亮眼明星,扩张中的AI数据银行 Grass如何在DePIN项目丛林中脱颖而出? 答案在于其"零门槛"策略——用户是基石,其他一切皆为杠杆。 Grass通过"技术+模式"双轮驱动打破行业内卷:零知识证明技术与Solana Layer2架构确保数据真实…...

ERR_PNPM_DLX_NO_BIN No binaries found in tailwindcss

场景复现&#xff1a; 最近在vue3项目中安装了tailwindcss&#xff0c;但是它默认帮我安装的版本是4XX的&#xff0c;导致我执行 npx tailwindcss init -p报错了。 解决方案&#xff1a; 更改tailwindcss的版本为3 pnpm add -D tailwindcss3再次执行生成tailwindcss的初始…...

2025“钉耙编程”中国大学生算法设计春季联赛(6)(1001,1003,1008):1007

不知道为啥&#xff0c;感觉后面的联赛题目有挺多出的是模拟题目&#xff08;这三道题目难度依次递增&#xff09; 1001 #include<bits/stdc.h> using namespace std; #define int long long const int op1e97; const int o1e34;inline void solve(){int n,a,b,c;cin>…...

Leetcode 2814. 避免淹死并到达目的地的最短时间

1.题目基本信息 1.1.题目描述 现给定一个 n * m 的索引从 0 开始的二维字符串网格 land&#xff0c;目前你站在为 “S” 的单元格上&#xff0c;你需要到达为 “D” 的单元格。在这片区域上还有另外三种类型的单元格&#xff1a; “.”&#xff1a;这些单元格是空的。 “X”…...

4.15【A】pc homework3~

5 假设read_document函数可以实现读取第m个文件&#xff0c;并返回该文本文档的每行数据 那么考虑双层并行结构&#xff0c;外层为文档级并行&#xff0c;内层为每个文档内的行级并行 动态分配文档任务&#xff0c;避免线程闲置 #include <omp.h> int total_words …...

aslist和list的区别

‌Arrays.asList和List的主要区别在于它们的固定长度和不可变性、与原始数组的关系、性能以及使用场景。 一、固定长度和不可变性 ‌Arrays.asList‌&#xff1a;通过Arrays.asList方法创建的List是一个固定长度的List&#xff0c;其长度与原始数组相同。这意味着你不能通过添…...

Notepad++中将文档格式从Windows(CR LF)转换为Unix(LF)

在Windows中用记事本写了一个.sh的Linux运行脚本&#xff0c;是无法直接在Linux中执行&#xff0c;需要首先把文本编码格式转换为Unix的&#xff0c;特别是换行符这些&#xff0c;转换步骤如下&#xff1a; 1、打开文档 在Notepad中打开需要转换的文件。 2、进入文档格式转换…...

控制理论与应用Latex模版/中文Latex

报错1 ! Package CJK Error: Invalid character code. 解决方法&#xff1a; 用记事本打开tex文件 另存为&#xff0c;选择utf-8格式 ! paragraph ended before \mulearg was complete. 备注&#xff0c;控制理论与应用有个自己的模版内容&#xff0c;是通过导入方式调用…...

Linux指令和权限(10-3)

部分指令和权限 一丶指令 1.echo echo的基础作用向显示器输出。作用类似于C语言的printf&#xff0c;C的cout。 1.1 echo 输入内容 – 会显示输出到屏幕的下一行 echo "hello Linux"1.2 echo 输入内容>目标文件 – 向目标文件输出内容&#xff08;输出重定向&…...

算法堆排序记录

【算法】排序算法之堆排序 - 知乎 应用场景&#xff1a;获取第n个大或者小的数 操作步骤&#xff1a; 1、将数组构造成堆 2、调整根节点为最大堆 ->倒序对每个根节点执行最大化 ->根节点最大化过程中如果发生交换&#xff0c;需要保证子节点也为最大堆&#xff08;执行…...

2025年第十六届蓝桥杯省赛JavaB组真题回顾

第16届蓝桥杯省赛已经结束了&#xff0c;第一次参加也是坐牢了4个小时&#xff0c;现在还是来总结一下吧&#xff08;先声明以下的解法&#xff0c;大家可以当作一种思路来看&#xff0c;解法不一定是正解&#xff0c;只是给大家提供一种能够正常想到的思路吧&#xff09; 试题…...

qt 事件及事件过滤

在 Qt 中&#xff0c;事件是对象与用户或系统交互的基本方式。Qt 通过事件机制使得控件和其他对象可以响应用户的操作&#xff08;如鼠标点击、键盘输入等&#xff09;&#xff0c;以及其他系统级事件&#xff08;如窗口大小变化、定时器事件等&#xff09;。 Qt 事件处理机制…...

RPCRT4!OsfCreateRpcAddress函数分析之AssociationBucketMutexMemory数组的填充

第一部分&#xff1a; 1: kd> p RPCRT4!OsfCreateRpcAddress0x28: 001b:77c0f4f5 e888e5ffff call RPCRT4!OSF_ADDRESS::OSF_ADDRESS (77c0da82) 1: kd> t RPCRT4!OSF_ADDRESS::OSF_ADDRESS: 001b:77c0da82 ?? ??? 1: kd> kc # 00 RPCRT4!…...

lvs + keepalived + dns 高可用

项目题目 实验步骤&#xff1a; 1.规划各自IP地址&#xff1a; 以lb-backup为例,修改ip地址即可 [rootlb-backup ~]# nmcli connection modify ens160 ipv4.addresses 192.168.72.106/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 ipv4.method manual connection.autoc…...

多模态医学AI框架Pathomic Fusion,整合了组织病理学与基因组的特征

小罗碎碎念 在医学AI领域&#xff0c;癌症的精准诊断与预后预测一直是关键研究方向。 这篇文章提出了Pathomic Fusion这一创新框架&#xff0c;致力于解决现有方法的局限。 传统上&#xff0c;癌症诊断依赖组织学与基因组数据&#xff0c;但组织学分析主观易变&#xff0c;基因…...

安卓基础(SQLite)

基础 import sqlite3# 连接到数据库 conn sqlite3.connect(mydatabase.db) cursor conn.cursor()# 执行查询 cursor.execute("SELECT * FROM users") rows cursor.fetchall()for row in rows:print(row)# 关闭连接 conn.close() 创建一个继承自 SQLiteOpenHelpe…...

代码提错分支处理方法

如果你不小心将代码提交到了测试分支&#xff0c;并且希望将这些更改应用到正式分支&#xff0c;同时又不想引入测试分支上的其他未准备好合并的代码&#xff0c;可以按照以下步骤操作&#xff1a; 查看提交记录&#xff1a;首先确认你在测试分支上所做的具体提交。切换到正式…...

OpenGL学习笔记(几何着色器、实例化、抗锯齿)

目录 几何着色器爆破物体法向量可视化 实例化&#xff08;偏移量存在uniform中&#xff09;实例化数组&#xff08;偏移量存在顶点属性中&#xff09;小行星带 抗锯齿SSAA&#xff08;Super Sample Anti-aliasing&#xff09;MSAA&#xff08;Multi-Sampling Anti-aliasing&…...

Git 学习笔记

这篇笔记记录了我在git学习中常常用到的指令&#xff0c;方便在未来进行查阅。此篇文章也会根据笔者的学习进度持续更新。 网站分享 Git 常用命令大全 Learn Git Branching 基础 $ git init //在当前位置配置一个git版本库 $ git add <file> //将文件添加至…...

浅析停车管理系统接入AI的提升

随着人工智能技术的快速发展&#xff0c;传统停车管理系统正在经历智能化变革。AI技术的引入不仅解决了停车管理中的诸多痛点&#xff0c;更为智慧城市建设提供了重要支撑。本文将从效率提升、体验优化、管理升级三个方面&#xff0c;详细分析AI技术为停车管理系统带来的显著提…...

PCL八叉树聚类

PCL八叉树聚类 主要流程完整代码部分代码解析关键元素解析std::for_each算法Lambda表达式等价 效果 主要流程 ​读取点云数据&#xff1a;从PCD文件中加载原始点云​构建八叉树&#xff1a;对点云进行八叉树空间划分​获取体素中心&#xff1a;提取八叉树中所有被占据的体素中…...

微服务最佳实践:全链路可用性保障体系

微服务最佳实践:全链路可用性保障体系 一、流量管控:分级限流与负载均衡 (一)动态限流策略 单机限流:采用令牌桶(允许突发流量,固定速率生成令牌)或漏桶算法(流量整形,固定速率处理请求),如Go的time/rate、Uber的ratelimit库,控制单节点流量峰值。分布式限流:通…...

智慧声防:构筑海滨浴场安全屏障的应急广播系

海滨浴场是夏季旅游的热门目的地&#xff0c;但潮汐变化、离岸流、突发天气、溺水事故等安全隐患时刻威胁着游客安全。传统的安全管理依赖人工瞭望和喊话&#xff0c;存在覆盖范围有限、响应速度慢等问题。“智慧声防”应急广播系统&#xff0c;通过智能化、网络化、多场景协同…...

linux-vi和文件操作

在 Linux 系统的世界里&#xff0c;有一个核心思想贯穿始终&#xff0c;那就是 “万物都是文件”。这一理念极大地简化了系统资源的管理和操作&#xff0c;为用户和开发者提供了统一且高效的交互方式。本文将深入探讨这一理念在 Linux 文件系统中的具体体现&#xff0c;从硬盘分…...

MIT6.S081 - Lab8 Locks(锁优化 | 并发安全)

本篇是 MIT6.S081 2020 操作系统课程 Lab8 的实验笔记&#xff0c;目标是在保证并发安全的前提下&#xff0c;重新设计 内存分配器 和 块缓存 这两个部分代码&#xff0c;提高系统并发性能。 对于有项目经验的同学来说&#xff0c;实验的难度不算高&#xff0c;重点在于找出 “…...

TMS320F28P550SJ9学习笔记15:Lin通信SCI模式结构体寄存器

今日初步认识与配置使用Lin通信SCI模式&#xff0c;用结构体寄存器的方式编程 文章提供完整工程下载、测试效果图 我的单片机平台是这个&#xff1a; LIN通信引脚&#xff1a; LIN通信PIE中断&#xff1a; 这个 PIE Vector Table 表在手册111页&#xff1a; 这是提到LINa的PI…...

JavaWeb 课堂笔记 —— 11 MySQL 多表设计

本系列为笔者学习JavaWeb的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程&#xff0c;实现javaweb企业开发全流程&#xff08;涵盖SpringMyBatisSpringMVCSpringBoot等&#xff09;》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习…...

2025年最新总结安全基础(面试题)

活动发起人@小虚竹 想对你说: 这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请…...

调试chili3d笔记 typescript预习

https://github.com/xiangechen/chili3d 用firefox拓展附加进程 打开开发者 工具&#xff0c;这个网页按f12没反应&#xff0c;手动打开 创建一个立方体可以看到运行了create.box方法&#xff0c;消息来自commandService.ts 位置 太久没写c了&#xff0c;3目都看不懂了 c没有…...

【北交互联-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…...

YOLOv2学习笔记

YOLOv2 背景 YOLOv2是YOLO的第二个版本&#xff0c;其目标是显著提高准确性&#xff0c;同时使其更快 相关改进&#xff1a; 添加了BN层——Batch Norm采用更高分辨率的网络进行分类主干网络的训练 Hi-res classifier去除了全连接层&#xff0c;采用卷积层进行模型的输出&a…...

2025年国企社招欧治链金再生资源入职测评笔试中智赛码平台SHL测试平台Verify认知能力测试

1、欧治链金政治素质测试&#xff08;中智赛码平台&#xff0c;电脑端作答&#xff09; 10个单选题、5个多选题、1个问答题 2、欧治链金综合素质测试&#xff08;SHL测试平台Verify认知能力测试&#xff0c;电脑端作答&#xff09; 3、欧治链金职业性格测试&#xff08;中智职…...

MySQL索引和事务

MySQL索引和事务 1.索引1.1概念1.2作用1.3使用场景1.4使用1.4.1查看索引1.4.2创建索引1.4.3删除索引 2.事务2.1使用2.1.1开启事务2.1.2执行多条SQL语句2.1.3回滚或提交 2.2事务的特性2.2.1回滚是怎么做到的2.2.2原子性2.2.3一致性2.2.4持久性2.2.5隔离性2.2.5.1脏读2.2.5.2不可…...

【AI News | 20250415】每日AI进展

AI News 1、字节跳动发布Seaweed-7B视频模型&#xff1a;70亿参数实现音视频同步生成与多镜头叙事 字节跳动推出新一代视频生成模型Seaweed-7B&#xff0c;该模型仅70亿参数却实现多项突破&#xff1a;支持音视频同步生成、多镜头叙事&#xff08;保持角色连贯性&#xff09;、…...

MegaTTS3: 下一代高效语音合成技术,重塑AI语音的自然与个性化

在近期的发布中&#xff0c;浙江大学赵洲教授团队与字节跳动联合推出了革命性的第三代语音合成模型——MegaTTS3&#xff0c;该模型不仅在多个专业评测中展现了卓越的性能&#xff0c;还为AI语音的自然性和个性化开辟了新的篇章。 MegaTTS3技术亮点 零样本语音合成 MegaTTS3采用…...

MyBatis-Plus 详解教程

文章目录 1. MyBatis-Plus 简介1.1 什么是 MyBatis-Plus&#xff1f;1.2 为什么要使用 MyBatis-Plus&#xff1f;传统 MyBatis 的痛点MyBatis-Plus 的优势 1.3 MyBatis-Plus 与 MyBatis 的关系 2. 快速开始2.1 环境要求2.2 依赖引入MavenGradle 2.3 数据库准备2.4 配置 Spring …...

Java设计模式之观察者模式:从入门到架构级实践

一、观察者模式的核心价值 观察者模式&#xff08;Observer Pattern&#xff09;是行为型设计模式中的经典之作&#xff0c;它建立了对象间的一对多依赖关系&#xff0c;让多个观察者对象能够自动感知被观察对象的状态变化。这种模式在事件驱动系统、实时数据推送、GUI事件处理…...

【双指针】专题:LeetCode 202题解——快乐数

快乐数 一、题目链接二、题目三、题目解析四、算法原理扩展 五、编写代码 一、题目链接 快乐数 二、题目 三、题目解析 快乐数的定义中第二点最重要&#xff0c;只有两种情况&#xff0c;分别拿示例1、示例2分析吧&#xff1a; 示例1中一旦出现1了&#xff0c;继续重复过程就…...

深度学习占用大量内存空间解决办法

应该是缓存的问题&#xff0c;关机重启内存多了10G&#xff0c;暂时没找到别的方法 重启前 关机重启后...

[LeetCode 1871] 跳跃游戏 7(Ⅶ)

题面&#xff1a; 数据范围&#xff1a; 2 ≤ s . l e n g t h ≤ 1 0 5 2 \le s.length \le 10^5 2≤s.length≤105 s [ i ] s[i] s[i] 要么是 ′ 0 ′ 0 ′0′ &#xff0c;要么是 ′ 1 ′ 1 ′1′ s [ 0 ] 0 s[0] 0 s[0]0 1 ≤ m i n J u m p ≤ m a x J u m p <…...

同济大学轻量化低成本具身导航!COSMO:基于选择性记忆组合的低开销视觉语言导航

作者&#xff1a;Siqi Zhang 1 ^{1} 1, Yanyuan Qiao 3 ^{3} 3, Qunbo Wang 2 ^{2} 2, Zike Yan 4 ^{4} 4, Qi Wu 3 ^{3} 3, Zhihua Wei 1 ^{1} 1, Jing Liu 1 ^{1} 1单位&#xff1a; 1 ^{1} 1同济大学计算机科学与技术学院&#xff0c; 2 ^{2} 2中科院自动化研究所&#xff0…...

【Ubuntu | 网络】Vmware虚拟机里的Ubuntu开机后没有网络接口、也没有网络图标

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f60e;金句分享&#x1f60e;&a…...

第二十一讲 XGBoost 回归建模 + SHAP 可解释性分析(利用R语言内置数据集)

下面我将使用 R 语言内置的 mtcars 数据集&#xff0c;模拟一个完整的 XGBoost 回归建模 SHAP 可解释性分析 实战流程。我们将以预测汽车的油耗&#xff08;mpg&#xff09;为目标变量&#xff0c;构建 XGBoost 模型&#xff0c;并用 SHAP 来解释模型输出。 &#x1f697; 示例…...

HP惠普打印机:解决每次打印后额外产生@PJL SET USERNAME=文档的情况

情况描述 惠普商用打印机型号&#xff1a;Color LaserJet Managed MFP E78223 在每次打印文档后都会出现包含我个人电脑用户名的额外文档&#xff1a; 这不是我希望的&#xff0c;因此我联系了惠普官方客服&#xff0c;并得到了解决 解决方案 原因 具客服所说&#xff0c;这些是…...

MariaDB MaxScale 的用途与实现细节

MaxScale 主要用途 MariaDB MaxScale 是一个智能数据库代理&#xff08;proxy&#xff09;&#xff0c;主要用于增强 MySQL/MariaDB 数据库的高可用性、可扩展性和安全性&#xff0c;同时简化应用程序与数据库基础设施之间的交互。它的核心功能包括&#xff1a; 负载均衡&…...

CTF--eval

一、原网页&#xff1a; 二、步骤&#xff1a; 1.代码分析&#xff1a; <?phpinclude "flag.php"; // 引入一个文件&#xff0c;该文件可能定义了一些变量&#xff08;例如 $flag&#xff09;$a $_REQUEST[hello]; // 从用户请求中获取参数 hello 的值&#x…...

Android学习总结之算法篇七(图和矩阵)

有向图的深度优先搜索&#xff08;DFS&#xff09;和广度优先搜索&#xff08;BFS&#xff09;的示例&#xff0c;以此来模拟遍历 GC Root 引用链这种有向图结构&#xff1a; 一、深度优先搜索&#xff08;DFS&#xff09; import java.util.*;public class GraphDFS {privat…...