码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • unity 鼠标标记 左键长按生成标记右键长按清除标记,对象转化为子物体


    linerender的标记参考

    unity linerenderer在Game窗口中任意画线_游戏内编辑linerender-CSDN博客

    让生成的标记转化为ARMarks游戏对象的子物体

    LineMark.cs

    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. public class LineMark : MonoBehaviour
    5. {
    6. private GameObject clone;
    7. private LineRenderer line;
    8. private int i;
    9. public GameObject obs;
    10. public GameObject arMarks;
    11. // Use this for initialization
    12. void Start()
    13. {
    14. //arMarks = new GameObject("ARMarks");
    15. }
    16. // Update is called once per frame
    17. void Update()
    18. {
    19. //0是鼠标左键 按下时重新生成标记
    20. if (Input.GetMouseButtonDown(0))
    21. {
    22. clone = (GameObject)Instantiate(obs, obs.transform.position, transform.rotation);//克隆一个带有LineRender的物体
    23. line = clone.GetComponent();//获得该物体上的LineRender组件
    24. line.SetColors(Color.blue, Color.red);//设置颜色
    25. line.SetWidth(0.2f, 0.1f);//设置宽度
    26. i = 0;
    27. //将标记设为子物体
    28. print("11111111111111111");
    29. }
    30. //长按左键绘制标记
    31. if (Input.GetMouseButton(0))
    32. {
    33. i++;
    34. line.SetVertexCount(i);//设置顶点数
    35. line.SetPosition(i - 1, Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 15)));//设置顶点位置
    36. //GameObject lines_mark = GameObject.Find(clone.name);
    37. clone.layer = 3;
    38. clone.transform.parent = arMarks.transform;
    39. print("222222222222222222222");
    40. }
    41. //1是鼠标右键 按右键清除标记
    42. if (Input.GetMouseButton(1))
    43. {
    44. for (int i = 0; i < arMarks.transform.childCount; i++)
    45. {
    46. Destroy(arMarks.transform.GetChild(i).gameObject);
    47. }
    48. print("33333333333333333333333");
    49. }
    50. }
    51. }

    如果显示的背景尺寸太大,则线会很细,如下

    Game窗口

    放大之后的scene窗口

    这时需要将代码中的值修改一下即可

                line.SetWidth(2f, 2f);//设置宽度  

  • 相关阅读:
    Python 随机数 广播
    Yocto Project 编译imx-第1节(下载和编译)
    实用的3款视频添加水印软件分享,简单易上手
    C++语言程序设计任务书
    护理管理学名词解释
    笨蛋学算法之LeetCodeHot100_3_最长连续序列(Java)
    python: 基于种群模拟退火算法解决单目标优化(试用于任意维的测试函数)
    ENVI IDL:MODIS SWATH产品的点位-像元提取(另附Python代码)
    【多线程】信号量 Semaphore
    实战纪实 | 某米企业src未授权访问
  • 原文地址:https://blog.csdn.net/moonlightpeng/article/details/133320044
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号