【Unity学习】
文章目录c#脚本基本语句一、游戏启动的基本语句二、游戏运行的基本语句1.游戏运行的基本语句2.对物体的相关操作三、Unity组件的一些方法1.Rigidbody组件2.Collider组件3.Audio Source组件四、Unity脚本常用的方法实现1.角色移动和视角移动c#脚本基本语句一、游戏启动的基本语句publicGameObjectgo;publicGameObject[]gos;//Start()方法在游戏启动时执行一次。voidStart(){//设置游戏帧率Application.targetFrameRate120;//一般设置为60/120//鼠标箭头锁定Cursor.lockStateCursorLockMode.Locked;//获取物体currentGameObjectthis.gameObject;//获取脚本当前物体goGameObject.Find(名称);//根据名称获取物体goGameObject.FindWithTag(标签);//根据标签获取物体gosGameObject.FindGameObjectsWithTag(标签);//根据标签获取物体数组//创建游戏物体//四元数Unity定义旋转要用四元数,Euler方法能将Vector3变量转换为四元数quaternionqQuaternion.Euler(0,0,0);//实例一个物体定义位置和旋转再加一个参数可以定义父物体//这里的go一般放预制体Instantiate(go,newVector3(0,0,0),q);}二、游戏运行的基本语句1.游戏运行的基本语句voidUpdate(){//输出打印Debug.Log(hello world!);Debug.Log(当前物体名称:go.name);Debug.Log(当前物体位置:go.transform.position);Debug.Log(当前物体旋转:go.transform.rotation.eulerAngles);Debug.Log(当前物体大小:go.transform.localScale);//检测输入Input.GetKeyDown(KeyCode.A)//按键按下Input.GetKeyUp(KeyCode.A)//按键抬起Input.GetKey(KeyCode.A)//按住不松Input.GetAxis(Horizontal);//水平轴,按下A/D或左右方向键,返回值为-1到0到1的平滑过度Input.GetAxisRaw(Horizontal);//返回值只有-10或1Input.GetAxis(Vertical);//垂直轴,按下W/S或上下方向键,返回值为-1到0到1平滑过度Input.GetAxisRaw(Vertical);//返回值只有-10或1Input.GetKeyDown(KeyCode.Mouse0);//按下鼠标左键,两种皆可Input.GetMouseButtonDown(0);Input.GetKeyDown(KeyCode.Mouse1);//按下鼠标右键,两种皆可Input.GetMouseButtonDown(1);Input.GetAxis(Mouse ScrollWheel);//鼠标滚轮输入Input.GetAxis(Mouse X);//鼠标横向移动Input.GetAxis(Mouse Y);//鼠标竖向移动Debug.Log(鼠标位置为:Input.mousePosition);//鼠标位置信息}2.对物体的相关操作publicTransformtransform;publicGameObjectgoPrefab;publicVector3positionTarget;publicVector3rotationTarget;publicRigidbodyrb;publicvoidobject_transform(){//创建物体GameObjectgoInstantiate(goPrefab,transform.position,transform.rotation);//物体信息更改go.namename1;go.transform.positionnewVector3(10,10,10);go.transform.eulerAnglesnewVector3(0,45,0);go.transform.localScalenewVector3(2,2,2);//物体移动(第二个参数选择坐标系),两种皆可go.transform.positionpositionTarget;go.transform.Translate(positionTarget*Time.deltaTime,Space.Self);//物体旋转(第二个参数选择坐标系),两种皆可go.transform.eulerAnglesrotationTarget;go.transform.Rotate(rotationTarget*Time.deltaTime,Space.Self);//获取组件go.GetComponent组件名称();//物理模拟rb.AddForce(newVector3(100,0,0)*Time.deltaTime);//设置刚体推力rb.linearVelocitynewVector3(0,0,0);//设置刚体速度,可以实现带碰撞的移动rb.angularVelocitynewVector3(0,0,0);//设置刚体角速度,可以实现旋转//物体销毁Destroy(go);}三、Unity组件的一些方法1.Rigidbody组件刚体组件模拟物理效果//刚体碰撞privatevoidOnCollisionEnter(Collisioncollision){//Debug.Log(collision.gameObject.name);}//刚体分离privatevoidOnCollisionExit(Collisioncollision){//Debug.Log(collision.gameObject.name);}//刚体持续接触privatevoidOnCollisionStay(Collisioncollision){//Debug.Log(collision.gameObject.name);}2.Collider组件//触发器触发privatevoidOnTriggerEnter(Colliderother){//Debug.Log(other.gameObject.name);}//触发器分离privatevoidOnTriggerExit(Colliderother){//Debug.Log(other.gameObject.name);}//触发器持续触发privatevoidOnTriggerStay(Colliderother){//Debug.Log(other.gameObject.name);}3.Audio Source组件音频播放组件//存放组件publicAudioSourcead;//存放音频publicAudioClipaclip;publicAudioClipbgm;//播放音频,参数可设置音量ad.PlayOneShot(aclip,0.5f);ad.resourcebgm;//切换音频ad.Play();//播放音频四、Unity脚本常用的方法实现1.角色移动和视角移动键盘操控移动鼠标控制视角的实现publicVector3positionTarget;publicVector3rotationTarget;publicfloatspeedMove3f;publicfloatspeedRotate200f;//角色移动publicvoidmove(){positionTarget.xInput.GetAxis(Horizontal);positionTarget.zInput.GetAxis(Vertical);this.transform.Translate(positionTarget*speedMove*Time.deltaTime);rotationTarget.yInput.GetAxis(Mouse X);this.transform.Rotate(rotationTarget*speedRotate*Time.deltaTime);}摄像机射线碰撞检测鼠标点击操控移动的实现publicNavMeshAgentagent;//角色移动publicvoidmove(){if(Input.GetMouseButtonDown(1))//检测鼠标右键输入{RayrayCamera.main.ScreenPointToRay(Input.mousePosition);//从主摄像机向鼠标点击位置发出射线if(Physics.Raycast(ray,outRaycastHithit))//射线检测{if(hit.collider.CompareTag(标签))//通过标签检测是否点击到目标地板{agent.SetDestination(hit.point);//设置目标点}}}}

相关新闻

2026年无锡地区健康管理如何考量?四家机构业务体系概览

2026年无锡地区健康管理如何考量?四家机构业务体系概览

2026年健康管理行业发展趋势与机构信息概览近年来,随着大众对自身健康状态关注度的持续提升,健康管理行业逐渐从单一的体检模式向全生命周期的干预与维护延伸。从行业发展来看,市场对于细胞资源存储、抗衰老调理与慢病干预、精准健康筛查与风…

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
Java开发者转型大模型应用开发的实战指南

Java开发者转型大模型应用开发的实战指南

1. 从Java工程师到AI开发者的转型之路 三年前,我还在某互联网公司做着传统的Java后端开发,每天和Spring Boot、MySQL、Redis打交道。直到去年公司裁员,我才意识到传统开发岗位的竞争已经白热化。在失业后的三个月里,我完成了从Jav…

2026/7/24 1:18:22阅读更多 →
智能体技术解析与开发实战:从原理到部署

智能体技术解析与开发实战:从原理到部署

1. 智能体(Agent)技术全景解析在大模型技术爆发的2023年,智能体(Agent)已成为AI落地的最重要载体。不同于传统AI系统的被动响应模式,智能体通过自主感知、决策和执行能力,正在重塑人机交互的范式。根据实际项目经验,一个典型的智能…

2026/7/24 1:18:22阅读更多 →
深度学习训练过程解析:从数据输入到模型推理

深度学习训练过程解析:从数据输入到模型推理

1. 项目概述:从"龙虾进屋"到"千问出门"的隐喻解析"龙虾进屋,千问出门"这个看似荒诞的标题,实际上蕴含着深度学习领域一个精妙的训练过程隐喻。作为一名在算法工程领域摸爬滚打多年的从业者,我第一次…

2026/7/24 1:18:21阅读更多 →
Transformer模型架构与NLP三大任务实践指南

Transformer模型架构与NLP三大任务实践指南

1. Transformer模型基础架构解析Transformer模型的核心在于其独特的编码器-解码器架构和自注意力机制。编码器由6个相同的层堆叠而成,每层包含两个子层:多头自注意力机制和前馈神经网络。解码器同样由6个层组成,但在两个子层之间增加了第三个…

2026/7/24 1:18:21阅读更多 →
Graph-RAG:知识图谱如何优化大模型检索增强生成

Graph-RAG:知识图谱如何优化大模型检索增强生成

1. Graph-RAG:大模型时代的“减负”神器刚接触大模型开发时,最让我头疼的就是传统RAG(检索增强生成)的噪音问题。每次从海量文档中检索相关内容,总有大量无关信息混入,导致大模型生成质量不稳定。直到遇到G…

2026/7/24 1:18:21阅读更多 →
Moneta Markets亿汇:“量子电池财报持续受关注”

Moneta Markets亿汇:“量子电池财报持续受关注”

Yahoo Finance发布MarketBeat整理的QuantumScape二季度电话会要点,固态电池研发进度、商业化路线和资金使用成为投资者讨论重点,Moneta Markets亿汇表示,新能源技术股的核心仍是从实验室指标走向规模化交付。报道围绕公司管理层对产品开发、合…

2026/7/24 1:16:21阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →