Unity组件TrailRenderer屏幕滑动拖尾

Unity组件TrailRenderer屏幕滑动拖尾

  • 介绍
  • 制作
  • 总结

介绍

今天要做一个拖动效果,正好用到了TrailRenderer这个组件,正好分享一下

效果参考如下:

请添加图片描述

制作

1.创建空物体TrailObject添加组件TrailRenderer
下面的材质可以根据自己想要制作的效果去拖动材质即可(我这里用的是Unity原生的Shader粒子的)
在这里插入图片描述
2.创建操作脚本TrailController.CS

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TrailController : MonoBehaviour
{
    private TrailRenderer trailRenderer;

    void Start()
    {
        // 获取主相机和Trail Renderer组件
        trailRenderer = GetComponent<TrailRenderer>();

        // 初始化Trail Renderer
        trailRenderer.time = 0.5f; // 拖尾持续时间
        trailRenderer.startWidth = 0.2f; // 拖尾起始宽度
        trailRenderer.endWidth = 0.1f; // 拖尾结束宽度
    }

    /// <summary>
    /// 设置位置
    /// </summary>
    /// <param name="pos"></param>
    public void SetDragPos(Vector3 pos) 
    {
        // 更新拖尾对象的位置
        transform.position = pos;
    }

    /// <summary>
    /// 清除拖尾
    /// </summary>
    public void Clear() 
    {
        trailRenderer.Clear();
    }

    private void Update()
    {
        if (Input.GetMouseButton(0)) 
        {
            Vector3 p = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            p.z = 0; // 确保Z坐标为0(2D游戏)
            SetDragPos(p);
        }

        if (Input.GetMouseButtonUp(0)) 
        {
            Clear();
        }
        
    }
}

3.将写好的脚本添加到创建的TrailObject物体上
在这里插入图片描述
4.最后自己运行测试即可

总结

感谢大家的支持和帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

laravel中 添加公共/通用 方法/函数

一&#xff0c;现在app 下面创建Common目录&#xff0c;然后在创建Common.php 文件 二&#xff0c;修改composer.json文件 添加这个到autoload 中 "files": ["app/Common/Common.php"]"autoload": {"psr-4": {"App\\": &quo…

C#程序加密与解密Demo程序示例

目录 一、加密程序功能介绍 1、加密用途 2、功能 3、程序说明 4、加密过程 5、授权的注册文件保存方式 二、加密程序使用步骤 1、步骤一 ​编辑2、步骤二 3、步骤三 4、步骤四 三、核心代码说明 1、获取电脑CPU 信息 2、获取硬盘卷标号 3、机器码生成 3、 生成…

批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式

Excel 格式转换是我们工作过程当中非常常见的一个需求&#xff0c;我们通常需要将 Excel 转换为其他各种各样的格式。比如将 Excel 转换为 PDF、比如说将 Excel 转换为 Word、再比如说将 Excel文档转换为图片等等。 这些操作对我们来讲都不难&#xff0c;因为我们通过 Office 都…

【报错】微信小程序预览报错”60001“

1.问题描述 我在微信开发者工具写小程序时&#xff0c;使用http://localhost:8080是可以请求成功的&#xff0c;数据全都可以无报错&#xff0c;但是点击【预览】&#xff0c;用手机扫描二维码浏览时&#xff0c;发现前端图片无返回且报错60001&#xff08;打开开发者模式查看日…

概念|RabbitMQ 消息生命周期 待消费的消息和待应答的消息有什么区别

目录 消息生命周期 一、消息创建与发布阶段 二、消息路由与存储阶段 三、消息存活与过期阶段 四、消息投递与消费阶段 五、消息生命周期终止 关键配置建议 待消费的消息和待应答的消息 一、待消费的消息&#xff08;Unconsumed Messages&#xff09; 二、待应答的消息…

电路原理(电容 集成电路NE555)

电容 1.特性&#xff1a;充放电&#xff0c;隔直流&#xff0c;通交流 2.电容是通过聚集正负电荷来存储电能的 3.电容充放电过程可等效为导通回路 4.多电容并联可以把容量叠加&#xff0c;但是多电容串联就不会&#xff0c;只会叠加电容的耐压值。 6.电容充放电时相当于通路&a…

Manus:成为AI Agent领域的标杆

一、引言 官网&#xff1a;Manus 随着人工智能技术的飞速发展&#xff0c;AI Agent&#xff08;智能体&#xff09;作为人工智能领域的重要分支&#xff0c;正逐渐从概念走向现实&#xff0c;并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中&#xff0c;Manus以其独…

@ComponentScan和@SpringBootApplication的scanBasePackages 同时使用

一、SpringBootApplication(scanBasePackages {"com.xx","com.xxx"}) 从注释里可以看出&#xff0c;SpringBootApplication的scanBasePackages 和ComponentScan 等同。 二、ComponentScan 三、对比 两者作用相同&#xff0c;如果不指定包名&#xff0c;默…

记录排查服务器CPU负载过高

1.top 命令查看cpu占比过高的进程id 这里是 6 2. 查看进程中占用CPU过高的线程 id 这里是9 top -H -p 6 ps -mp 6 -o THREAD,tid,time 使用jstack 工具 产看进程的日志 需要线程id转换成16进制 jstack 6 | grep “0x9” 4.jstack 6 可以看进程的详细日志 查看日志发现是 垃圾回…

处理动态分页:自动翻页与增量数据抓取策略-数据议事厅

一、案例场景 Lily&#xff08;挥舞着数据报表&#xff09;&#xff1a;“用户反馈我们的股票舆情分析总是缺失最新跟帖&#xff01;这些动态分页像狡猾的狐狸&#xff0c;每次抓取都漏掉关键数据&#xff01;” 小王&#xff08;调试着爬虫代码&#xff09;&#xff1a;“传…

Vue.js 与 Axios 实现音乐自由

目录 文章目录 概要 技术名词解释 技术细节 歌曲搜索 歌曲播放 播放动画 小结 概要 使用 Vue.js 和 Axios 实现一个功能丰富的音乐播放器&#xff0c;让用户能够自由地搜索、播放和管理音乐。这个过程涉及到 Vue.js 的组件化开发、状态管理以及 Axios 的网络请求处理&am…

贪心算法--

1.柠檬水找零 link:860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; code class Solution { public:bool lemonadeChange(vector<int>& bills) {// 贪心算法&#xff0c; 优先花出大面额bill&#xff0c; 尽可能保护小面额billint five 0, ten 0;// 不…

[machine learning] DP(Data Parallel) vs DDP(Distributed Data Parallel)

DP和DDP是并行训练的两种方法&#xff0c;本文简单介绍它们两者的区别。 一、DP (Data Parallel) DP是单进程&#xff0c;多线程的&#xff0c;每个线程负责一个GPU&#xff0c;它只适用于一台机器。DP训练的流程如下图所示(图片转载自&#xff1a;https://medium.com/mlshar…

vue+dhtmlx-gantt 实现甘特图-快速入门【甘特图】

文章目录 一、前言二、使用说明2.1 引入依赖2.2 引入组件2.3 引入dhtmlx-gantt2.4 甘特图数据配置2.5 初始化配置 三、代码示例3.1 Vue2完整示例3.2 Vue3 完整示例 四、效果图 一、前言 dhtmlxGantt 是一款功能强大的甘特图组件&#xff0c;支持 Vue 3 集成。它提供了丰富的功…

CI/CD—Jenkins配置Maven+GitLab自动构建jar包

一、安装Maven插件通过Maven构建项目 1、在Jenkins上安装Maven Integration plugin插件 2、创建一个maven项目 2.1、填写构建的名称和描述等 2.2、填写连接git的url 报错&#xff1a;无法连接仓库&#xff1a;Error performing git command: git ls-remote -h http://192.168.…

基于DeepSeek的智慧医药系统(源码+部署教程)

运行环境 智慧医药系统运行环境如下&#xff1a; 前端&#xff1a; HTMLCSS后端&#xff1a;Java AIGCDeepseekIDE工具&#xff1a;IDEA技术栈&#xff1a;Springboot HTMLCSS MySQL 主要角色 智慧医药系统主要分为两个角色。 游客 尚未进行注册和登录。具备登录注册、…

java BCC异或校验例子

需求 对一个十六进制的字符串进行BCC校验 方法 private static String XORCheck(String rawMsg) {// 16进制字符串需要转成10进制数组进行校验&#xff0c;然后再返回16进制字符串用于与原来的字符匹配byte[] bytes HexDumpMsgFormat.hexStr2DesBytes(rawMsg);return BytesUt…

保安员考试:巧用记忆术,攻克理论知识堡垒

保安员考试&#xff1a;巧用记忆术&#xff0c;攻克理论知识堡垒 一、构建知识框架&#xff0c;提纲挈领 保安员考试理论知识繁杂&#xff0c;涵盖保安基础理论、法律常识等多方面。首先要依据考试大纲&#xff0c;梳理出清晰的知识框架。以保安基础理论为例&#xff0c;将保安…

游戏引擎学习第145天

仓库:https://gitee.com/mrxiao_com/2d_game_3 今天的计划 目前&#xff0c;我们正在完成遗留的工作。当时我们已经将声音混合器&#xff08;sound mixer&#xff09;集成到了 SIMD 中&#xff0c;但由于一个小插曲&#xff0c;没有及时完成循环内部的部分。这个小插曲主要是…

ForceMimic:以力为中心的模仿学习,采用力运动捕捉系统进行接触丰富的操作

25年3月来自上海交大卢策吾教授团队的论文“ForceMimic: Force-Centric Imitation Learning with Force-Motion Capture System for Contact-Rich Manipulation”。 在大多数接触丰富的操作任务中&#xff0c;人类会将随时间变化的力施加到目标物体上&#xff0c;以补偿视觉引…