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

unity学习笔记

一、射线检测

如何让鼠标点击某个位置,游戏角色就能移动到该位置?

实现的原理分析:我们能看见游戏的东西就是摄像机拍摄到的东西,所以摄像机的镜平面就是当前能看到的了。

那接下来我们可以让摄像机发射一条射线,鼠标点击哪个位置就打在哪个位置,这样就可以通过射线来获取点击的位置。

创建射线的方式
Ray ray = new Ray(Vector3.zero, Vector3.up);

第一个参数:origin(起始点): 射线的起始点,即射线从哪个点开始。在这个例子中,Vector3.zero 表示射线的起始点是三维空间中的原点 (0, 0, 0)

第二个参数:direction(方向): 射线的方向,即射线沿着哪个方向延伸。在这个例子中,Vector3.up 表示射线向上延伸。
Ray  ray = Camera.main.ScreenPointToRay(Input.mousePosition);

参数表示:Input.mousePosition 表示当前鼠标的屏幕坐标,ScreenPointToRay 将这个屏幕坐标转换为一条从摄像机位置发射的射线。

现在来实现获取到鼠标点击的坐标
void Update()
    {
        //方式2
        if (UnityEngine.Input.GetMouseButtonDown(0))
        {
            //按下鼠标左键发射射线
            Ray ray = Camera.main.ScreenPointToRay(UnityEngine.Input.mousePosition);
            // 声明一个碰撞信息类,被点击的游戏物体上必须有碰撞器存在。
            RaycastHit hit;
            //碰撞检测
            bool res = Physics.Raycast(ray, out hit);
            //如果碰撞到的情况下,hit就有内容了
            if (res == true)
            {
                Debug.Log(hit.point);
                transform.position = hit.point;
            }

        }
    }

这样就实现了鼠标点击哪个位置就移动到哪个位置。

二、粒子系统

Unity中的粒子系统是一种强大的工具,用于模拟和渲染大量的小粒子,如火花、烟雾、雨滴等效果。

创建方式:右键→新建→效果→粒子系统。

1.粒子系统的基本组成部分:
Emitter(发射器)︰定义了粒子的发射方式,包括发射速度、方向、形状等。一个粒子系统可以有多个发射器。
Particle(粒子)︰粒子是粒子系统中的基本元素,它们在场景中移动和改变外观。每个粒子都有自己的寿命、颜色、大小等属性。
Module(模块)︰模块是粒子系统的可配置部分,用于定义粒子的各种属性和行为

2.Unity粒子系统的常用模块:

发射器模块(Emitter Module):控制粒子的发射方式,包括发射速度、方向、形状等。

主模块(Main Module) :定义了整个粒子系统的主要属性,如开始速度、开始颜色、生命周期等。

颜色过渡模块(Color over Lifetime Module) :控制粒子的颜色随时间变化。

大小过渡模块(Size over Lifetime Module) :控制粒子的大小随时间变化。

速度过渡模块(Velocity over Lifetime Module) :控制粒子的速度随时间变化。

旋转过渡模块((Rotation over Lifetime Module) :控制粒子的旋转随时间变化。

外部力模块(External Forces Module) :允许外部力对粒子系统产生影响,如风力重力等。

示例:做一个火焰效果。

将渲染器的材质改为火焰

将起始生命周期改为1.

将随单位时间产生的粒子数改为50

将形状中的角度修改为0,半径改为0.1。

将生命周期内大小改为从大到小。

        

将生命周期内颜色改为最开始改为红色末尾改为黄色。

最后效果:

相关文章:

unity学习笔记

一、射线检测 如何让鼠标点击某个位置,游戏角色就能移动到该位置? 实现的原理分析:我们能看见游戏的东西就是摄像机拍摄到的东西,所以摄像机的镜平面就是当前能看到的了。 那接下来我们可以让摄像机发射一条射线,鼠标…...

使用SpringBoot和ZXing实现二维码生成与解析

一、ZXing简介 ZXing是一个开源的,用Java实现的多种格式的1D/2D条码图像处理库。它包含了用于解析多种格式的1D/2D条形码的工具类,目标是能够对QR编码,Data Matrix, UPC的1D条形码进行解码。在二维码编制上,ZXing巧妙地利用构成计…...

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值,针对不同类型,我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…...

Monkey

一、Monkey的概念 “猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人(就像猴子一样)不需要知道程序的任何用户交互方面的知识,如果给他一个程序,他就会针对他看到的界面进行操作,其操作是无目的的、乱点乱按…...

SQL中left join、right join、inner join等的区别

一张图可以简洁明了的理解出left join、right join、join、inner join的区别: 1、left join 就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据&#…...

算法学习—排序

排序算法 一、选择排序 1.算法简介 选择排序是一个简单直观的排序方法,它的工作原理很简单,首先从未排序序列中找到最大的元素,放到已排序序列的末尾,重复上述步骤,直到所有元素排序完毕。 2.算法描述 1&#xff…...

在Pycharm中创建项目新环境,安装Pytorch

在python项目中,很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…...

linux里source、sh、bash、./有什么区别

1、source source a.sh 在当前shell内去读取、执行a.sh,而a.sh不需要有"执行权限" source命令可以简写为"." . a.sh 注意:中间是有空格的。 2、sh/bash sh a.sh bash a.sh 都是打开一个subshell去读取、执行a.sh,而a.…...

IDEA编译器技巧-提示词忽略大小写

IDEA编译器技巧-提示词忽略大小写 写代码时,每次创建对象都要按住 Shift 字母 做大写开头, 废手, 下面通过编译器配置解放Shift 键 setting -> Editor -> General -> Code Completion -> Match case 把这个√去掉, 创建对象就不需要再按住 Shift 键 示例: 1.…...

【MySQL】MySQL安装 环境初始化

MySQL安装 MYSQL官网 安装完成后,傻瓜下一步即可 配置一下环境变量即可 (1) 初始化MySQL, 管理员身份运行 mysqld --initialize-insecure(2) 注册 mysqld mysqld -install# 如果记录以前的版本执行下面指令 mysqld -remove(3) 启动MySQL服务 // 启动mysql服务 net start …...

C# IList 与List区别二叉树的层序遍历

IList 接口&#xff1a; IList 是一个接口&#xff0c;定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerable<T>&#xff0c;是所有泛型列表的基接&#xff0c;口它提供了对列表中元素的基本操作&#xff0c;如添加、删除、索引访问等。IList 不是一个具…...

助力android面试2024【面试题合集】

转眼间&#xff0c;2023年快过完了。今年作为口罩开放的第一年大家的日子都过的十分艰难&#xff0c;那么想必找工作也不好找&#xff0c;在我们android开发这一行业非常的卷&#xff0c;在各行各业中尤为突出。android虽然不好过&#xff0c;但不能不吃饭吧。卷归卷但是还得干…...

【动态规划】LeetCode-62.不同路径

&#x1f388;算法那些事专栏说明&#xff1a;这是一个记录刷题日常的专栏&#xff0c;每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目&#xff0c;在这立下Flag&#x1f6a9; &#x1f3e0;个人主页&#xff1a;Jammingpro &#x1f4d5;专栏链接&…...

对 Vision Transformers 及其基于 CNN-Transformer 的变体的综述

A survey of the Vision Transformers and its CNN-Transformer based Variants 摘要1、介绍2、vit的基本概念2.1 patch嵌入2.2 位置嵌入2.2.1 绝对位置嵌入(APE)2.2.2 相对位置嵌入(RPE)2.2.3卷积位置嵌入(CPE) 2.3 注意力机制2.3.1多头自我注意(MSA) 2.4 Transformer层2.4.1 …...

MongoDB简介

数据库&#xff0c;顾名思义&#xff0c;是保存数据的地方。中华文化博大精深&#xff0c;短短3个文字&#xff0c;就定义了一个强大的数据管理和读写方式出来。数据库&#xff0c;管理的对象是数据。称为库&#xff0c;表示数据在库中有组织&#xff0c;相互之间有微妙的关系。…...

尚硅谷hadoop3.x课程部分资料文件下载,jdk,hadoopjar包

jdk文件百度云下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1MCiGRzOZY8rAFpRJwA3tdw 提取码&#xff1a;kphl hadoop的jar包&#xff1a; 最新版官网链接&#xff1a; Index of /dist/hadoop/core/stable (apache.org) 百度云下载&#xff0c;3.3.3版&#xf…...

vue el-radio-group多选封装及使用

基于Element UI库的Vue组件&#xff0c;实现了一个单选/多选框组合的效果&#xff0c;可以根据 type 属性的不同值来切换单选框&#xff08;默认&#xff09;和按钮式单选框/多选框。 创建组件index.vue (src/common-ui/radioGroup/index.vue) <template><el-radio-g…...

Kaggle-水果图像分类银奖项目 pytorch Densenet GoogleNet ResNet101 VGG19

一些原理文章 卷积神经网络基础&#xff08;卷积&#xff0c;池化&#xff0c;激活&#xff0c;全连接&#xff09; - 知乎 PyTorch 入门与实践&#xff08;六&#xff09;卷积神经网络进阶&#xff08;DenseNet&#xff09;_pytorch conv1x1_Skr.B的博客-CSDN博客GoogLeNet网…...

TPLink-Wr702N 通过OpenWrt系统打造打印服务器实现无线打印

最近淘到了一个TPLink-Wr702N路由器&#xff0c;而且里面已经刷机为OpenWrt系统了&#xff0c;刚好家里有一台老的USB打印机&#xff0c;就想这通过路由器将打印机改为无线打印机&#xff0c;一番折腾后&#xff0c;居然成功了&#xff0c;这里记录下实现过程&#xff0c;为后面…...

[UGUI]实现从一个道具栏拖拽一个UI道具到另一个道具栏

在Unity游戏开发中&#xff0c;实现UI道具的拖拽功能是一项常见的需求。本文将详细介绍如何使用Unity的UGUI系统和事件系统&#xff0c;实现从一个道具栏拖拽一个UI道具到另一个道具栏的功能。 一、准备工作 首先&#xff0c;你需要在Unity中创建两个道具栏和一些UI道具。道具…...

2026免费在线去水印软件怎么选?实测5款推荐+功能对比指南

为什么需要去水印工具&#xff1f; 在内容创作和日常使用中&#xff0c;水印是版权保护的重要标志&#xff0c;但有时我们需要处理自己拥有版权的内容或进行合法的编辑操作。无论是整理自己的工作素材、编辑设计稿&#xff0c;还是去除合法获取内容上的平台标记&#xff0c;都需…...

Unity Low Poly动物资源包:性能优化与开箱即用实践指南

1. 这个Low Poly Animated Animals资源包到底解决了什么问题&#xff1f;在Unity项目开发中&#xff0c;尤其是独立游戏、教育模拟、原型验证或轻量级AR应用里&#xff0c;我见过太多团队卡在“生态感”这个看似简单实则棘手的环节上。不是没有动物模型——恰恰相反&#xff0c…...

AI安全——实战敏感词汇绕过手法

一、前言 在今年大概 6 月份的时候&#xff0c;煮波在一些公众号以及 src 平台上看到了一个船新漏洞——AI 漏洞&#xff0c;后面更是看到了应运而生的所谓《ai 魔咒》&#xff0c;随着人工智能的兴起&#xff0c;一些学校或者机构或者平台都部署了 AI&#xff0c;有些 AI 虽然…...

PHP Intelephense项目结构解析:多工作区、虚拟工作区与远程开发

PHP Intelephense项目结构解析&#xff1a;多工作区、虚拟工作区与远程开发 【免费下载链接】vscode-intelephense PHP intellisense for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-intelephense PHP Intelephense是一款为Visual Studio …...

WZLBadge高级定制:从颜色位置到字体半径的完全自定义

WZLBadge高级定制&#xff1a;从颜色位置到字体半径的完全自定义 【免费下载链接】WZLBadge //An one-line tool to show styles of badge for UIView 项目地址: https://gitcode.com/gh_mirrors/wz/WZLBadge WZLBadge是一款功能强大的iOS徽章工具&#xff0c;能够帮助开…...

为OpenClaw智能体工作流配置Taotoken作为稳定的模型供应后端

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为稳定的模型供应后端 在构建基于OpenClaw的复杂自动化工作流时&#xff0c;一个稳定且模型…...

如何彻底解决游戏键盘冲突:Hitboxer SOCD Cleaner完整指南

如何彻底解决游戏键盘冲突&#xff1a;Hitboxer SOCD Cleaner完整指南 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否在激烈的游戏对战中遇到过这样的困扰&#xff1f;同时按下W和S键时角色突然卡顿&…...

从零到出版级作品,包豪斯风格AI绘图全流程拆解,含12个可复用提示模板与字体/网格参数表

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;包豪斯设计哲学与AI绘图的底层耦合 包豪斯学派所倡导的“形式追随功能”“少即是多”“艺术与技术统一”三大信条&#xff0c;并非仅属于20世纪的工艺宣言&#xff0c;而是深度嵌入现代生成式AI模型的架构基因…...

AI人工智能行业的发展:从机器学习到深度学习的演变历程

在数字化浪潮席卷全球的当下&#xff0c;人工智能&#xff08;AI&#xff09;已然成为推动各行业变革的核心力量。对于软件测试从业者而言&#xff0c;深入了解AI从机器学习到深度学习的演变历程&#xff0c;不仅能把握技术发展脉络&#xff0c;更能为测试工作的智能化转型提供…...

二年级下册语文看图写话作文:长大以后做什么

二年级下册语文《长大以后做什么》看图写话&#xff0c;重点是&#xff1a;长大想做什么职业为什么想做以后会怎么努力老师最喜欢“有梦想 有原因 有行动”的内容。我用夸克网盘分享了「二年级下册语文作文」&#xff0c;链接&#xff1a;https://pan.quark.cn/s/3ee38f2d976…...