Unity曲线插件Dreamteck Splines生成曲线Mesh

news2024/11/16 9:38:17

一、需求

脱离编辑器,运行时添加点,动态生成管道、线缆等曲线Mesh。

二、Dreamteck Splines简单运用

这方面资料不多,只有官方文档全英参考,而且又介绍得不详细。

2个重要组件介绍:

SplineComputer:

最重要的样条曲线数据组件,Edit中提供了鼠标直接在编辑器场景中添加、删除、移动、旋转、缩放、法向、镜像、基准形状的功能,供在场景中编辑使用。

下方close是首尾闭合本曲线。

reverse是顺序反转,也就是第一个点变最后一个点。

右边加号和剪刀分别是Merge和Split,也就是将两个曲线物体混合成一个,或者将一个曲线物体分割成两个。

TubeGenerator:

Common中的Size是管道粗细,Faces中的Double——sided可以创建双面Mesh,Shape中的Sides是管道的原型截面多少条边,根据自己性能设置。

三、上代码,动态添加点,生成曲线mesh

using System;
using System.Collections;
using System.Collections.Generic;
using Dreamteck.Splines;
using UniRx;
using UnityEngine;

public class DynamicSpline : MonoBehaviour
{
    private SplineComputer _splineComputer;
    private TubeGenerator _tubeGenerator;
    private Material _material;
    
    void Start()
    {
        Vector3[] v3 = new Vector3[3] { new Vector3(1.509808f, -2.273857f, 22.09592f), new Vector3(1.509808f, 3.6f, 34.1f),new Vector3(1.509808f,-2.273857f,54.5f) };
        for (int i = 0; i < v3.Length; i++)
        {
            v3[i].x += transform.position.x;
            v3[i].z += transform.position.z;
            v3[i].y += transform.position.y;
        }
        _material = Resources.Load<Material>("Material/TubeMaterial");
        
        
        _splineComputer = gameObject.AddComponent<SplineComputer>();
        for (int i = 0; i < 3; i++)
        {
            SplinePoint point = new SplinePoint(v3[i]);
            _splineComputer.SetPoint(i, point);
        }
        _tubeGenerator = gameObject.AddComponent<TubeGenerator>();
        _tubeGenerator.spline = _splineComputer;
        
        //how to set the material?
    }
}

但是需要自己弥补一下材质问题,手动设置可以,但是插件应该可以有方法能够设置,暂时没发现。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GRU模块:nn.GRU层

摘要&#xff1a; 如果需要深入理解GRU的话&#xff0c;内部实现的详细代码和计算公式就比较重要&#xff0c;中间的一些过程及中间变量的意义需要详细关注。只有这样&#xff0c;才能准备把握这个模块的内涵和意义&#xff0c;设计初衷和使用方式等等。所以&#xff0c;仔细研…

药品管理系统的设计与实现

互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对药品信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#xff0…

学习笔记:【QC】Android Q : telephony-phone 模块

一、phone init 流程图 高清的流程图参考&#xff1a;【高清图&#xff0c;保存后可以放大看】 二、phone MO 流程图 高清的流程图参考&#xff1a;【高清图&#xff0c;保存后可以放大看】 三、phone MT 流程图 高清的流程图参考&#xff1a;【高清图&#xff0c;保存后可以…

C 深入指针(3)

目录 一、关于数组名 1 数组名的理解 2 数组名 与 &数组名 的区别 二、使用数组访问指针 三、一维数组传参的本质 四、二级指针 五、指针数组 六、指针数组模拟二维数组 一、关于数组名 1 数组名的理解 //VS2022 x64 #include <stdio.h> int main() {int a…

Cesium 问题:billboard 加载未出来

文章目录 问题分析问题 接上篇 Cesium 展示——图标的依比例和不依比例缩放,使用加载 billboard 时,怀疑是路径的原因导致未加载成功 分析 原先

知名专业定制线缆知名智造品牌品牌推荐-精工电联:如何实现清扫机器人线缆产品的精益求精

在科技日新月异的今天&#xff0c;智能清扫机器人已经融入我们的日常生活。然而&#xff0c;其背后不可或缺的一部分&#xff0c;就是那些被称为机器人血管的精密线缆。精工电联作为高科技智能化产品及自动化设备专用连接线束和连接器配套服务商&#xff0c;致力于通过精益求精…

用户行为分析与内容创新:Kompas.ai的数据驱动策略

在数字化营销的今天&#xff0c;用户行为数据分析已成为内容创新和策略调整的核心。通过深入理解用户的行为模式和偏好&#xff0c;品牌能够创造出更具吸引力和相关性的内容&#xff0c;从而实现精准营销。本文将探讨用户行为数据分析在内容创新和策略调整中的价值&#xff0c;…

Langchain实战

感谢阅读 LangChain介绍百度文心API申请申请百度智能云创建应用 LLMChain demo以及伪幻觉问题多轮对话的实现Sequential ChainsSimpleSequentialChainSequentialChainRouter Chain Documents ChainStuffDocumentsChainRefineDocumentsChainMapReduceDocumentsChainMapRerankDoc…

JavaEE 初阶篇-深入了解 HTTP 协议

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 HTTP 协议概述 2.0 HTTP 请求协议 2.1 请求方式的具体体现 3.0 HTTP 响应协议 3.1 常见的状态码及描述 3.2 常见的响应头 4.0 HTTP 协议解析 4.1 简单实现服务器响…

win11环境下,Idea 快捷键shift+f6重命名无法使用

微软自带输入法导致 单击win弹出搜索框

Java数据结构---栈和队列

目录 栈&#xff08;Stack&#xff09; 队列&#xff08;Queue&#xff09; 循环队列 栈&#xff08;Stack&#xff09; 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除操作元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一…

【启明智显分享】7寸HMI智能屏应用方案:Model4芯片实现展会多媒体互动展示

所谓&#xff1a;“技术是底层逻辑&#xff0c;用户是中心动力”。技术水平不断提升&#xff0c;人们对展会展览的形式和体验不断提出更多的要求&#xff0c;展会展现形式也正在不断地寻求突破。 传统的展示形式往往只能提供静态显示和有限的互动体验&#xff0c;在这个公众注意…

因表别名引用错误导致查询SQL执行时间长未出结果

问题描述&#xff1a; 项目组人员反馈在执行一条提取数据SQL时执行很慢&#xff0c;每次执行一段时间就报超时&#xff0c;要求帮忙提取下。 解决过程&#xff1a; 项目组人员发来SQL后&#xff0c;看了下SQL&#xff0c;没什么问题&#xff0c;就在客户端上执行了下&#xff0…

Antd Table组件,state改变,但是render并不会重新渲染

背景 在table上面&#xff0c;当鼠标放在cell上面的时候&#xff0c;需要去请求接口拉取数据&#xff0c;然后setList(res.result)后&#xff0c;希望render中的traceIds也能够实时更新渲染。 const [traceIds, setTraceIds] useState() // 需要展示在popover上面的数据&…

社媒营销中的截流获客是怎么一回事?

如果你要问&#xff0c;现在做社媒营销是通过哪些方式进行引流的&#xff0c;那么必然有一种是截流&#xff0c;顾名思义也就是分取别人的流量&#xff0c;方法其实很简单&#xff0c;主要分为两种&#xff1a;&#xff08;1&#xff09;抓取别人的粉丝出来进行群发私信&#x…

2024上海国际地下空间工程与技术展览会

2024上海国际地下空间工程与技术展览会 2024 Underground Space Project and Technology Expo 时间&#xff1a;2024年10月30日-11月1日 地点&#xff1a;上海世博展览馆 主办单位&#xff1a;联合国人居署 上海市住房与城乡建设管理委员会 城博会背景 上海国际城市与建筑…

mysql数据库---操作数据库跟表的命令总结

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文着重整理mysql管理库跟表的指令。 不涉及增删查改等指令 其实本篇主要是我做好笔记格式 用的时候直接复制粘贴的 所以排版大多是为了快速找功能来排的 方便大家快速找目标语法 数据库的简介 一个数据库系…

(代码以上传,超级详细)面试必备算法题----Leeecode290单词规律

文章目录 概要题目要求测试and提交结果技术细节 概要 来自Leecode ​ 代码已上传&#xff09;仓库&#xff0c;需要测试实例和其他题型解决&#xff0c;可以去自行浏览 点击这里进入仓库领取代码喔&#xff01;顺便点个star给原子加油吧&#xff01; ​ 题目要求 使用哈希表 …

国内外主流大模型都具备有哪些特点?

文章目录 ⭐ 火爆全网的大模型起点⭐ 国外主流LLM及其特点⭐ 国内主流LLM及其特点⭐ 全球大模型生态的发展 该章节呢&#xff0c;我们主要是看一下关于国内外主流的大语言模型&#xff0c;通过它们都具备哪些特点&#xff0c;来达成对多模型有一个清晰的认知。对于 “多模型” …

tensorflow报错

参考 TensorFlow binary is optimized to use available CPU instructions in performance-critical operations._this tensorflow binary is optimized to use availab-CSDN博客 解决Python中cuBLAS插件无法注册问题_unable to register cudnn factory: attempting to re-CS…