news 2026/5/13 18:58:57

Day1 3D的方块翻滚

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day1 3D的方块翻滚

是初学者的一些尝试。

开始信心满满的学习UNITY了!先把准备工作准备好,专门分个磁盘出来做Unity。

第一步就中道崩殂了······E盘为什么说有不可移动的东西?碎片整理也不行,算了干脆卸了重装吧,就当清理内存了。

怎么搞了一整个上午。

吃完午饭磁盘也搞好了,开始下载吧。还分国内版和国外版啊,真好,不用自己找镜像了。

编辑器推荐的是VS,没怎么用过,IDEA用的比较多。

都下好了。太棒了,可以迈出第一步了。

中文社区还有教程哇,好贴心。

时间好长啊,还是先自己摸索摸索吧。

嗯,学会了建地面和模型,AI给的代码也跑动了,但那个黑球为什么是材料?单纯的图标吗?

已经很晚了,明天再仔细研究研究代码吧。

using UnityEngine; public class PlayerMove : MonoBehaviour { public float moveSpeed = 5f; public float rollSpeed = 180f; // 翻滚速度(度数/秒),可在Inspector调整 private Rigidbody rb; private Quaternion targetRotation; // 目标旋转角度 void Start() { // 获取/自动添加刚体 rb = GetComponent<Rigidbody>(); if (rb == null) { rb = gameObject.AddComponent<Rigidbody>(); } rb.freezeRotation = false; // 取消旋转锁定(才能翻滚) rb.useGravity = true; rb.isKinematic = false; // 初始旋转为当前角度 targetRotation = transform.rotation; } void Update() { // 1. 基础移动逻辑 float h = Input.GetAxis("Horizontal"); // A/D 左右 float v = Input.GetAxis("Vertical"); // W/S 前后 Vector3 moveDir = Vector3.right * h + Vector3.forward * v; if (moveDir.magnitude > 1f) { moveDir.Normalize(); } // 应用移动 if (moveDir.magnitude > 0.1f) { rb.velocity = new Vector3(moveDir.x * moveSpeed, rb.velocity.y, moveDir.z * moveSpeed); // 2. 核心:计算翻滚旋转角度 // 向左/右移 → 绕Z轴翻滚;向前/后移 → 绕X轴翻滚 float rollX = -v * rollSpeed * Time.deltaTime; // 前后移 → X轴翻滚(W前滚,S后滚) float rollZ = h * rollSpeed * Time.deltaTime; // 左右移 → Z轴翻滚(A左滚,D右滚) // 累加旋转角度(基于本地坐标系) targetRotation *= Quaternion.Euler(rollX, 0, rollZ); // 平滑插值到目标旋转(避免翻滚太生硬) transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, 0.1f); } else { // 停止移动时,缓慢恢复到初始旋转(可选,根据需求保留) targetRotation = Quaternion.identity; // 恢复到无旋转状态 transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, 0.05f); // 停止移动时减速(可选) rb.velocity = Vector3.Lerp(rb.velocity, Vector3.zero, 0.1f); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 18:58:34

基于GFM格式的文档智能解析与RAG应用实践

1. 项目概述&#xff1a;当通用文档格式遇上智能检索最近在折腾一个内部知识库项目&#xff0c;遇到了一个挺典型的问题&#xff1a;团队里的文档格式五花八门&#xff0c;有Markdown写的技术手册&#xff0c;有Word写的产品需求&#xff0c;还有一堆PDF格式的行业报告和PPT。想…

作者头像 李华
网站建设 2026/5/13 18:58:32

嵌入式虚拟化平台的技术演进与行业应用实践

1. 嵌入式虚拟化平台的技术演进与行业需求在过去的十年间&#xff0c;嵌入式系统经历了从简单自动化向智能自主化的重大转变。作为一名在工业控制系统领域工作多年的工程师&#xff0c;我亲眼见证了这场变革如何重塑关键基础设施的技术架构。传统嵌入式设备往往功能单一、网络连…

作者头像 李华
网站建设 2026/5/13 18:57:30

ctf show web 入门80

这是一道非常经典的 文件包含漏洞&#xff08;LFI&#xff09; 结合 日志注入&#xff08;Log Injection&#xff09; 的 Web 题目。我们可以看到代码对 php 和 data 伪协议进行了过滤&#xff0c;这封死了直接通过 php://filter 或 data:// 获取 Web Shell 的路径。 在这种情况…

作者头像 李华
网站建设 2026/5/13 18:52:41

STM32实战:BMP280气压模块IIC驱动与数据精准采集

1. BMP280模块与STM32开发基础 BMP280是Bosch推出的一款高精度数字气压传感器&#xff0c;能够同时测量气压和温度。这个模块在无人机高度控制、气象站、室内导航等场景中非常实用。我最近在一个户外气象监测项目中就用到了它&#xff0c;实测下来精度确实不错&#xff0c;但刚…

作者头像 李华
网站建设 2026/5/13 18:52:39

AI助手驱动多平台社媒自动化发布:基于social-auto-upload的实践指南

1. 项目概述&#xff1a;一个面向AI时代的社媒自动化发布技能包 如果你是一个内容创作者、自媒体运营&#xff0c;或者像我一样&#xff0c;经常需要把同一个视频或图文内容分发到抖音、B站、小红书、快手等多个平台&#xff0c;那你一定对重复的登录、上传、填写表单这些机械操…

作者头像 李华