Unity Line Renderer Component入门

Overview

Line Renderer 组件是 Unity 中用于绘制连续线段的工具。它通过在三维空间中的两个或两个以上的点的数组,并在每个点之间绘制一条直线。可以绘制从简单的直线到复杂的螺旋线等各种图形。

1. 连续性和独立线条

  • 连续性:Line Renderer 绘制的线条始终是连续的,即一条直线连接每两个相邻的点。

  • 独立线条:如果需要绘制多个完全分开的线段,应该使用多个 GameObject,每个 GameObject 配置一个独立的 Line Renderer。

  • 世界单位:Line Renderer 渲染的线条宽度不是以像素为单位,而是以世界单位为单位。这意味着线条的宽度会根据世界空间中的实际尺寸进行计算,而不是屏幕像素大小。

Getting started

这样会在三维空间创建一个默认的Line.

三种编辑模式

None,Edit Points和Create Points.顶部有两个开关,两个开关都没有选择的情况下是None,点击第一个就进入了Edit Points模式,再次点击则回到None,第二个同理代表Create Points模式.

None模式

  • Simplify(简化):

    • 点击 Simplify 按钮后,Line Renderer 会根据设置的 Tolerance 值,使用 Ramer-Douglas-Peucker 算法 来简化线条的点。这一算法会根据你设置的公差值,计算并删除不必要的点,从而减少 Line Renderer 中的点数。
    • 通过简化,你可以显著提高性能,尤其是在需要大量渲染线条的情况下,减少过多的点可以降低计算量。
  • Simplify Preview(简化预览):

    • 启用这个选项后,你可以在 Inspector 窗口中看到简化操作的预览效果。这意味着你可以实时查看简化后的线条效果,而不必实际执行简化操作。
  • Tolerance(公差):

    • Tolerance 控制简化过程中允许线条偏离原始线条的程度。换句话说,Tolerance 设置了简化过程中允许的最大误差。
    • 0 的值表示没有偏差,因此没有简化效果,线条保持原样。
    • 较高的正值表示允许更大的偏差,从而进行更多的简化。例如,如果你设置一个较高的值,简化后的线条会失去一些精度,但点的数量会显著减少。
    • 默认值是 1,表示有一定的简化,但仍会保持较为平滑的曲线。

    Edit Points模式

    当设置为 Edit Points 时,Unity 会在 Scene 视图中将 Line RendererPositions 数组 中的每个点表示为一个黄色球体。可以使用 移动工具 (Move tool) 来移动这些点,从而调整线条的形状。

    左键套索一个或者多个点

    • Show Wireframe(显示线框):

      • 启用此选项后,Unity 会在 Scene 视图中绘制一个线框,帮助你可视化线条的形状。这个线框将帮助你更清晰地查看并调整线条的构成。
    • Subdivide Selected(细分选中的点):

      • 当你选中两个或更多相邻的点时,Subdivide Selected 按钮会变得可用。点击此按钮后,Unity 会在选中的相邻点之间插入一个新点,从而细分这两个点之间的线段,使线条更加平滑。

    Create Points模式

    当设置为 Create Points 时,可以在 Scene 视图 中点击以将新点添加到 Line RendererPositions 数组 的末尾。通过鼠标点击或射线检测的方式来添加新的点,这让编辑变得更加直观和方便。

    • Input(输入方式):
      • 选择你希望使用的输入方式来创建点。
      • Mouse Position(鼠标位置):根据鼠标在 Scene 视图中的位置创建新点。
      • Physics Raycast(物理射线检测):根据射线投射在 Scene 中的碰撞位置来创建新点。Unity 会在射线碰撞的点上创建新点。
    • Layer Mask(层掩码):
      • 当输入方式设置为 Physics Raycast 时,你可以使用此属性来指定射线检测时所用的层。它帮助你过滤掉不需要的对象,仅创建射线与特定层上的物体碰撞时的点。
    • Min Vertex Distance(最小顶点距离):
      • 当你在 Scene 视图中拖动鼠标以创建点时,Line Renderer 会在鼠标拖动的距离超过此值时才创建一个新点。这样可以避免过于密集的点,使线条更简洁。
    • Offset(偏移):
      • 这个属性决定了创建点时的偏移量:
        • 如果输入方式设置为 Mouse Position,则偏移是相对于 Scene 摄像机的。
        • 如果输入方式设置为 Physics Raycast,则偏移是相对于射线的法线方向。

    Line settings

    1. Loop(闭环)
    • 启用此选项后,Line Renderer 会将线条的第一个点与最后一个点连接起来,形成一个闭合的环形线条。
    2. Positions(位置)
    • 一个 Vector3 数组,用于定义 Line Renderer 需要连接的点。每个点都会形成线条的一个顶点。
    3. Width(宽度)
    • 设置线条的宽度值和曲线值,以控制线条沿着其长度的宽度。

    横坐标对应线长,纵坐标对应宽度.

    4. Color(颜色)
    • 定义一个渐变来控制线条沿其长度的颜色变化。
      • Unity 会在每个顶点处从颜色渐变中采样,并在相邻的顶点之间进行线性插值。通过增加更多顶点,可以更精确地逼近复杂的颜色渐变效果。
    5. Corner Vertices(转角顶点)
    • 控制绘制转角时所使用的额外顶点数量。增加此值可以使线条的转角看起来更加圆滑。
    6. End Cap Vertices(端点顶点)
    • 控制绘制端点时所使用的额外顶点数量。增加此值可以使线条的端点看起来更加圆滑。
    7. Alignment(对齐方式)
    • 设置线条面朝的方向。
      • View:线条朝向摄像机。线条会始终朝向摄像机。也就是说,不管摄像机在哪里,线条的“前方”总是面向摄像机。这个设置通常用于确保线条始终面向玩家或视角的方向,常见于需要根据摄像机角度动态调整的场景中。
      • TransformZ:线条朝向其 Transform 组件的 Z 轴。线条会根据其 Transform 组件Z 轴 来确定朝向。这意味着线条会沿着 GameObjectZ 轴 绘制,不会随摄像机的移动而改变方向。这个设置适用于你希望线条保持固定方向,并且不受摄像机角度影响的场景。
    8. Texture Mode(纹理模式)
    • 控制纹理如何应用到线条上。
      • Stretch:将纹理一次性贴图到整个线条长度。
      • Tile:根据线条的世界单位长度重复纹理。可以通过 Material.SetTextureScale 来设置纹理的平铺频率。
      • DistributePerSegment:假设所有顶点均匀分布,纹理会被映射一次,覆盖整个线条的长度。
      • RepeatPerSegment:沿着线条重复纹理,每个线段重复一次。可以通过 Material.SetTextureScale 来调整纹理的平铺频率。
    9. Shadow Bias(阴影偏差)
    • 设置将阴影从光源偏移的量,以去除由于将体积近似为广告板几何体而导致的阴影伪影。
    10. Generate Lighting Data(生成光照数据)
    • 启用此选项后,Unity 会在构建线条几何体时包含法线和切线信息,从而使材质能够使用场景的光照。
    11. Use World Space(使用世界空间)
    • 如果启用,则将 Positions 数组中的点视为世界空间坐标。如果禁用,则点的位置相对于附加此组件的 GameObject 的Transform进行计算(即局部空间)。

    Materials

    组件使用的的全部材质列表

    Lighting

    阴影和全局光照相关的设置.

    Line Renderer 组件中的相关设置

    1. Cast Shadows(投射阴影)

      • 说明:该属性用于指定 Line Renderer 是否会在有适当光源时投射阴影。

      • 选项

        • On:该 Line Renderer 会投射阴影,只要有合适的光源照射。
        • Off:该 Line Renderer 不会投射阴影。
        • Two-sided:该 Line Renderer 会投射双面阴影,这意味着即使是单面物体(例如平面或四边形)也可以在光源位于其背后时投射阴影。
        • Shadows Only(仅阴影):启用此选项后,Line Renderer 仅投射阴影,而本身不会被渲染出来。

        注意:如果启用了 Baked Global Illumination(烘焙全局光照)或 Enlighten Realtime Global Illumination(Enlighten 实时全局光照),要支持双面阴影,材质必须支持 Double Sided Global Illumination(双面全局光照)。

    2. Receive Shadows(接收阴影)

      • 说明:该属性控制 Line Renderer 是否会接收投射到它上的阴影。只有在启用了 Baked Global IlluminationEnlighten Realtime Global Illumination 时,此设置才会生效。
      • 对应API:此属性对应于 Renderer.receiveShadows API。
    3. Contribute Global Illumination(贡献全局光照)

      • 说明:启用此属性后,Line Renderer 会参与全局光照计算(通常在光照烘焙时进行)。这使得它在 Baked Global IlluminationEnlighten Realtime Global Illumination 计算时考虑进来。
      • 对应API:启用此选项会在 GameObjectStatic Editor Flags 中启用 Contribute GI 标志,并与 StaticEditorFlags.ContributeGI API 对应。
    4. Receive Global Illumination(接收全局光照)

      • 说明:此属性决定 Line Renderer 是否会接收来自光照贴图或运行时光照探针的全局光照数据。只有启用了 Contribute Global Illumination 属性时,才可以编辑此选项。
      • 对应API:此属性与 MeshRenderer.receiveGI API 对应。

    其他的光照和阴影设置:

    • Lightmaps(光照贴图):控制是否使用光照贴图来接收全局光照。
    • Light Probes(光照探针):控制是否使用光照探针接收全局光照数据。
    • Prioritize Illumination(优先光照):启用此选项可以确保该渲染器始终参与 Enlighten 实时全局光照 计算,确保远距离发光物体的影响不会被排除。

    主要影响 Line Renderer 如何与场景中的光源、阴影、光照贴图、全局光照等互动。如果 Line Renderer 需要在光照环境中表现更为真实或者需要影响场景的光照计算,这些设置会非常有用。

    这是 Line Renderer 组件 中关于 光照探针 (Light Probes)反射探针 (Reflection Probes) 的设置部分。以下是这些设置的详细解释和翻译:

    Probes(探针)

    Light Probes(光照探针)

    此属性控制 Line Renderer 如何使用场景中的光照探针系统。光照探针可以提供环境中的光照信息,通常用于间接光照或实时光照数据。

    • Off(关闭)

      • 说明:禁用光照探针。Line Renderer 将不会使用任何插值的光照探针数据。
    • Blend Probes(混合光照探针)

      • 说明:启用插值光照探针(默认值)。Line Renderer 将使用一个插值后的光照探针来提供光照信息。
    • Use Proxy Volume(使用代理体积)

      • 说明:启用此选项时,Line Renderer 会使用一个3D网格形式的插值光照探针。它通过代理体积来决定光照的插值方式。
    • Custom Provided(自定义提供)

      • 说明:通过 MaterialPropertyBlock 从材质中提取光照探针的着色器统一值。这允许您自定义光照探针的行为。
    • Proxy Volume Override(代理体积覆盖)

      • 说明:设置一个其他 GameObject,该 GameObject 必须具有 Light Probe Proxy Volume 组件。启用此选项后,Line Renderer 将使用该代理体积组件中的光照探针数据。

      注意:此选项只有在 Light Probes 设置为 Use Proxy Volume 时才可见。

    Reflection Probes(反射探针)

    此属性控制 Line Renderer 如何接收来自反射探针的反射信息。反射探针通常用于提供场景中反射光的详细信息,适用于反射效果的渲染。

    • Off(关闭)
      • 说明:禁用反射探针。Unity 将使用默认的天空盒来处理反射,而不使用反射探针数据。
    • Blend Probes(混合反射探针)
      • 说明:启用反射探针,并且仅在多个反射探针之间进行混合。这在室内环境中尤其有用,在这种环境中,角色可能会在不同的光照条件之间切换。
    • Blend Probes and Skybox(混合反射探针和天空盒)
      • 说明:启用反射探针,并支持反射探针和默认天空盒之间的混合。这适用于室外环境,可以使得反射更加自然。
    • Simple(简单)
      • 说明:启用反射探针,但在两个重叠的反射体积之间没有混合。适用于简单的反射效果,不需要复杂的过渡。
    Anchor Override(锚点覆盖)
    • 说明:此设置指定 Unity 使用哪个 Transform 来确定在使用光照探针或反射探针时的插值位置。默认情况下,Unity 使用 Renderer 几何体的边界框中心来确定插值位置。

    • 对应 API:此属性对应于 Renderer.probeAnchor API。

    总结:

    这些设置控制 Line Renderer 如何与光照探针和反射探针互动,从而影响其光照和反射效果的渲染。根据场景的光照需求,可以启用或禁用这些探针功能,或选择不同的探针插值模式,以实现更精确的光照和反射表现。

    Additional Settings

    Motion Vectors(运动向量)
    • 说明:设置是否使用运动向量来跟踪 Renderer 每个像素在屏幕空间中的运动。这些运动信息可以用于应用后处理效果,如运动模糊。

    • 注意:并非所有平台都支持运动向量。可以查看 SystemInfo.supportsMotionVectors 来确认是否支持此功能。

    • 对应 API:此属性对应于 Renderer.motionVectorGenerationMode API。

      运动模式选项

      • Camera Motion Only(仅摄像机运动):仅跟踪摄像机的运动。
      • Per Object Motion(每个对象的运动):使用特定的通道来跟踪该 Renderer 的运动。
      • Force No Motion(强制不跟踪运动):不跟踪任何运动。
    Dynamic Occlusion(动态遮挡)
    • 说明:启用动态遮挡时,Unity 的遮挡剔除系统会在 Renderer 被静态遮挡物(如墙壁)阻挡时将其剔除,不进行渲染。
    • 默认:动态遮挡默认启用。
    • 应用场景:对于一些特殊效果,例如绘制角色的轮廓在墙后,可以禁用动态遮挡来确保该效果被正确渲染。
    Sorting Layer(排序层)
    • 说明:设置该 Renderer 所在的 Sorting Layer,用于确定渲染顺序。这个属性通常用于 2D 渲染系统,但在 3D 场景中也可通过设置不同的排序层来控制显示的先后顺序。
    Order in Layer(层级中的顺序)
    • 说明:设置该 RendererSorting Layer 中的渲染顺序。较大的值会覆盖较小值的渲染,适用于多个渲染对象之间的排序。

    总结:

    这些附加设置为 Line Renderer 提供了进一步的控制选项,主要用于调整渲染行为和效果。包括:

    • 运动向量 用于后处理效果,如运动模糊;
    • 动态遮挡 用于提高渲染性能,避免渲染被遮挡的物体;
    • 排序层层级中的顺序 用于控制渲染顺序,尤其在处理多个 2D 或 3D 渲染对象时非常有用。

    常用API

    1. 基本属性和方法

    • positionCount: 获取或设置 Line Renderer 中点的数量(即数组的大小)。

      lineRenderer.positionCount = 5;  // 设置 5 个点
      
    • SetPosition(int index, Vector3 position): 设置线条在指定索引处的点的位置。

      lineRenderer.SetPosition(0, new Vector3(0, 0, 0));  // 设置第一个点的位置
      
    • GetPosition(int index): 获取指定索引处的点的位置。

      Vector3 position = lineRenderer.GetPosition(0);  // 获取第一个点的位置
      
    • widthMultiplier: 控制线条的宽度比例。

      lineRenderer.widthMultiplier = 0.1f;  // 设置线条的宽度
      
    • startWidthendWidth: 控制线条起始和结束处的宽度。

      lineRenderer.startWidth = 0.1f;  // 起始宽度
      lineRenderer.endWidth = 0.1f;    // 结束宽度
      
    • startColorendColor: 控制线条的起始和结束颜色。

      lineRenderer.startColor = Color.red;  // 起始颜色
      lineRenderer.endColor = Color.green;  // 结束颜色
      
    • loop: 设置线条是否应该连接回起始点形成闭环。

      lineRenderer.loop = true;  // 设置为闭合
      

    2. 控制材质和纹理

    • material: 设置 Line Renderer 的材质。

      lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
      
    • textureMode: 设置纹理的模式,控制纹理如何应用在整个线条上。

      lineRenderer.textureMode = LineTextureMode.Stretch;  // 拉伸纹理
      
    • alignment: 控制线条的朝向。

      lineRenderer.alignment = LineAlignment.Local;  // 根据对象的本地坐标轴
      

    3. 颜色和渐变

    • colorGradient: 使用渐变来控制线条颜色。
      Gradient gradient = new Gradient();
      gradient.SetKeys(
          new GradientColorKey[] { new GradientColorKey(Color.red, 0.0f), new GradientColorKey(Color.blue, 1.0f) },
          new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(0.0f, 1.0f) }
      );
      lineRenderer.colorGradient = gradient;
      

    4. 控制线条的细节

    • numCornerVertices: 设置绘制线条角落时使用的额外点的数量,用于使角落更加圆滑。

      lineRenderer.numCornerVertices = 10;  // 设置角落平滑度
      
    • numCapVertices: 设置线条末端的点数,以创建圆形端点。

      lineRenderer.numCapVertices = 10;  // 设置端点的平滑度
      
    • generateLightingData: 启用后,生成用于照明计算的法线和切线。

      lineRenderer.generateLightingData = true;
      

    5. 动态更新

    • enabled: 启用或禁用 Line Renderer 的渲染功能。
      lineRenderer.enabled = true;  // 启用 Line Renderer
      lineRenderer.enabled = false; // 禁用 Line Renderer
      

    示例代码

    using UnityEngine;
    
    public class LineRendererExample : MonoBehaviour
    {
        public LineRenderer lineRenderer;
    
        void Start()
        {
            // 设置 Line Renderer 属性
            lineRenderer.positionCount = 4;  // 4个点
            lineRenderer.SetPosition(0, new Vector3(0, 0, 0));   // 第一个点
            lineRenderer.SetPosition(1, new Vector3(1, 0, 0));   // 第二个点
            lineRenderer.SetPosition(2, new Vector3(1, 1, 0));   // 第三个点
            lineRenderer.SetPosition(3, new Vector3(0, 1, 0));   // 第四个点
    
            lineRenderer.startWidth = 0.1f; // 起始宽度
            lineRenderer.endWidth = 0.1f;   // 结束宽度
    
            lineRenderer.startColor = Color.red; // 起始颜色
            lineRenderer.endColor = Color.green; // 结束颜色
    
            lineRenderer.loop = true; // 闭合线条
    
            // 设置渐变色
            Gradient gradient = new Gradient();
            gradient.SetKeys(
                new GradientColorKey[] { new GradientColorKey(Color.red, 0.0f), new GradientColorKey(Color.blue, 1.0f) },
                new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(0.0f, 1.0f) }
            );
            lineRenderer.colorGradient = gradient;
        }
    }
    

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

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

    相关文章

    使用Chrome和Selenium实现对Superset等私域网站的截图

    最近遇到了一个问题,因为一些原因,我搭建的一个 Superset 的 Report 功能由于节假日期间不好控制邮件的发送,所以急需一个方案来替换掉 Superset 的 Report 功能 首先我们需要 Chrome 浏览器和 Chrome Driver,这是执行数据抓取的…

    博客搭建 — GitHub Pages 部署

    关于 GitHub Pages GitHub Pages 是一项静态站点托管服务&#xff0c;它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件&#xff0c;通过构建过程运行文件&#xff0c;然后发布网站。 本文最终效果是搭建出一个域名为 https://<user>.github.io 的网站 创建…

    C++17 新特性解析:Lambda 捕获 this

    C17 引入了许多改进和新特性&#xff0c;其中之一是对 lambda 表达式的增强。在这篇文章中&#xff0c;我们将深入探讨 lambda 表达式中的一个特别有用的新特性&#xff1a;通过 *this 捕获当前对象的副本。这个特性不仅提高了代码的安全性&#xff0c;还极大地简化了某些场景下…

    Python中采用.add_subplot绘制子图的方法简要举例介绍

    Python中采用.add_subplot绘制子图的方法简要举例介绍 目录 Python中采用.add_subplot绘制子图的方法简要举例介绍一、Python中绘制子图的方法1.1 add_subplot函数1.2 基本语法&#xff08;1&#xff09;add_subplot的核心语法&#xff08;2&#xff09;add_subplot在中编程中的…

    考研408笔记之数据结构(五)——图

    数据结构&#xff08;五&#xff09;——图 1. 图的基本概念 1.1 图的定义 1.2 有向图和无向图 在有向图中&#xff0c;使用圆括号表示一条边&#xff0c;圆括号里元素位置互换没有影响。 在无向图中&#xff0c;使用尖括号表示一条边&#xff0c;尖括号里元素位置互换则表示…

    研究生阶段 |《最优化方法》

    文章目录 一、前言二、章节2.1 绪论2.1.1 最优化数学模型什么是最优化问题?最优化问题的数学模型最优解的一般概念最优化理论和方法?理论和方法有什么区别?最优化问题的分类具体的学习内容 2.1.2 用到的基本数学知识范数与内积方向导数、梯度、子梯度、Hesse矩阵以及Jacobi矩…

    【软件测试项目实战 】淘宝网:商品购买功能测试

    一、用例设计方法分析 在对淘宝网商品下单功能进行测试时&#xff0c;不同的测试角度和场景适合运用不同的用例设计方法&#xff0c;以下是针对该功能各方面测试所适用方法及其原因的分析&#xff1a; 商品数量相关测试&#xff1a;对于商品数量的测试&#xff0c;主要采用等…

    全球化趋势与中资企业出海背景

    1. 全球化趋势与中资企业出海背景 1.1 全球经济格局变化 全球经济格局正经历深刻变革&#xff0c;新兴经济体崛起&#xff0c;全球产业链重塑&#xff0c;中资企业出海面临新机遇与挑战。据世界银行数据&#xff0c;新兴市场和发展中经济体在全球 GDP 中占比已超 40%&#xff…

    微信小程序web-view打开网页与网页H5跳转微信小程序

    1、微信小程序web-view打开网页 目前从小程序进入网页的方法使用web-view 1.1、小程序官网需要配置业务域名 打开官网&#xff0c;选择左侧开发管理&#xff0c;选择开发设置&#xff0c;往下找到业务域名&#xff0c;添加域名。设置时需要下载校验文件&#xff0c;并将文件…

    登录认证(4):令牌技术:JWT令牌

    如上文所说&#xff08;登录认证&#xff08;1&#xff09;&#xff1a;登录的基本逻辑及实现思路登录&#xff09;&#xff0c;因为 HTTP协议是无状态的协议&#xff0c;我们需要使用会话跟踪技术实现同一会话中不同请求之间的数据共享&#xff0c;但Cookie技术和Session技术都…

    Powershell-2

    声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;powershell&#xff08;2&#xff09;_哔哩哔哩_bilibili 一 、Powershell使用外部命令 在 Powershell 中&#xff0c;可以执行一些外部命令&…

    Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配

    文章目录 引言I 表结构主要表前缀及其用途核心表II 流程设计器(Flowable BPMN模型编辑器插件)Flowable-UIvue插件III 流程部署部署步骤例子:根据流程模型ID部署IV 启动流程启动步骤ACT_RE_PROCDEF:流程定义相关信息例子:根据流程 ID 启动流程V 流程审批审批步骤Flowable 审…

    快速入门Flink

    Flink是新一代实时计算平台&#xff0c;采用原生的流处理系统&#xff0c;保证了低延迟性&#xff0c;在API和容错上也是做的相当完善&#xff0c;本文将从架构、组件栈、安装、入门程序等进行基础知识的分析&#xff0c;帮助大家快速对Flink有一个了解。 一.简介 1.是什么 Ap…

    VOSK实现【离线中文语音】识别

    Vosk是一款开源的离线语音识别工具包&#xff0c;具有以下功能&#xff1a; 多语言支持&#xff1a;能够对20多种语言和方言进行语音识别&#xff0c;如中文、英语、德语、法语、西班牙语等&#xff0c;可满足不同用户的语言需求。 模型轻量化&#xff1a;每种语言的模型大小仅…

    最新版pycharm如何配置conda环境

    首先在conda prompt里创建虚拟环境&#xff0c;比如 conda create --prefix E:/projects/myenv python3.8然后激活 conda activate E:/projects/myenv往里面安装点自己的包&#xff0c;比如 conda install pytorch1.7.1 torchvision0.8.2 -c pytorch打开pycharm 注意&#x…

    MySQL用户授权、收回权限与查看权限

    【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

    【vitpress】静态网站添加访问量统计

    这里要是用的插件是不蒜子。 1.安装插件 npm i busuanzi.pure.js2.添加VisitorPanel.vue文件 在.vitepress/theme/components文件添加VisitorPanel.vue文件&#xff0c;内容如下&#xff1a; <!-- .vitepress/theme/components/VisitorPanel.vue --> <template>…

    Data Filtering Network 论文阅读和理解

    目录 一、TL&#xff1b;DR 二、Introduction 2.1 apple的结论 2.2 业界做法&#xff1a; 2.3 我们的做法&#xff08;Apple&#xff09; 2.4 如何获取好的DFN 三、未完待续&#xff08;这周出去购物了&#xff0c;下周继续补充&#xff09; 一、TL&#xff1b;DR 核心…

    MATLAB绘图时线段颜色、数据点形状与颜色等设置,介绍

    MATLAB在绘图时&#xff0c;设置线段颜色和数据点的形状与颜色是提高图形可读性与美观性的重要手段。本文将详细介绍如何在 MATLAB 中设置这些属性。 文章目录 线段颜色设置单字母颜色表示法RGB 值表示法 数据点的形状与颜色设置设置数据点颜色和形状示例代码 运行结果小结 线段…

    部署 Harbor 私有云仓库

    参考链接&#xff1a;https://docs.tianshu.org.cn/docs/setup/deploy-harbor-cloud-warehouse 使用