Unity 创建模型并让模型动态运动

2023-11-12

最近项目要实现一个做正弦运动的线条,我想到的方案是改变模型的顶点,利用函数y=aSin(bx+C) 让模型顶点的Y坐标,根据X坐标运动,这样就实现如下图的运动:这里写图片描述
废话不多说,是骡子是马拿出来遛一遛,来看一张效果图
这里写图片描述

好,开始说如何实现:首先新建一个物体,为物体加上必要的组件,加上这些才能显示出来,不要问我为啥子。

        GameObject cube = this.gameObject;//or new GameObject();
        MeshFilter meshFilter = cube.AddComponent<MeshFilter>();
        MeshRenderer renderer = cube.AddComponent<MeshRenderer>();
        renderer.material = Resources.Load<Material>("Material/line");
        renderer.shadowCastingMode = ShadowCastingMode.Off;
        mesh = new Mesh();
        mesh.name = "LangCube";

下面就是头牌,对Mesh的创建了,创建模型网上也有很多的资料,其主要的难点在于,顶点的创建,和三角形的建立,这里我们创建一个长方体,这个长方体在X轴上有很多的顶点,这里分享一些我的理解,抛砖迎玉。首先我们以一个正方体为例来讲讲顶点的创建和三角形的构建,正方体有六个面每个面4个点,则一共就有24个顶点,有人肯定要说“为啥是24个,明明是8个点,你当我数学没学好啊!”,因为我们这里不考虑顶点的公用情况,这样能更方便处理构建顶点,构建三角形。当然你考虑顶点公用也是可行的,在构建三角形的时候,注意相应赋值也可以。这里就简单粗暴的处理。
三角形的构建
正方体每一面有2个三角形,每个三角形有3个顶点,则共用36个顶点,同理不考虑顶点的公用,Mesh的triangles是一个int数字,这个int数组的每个数就是对顶点的一个索引,每3个数构成一个三角形,所以这个数组的大小一定是3的倍数。当你构建三角形的时候,需要考虑三角形的正反面,即法线的朝向。这里有一个左手定则,四指的指向为顶点的顺序,大拇指的方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 创建模型并让模型动态运动 的相关文章

  • Unity3D之Rigidbody

    目录 常用的Rigidbody属性和方法 rigidbody AddForce rigidbody AddTorque rigidbody velocity rigidbody angularVelocity rigidbody Sleep
  • 【Unity Shader】屏幕后处理1.0:调整亮度/饱和度/对比度

    1 Unity中实现屏幕特效的基本步骤 什么叫屏幕后处理 Screen post processing effects 渲染完整个场景得到屏幕图像后对图像进行一系列操作 实现各种屏幕特效 这一步我们可以添加很多例如景深 Depth of F
  • Unity单元测试流程

    文章目录 环境 流程 1 创建一个存放 单元测试程序集 的目录 2 打开 Test Runner 窗口 3 选择单元测试模式 4 创建单元测试程序集 5 创建测试脚本 6 运行测试 环境 Unity 2020 3 3f1 流程 1 创建一个
  • Unity3d Terrain地形制作系列(一)

    游戏简单地形 地形制作 地形制作 第一步在场景里加载一个地形对象 第二步 我们在属性面板里找到绘制地形 然后选择Set Height 绘制高度 应该我们要制作低凹的效果 所有先让他有个高度 不然是不能实现低凹的效果 如图 我们然后选择绘制地
  • Unity WebGL错误集锦

    ips 0 Unity的PlayerSettings的otherSettings或者Publish Settings里面的Enable Exceptions里面选择Full StackTrace 可以在打出的包中的浏览器的webgl打印出错
  • 【Unity&C#&随机数】随机数

    一个简单的随机数获得 0或1 使用了这样的代码 想要获得0或者1 if Input anyKeyDown float i 1 if i 1 i Random Range 0 Rang i i lt 0 5 0 1 Debug Log Cou
  • unity制作一个可以自由滑动收缩的历史记录功能。

    公司在做一款模拟经营类的卖车游戏 需要一个简单的历史记录功能 放在左上角 记录最近20条的收入 支出记录 超过2秒不动则收起 收起时展示最近的一个消息记录 用到的组件是ScrollView 使用方法可以参考我写过的一篇博客 ScrollVi
  • unity网络资源导入

    1 找到需要导入的文件 这里导入fbx格式 2 打开unity界面 在Asset目录下创建文件夹FBX 将需要导入的fbx预制体或整个文件夹拖入创建的FBX文件夹下 3 选中需要的fbx预制体并拖至场景中 4 双击定位到当前物体 5 找到需
  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • Unity 键盘控制人物移动——之输入方式代码的编写

    键盘输入 控制人物移动 在我们制作游戏中最常见的需求之一就是使用键盘移动游戏角色 那么我们首先需要获取键盘输入 以下提供两种方法获取键盘 这里尽量通过截图解释让大家理解代码的含义 GetInput void FixedUpdate Move
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • 【原神游戏开发日志1】缘起

    原神游戏开发日志1 缘起 版权声明 本文为 优梦创客 原创文章 您可以自由转载 但必须加入完整的版权声明 文章内容不得删减 修改 演绎 相关学习资源见文末 大家好 最近看到原神在TGA上频频获奖 作为一个14年经验的游戏开发行业的老兵 我就
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜

随机推荐

  • 工作流任务调度系统:Apache DolphinScheduler

    官网 GitHub 目录 1 概述 1 1 背景 1 2 特点 2 系统架构 2 1 名词解释 2 2 架构 3 部署 3 1 后端部署 3 1 1 基础软件安装 3 1 2 创建部署用户 3 1 3 下载并解压 3 1 4 针对esche
  • Java在多线程下 对数据库的事务能不能控制,为什么?

    对数据库的事务不能直接在Java多线程下进行控制的主要原因是数据库连接和事务通常是基于线程的 在Java中 数据库连接是使用java sql Connection对象来表示的 通常情况下 每个线程都会拥有自己的数据库连接对象 这意味着每个线
  • openstack安装之计算服务安装配置笔记

    1 设置本地实验ip 1 1 管理节点和计算节点更改hosts 使用ifconfig查看本地ip地址 vi etc hosts x x x x controller x x x x compute1 1 2 管理节点编辑chrony con
  • Tomcat 自带的 JDBC 连接池官方文档中文版

    转载链接 https blog csdn net white ice article details 52610136https blog csdn net white ice article details 52610136 简介 JDB
  • 更:最近还在搞毕设

    最近两天有点颓 但是没有闲着 自己的毕设系统做了个五五六六了 是基于springboot和vue的 后续还得加个以太坊 进行上链 应该是可以应付中期答辩的程度 但是还是得完善 话说昨天因为写文件上传下载调不通 就哭了 泪流满面 太菜了 会继
  • 正则表达式简单小结

    d 匹配一个数字 w 匹配一个字母 数字或者下划线 s 匹配一个空格 tab 匹配任意字符 u 匹配指定unicode字符 D 匹配一个非数字 W 匹配一个非字母 非数字且非下划线 S 匹配一个非空格 匹配任意个字符 匹配至少一个 匹配0或
  • VScode使用gitlab

    本机安装Git客户端 配置git 首次使用git提交代码 需要先配置user name 和 user email 打开cmd 输入如下命令 Git 全局设置 git config global user name yourName 注意 和
  • vue el-dialog 弹窗实现拖拽效果

    文章目录 前言 一 如何在 elementUI el dialog 对话框添加拖拽操作 1 首先我们将新建一个js文件 dialog js 放在项目的对应位置 将下面代码复制到文件中 2 其次我们要在 main js 文件中引入该 js 文
  • openGauss学习笔记-14 openGauss 简单数据管理-查看对象

    文章目录 openGauss学习笔记 14 openGauss 简单数据管理 查看对象 14 1 查看命令帮助信息 14 2 切换数据库 14 3 查询所有数据库 14 4 查询当前数据库中的所有表 14 5 查看表结构 openGauss
  • SkyWalking中Trace落地实现方案

    转载一篇对漱skywalking中traceid的实现方案 SkyWalking 中 Trace 的相关概念以及实现类与 OpenTracing 中的概念基本类似 像 Trace Span Tags Logs 等核心概念 在 SkyWalk
  • oracle和mysql细微区别

    2 小的方面 语法等 mysql可以实现自增长主键 通过字段的auto increment属性 Oracle则需要通过序列 Sequence 来实现 mysql可以用双引号来引用字符串 当然单引号也行 Oracle只能用单引号 mysql在
  • eplan打开提示激活许可_EPLAN 2.8将采用最新的licensing许可技术

    EPLAN产品组合代表可靠且面向未来的软件解决方案 因此 我们将在版本2 8的许可管理中转向最先进的技术 作为客户 您将能够快速 轻松地获得无加密狗的许可认证 我们的新许可技术将支持到EPLAN 2 4版本 将EPLAN软件更新到2 8版本
  • QT入门Input Widgets之QLineEdit

    目录 一 界面布局功能 1 界面位置介绍 2 控件界面基本属性 二 属性功能介绍 1 获取输入的文本内容 2 设置密码样式效果 3 设置不可见性 4 清除文本内容 5 设置光标聚焦 三 Demo展示效果 本文为作者原创 转载请标明出处 一
  • 微信小程序连接蓝牙设备流程(一)

    微信小程序的特点是无需下载App 只要是安装有微信的一部智能手机 几乎就可以运行微信小程序 基于这个特点 我设计了一款小程序版的蓝牙串口助手 适用于简单的蓝牙串口调试工作 从事蓝牙相关产品研发的兄弟们知道 手机端的像LightBlue BL
  • java--基础--20.1--反射--基础

    java 基础 20 1 反射 基础 1 介绍 反射 就是通过class文件对象 去使用该文件中的成员变量 构造方法 成员方法 1 1 测试用的类 public class User private String name int id p
  • 5.Java编程基础

    个人简介 作者简介 大家好 我是W chuanqi 一个编程爱好者 个人主页 W chaunqi 支持我 点赞 收藏 留言 愿你我共勉 没有什么比勇气更温文尔雅 没有什么比怯懦更冷酷无情 文章目录 Java编程基础 1 Java基本语法 1
  • 平衡二叉树(AVL树)

    平衡二叉树树专题 存储 基本操作 插入 代码来源 晴神 算法笔记 平衡二叉树定义 左右子树高度之差的绝对值不超过1 存储 struct node int data height node lchild rchild 新建结点 node ne
  • 【Interpreter模式】C++设计模式——解析器

    解析器 一 设计流程探讨 二 模式介绍 三 代码实现 C 设计模式大全 23种设计模式合集详解 点我跳转 一 设计流程探讨 您的团队希望开发一款能解析特定语言的系统 如解析系统传入的字符串a b c d 此时abcd是不确定的 这个字符串只
  • 新型的刷脸支付方式给人们生活带来很多便利

    随着科技的飞速发展 人们的支付方式发生了巨大的改变 从传统的现金支付逐渐演变到移动支付 出门可以身无分文 仅仅揣上一台手机就能走天下 如今最流行的两大支付端是支付宝和微信支付 新型的支付方式给人们生活带来诸多的便利 就比如说 如果你不想在家
  • Unity 创建模型并让模型动态运动

    最近项目要实现一个做正弦运动的线条 我想到的方案是改变模型的顶点 利用函数y aSin bx C 让模型顶点的Y坐标 根据X坐标运动 这样就实现如下图的运动 废话不多说 是骡子是马拿出来遛一遛 来看一张效果图 好 开始说如何实现 首先新建一