当前位置: 首页 > news >正文

做的网站怎么打开是白板/单页网站

做的网站怎么打开是白板,单页网站,有赞商城,企业网站建设mesh就是组成3d物体的三角形们。 mesh由顶点组成的三角形组成,三角形的大小 并不 需要一样,由顶点之间的位置决定。 mesh可以是一个或者多个面。 贴图的原点在左下角,uv是贴图的坐标,数量和顶点数一样(不是100%确定…

mesh就是组成3d物体的三角形们。

mesh由顶点组成的三角形组成,三角形的大小 并不 需要一样,由顶点之间的位置决定。

mesh可以是一个或者多个面。

贴图的原点在左下角,uv是贴图的坐标,数量和顶点数一样(不是100%确定,比如前后左右4个面,贴图最终如何封闭,我还不知道),是贴图和顶点的对应关系。

新建空场景,把一下代码放到main camera:

using System;
using System.Collections;
using System.Collections.Generic;using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endifpublic class codeMesh2 : MonoBehaviour
{GUIStyle fontStyle = new GUIStyle();string msg = " - - ";// Start is called before the first frame updateVector3 center = new Vector3();GameObject o;bool ready = false;//int startCalled = 0;Camera c;string err = "";int moveRage = 25; int moveRage2 = 0;int moveRage2_1 = 0;Mesh mesh = null;public int width = 10;public int height = 10;public Texture aText = null;/// <summary>/// 上一次更新帧率的时间/// </summary>private float m_lastUpdateShowTime = 0f;/// <summary>/// 更新显示帧率的时间间隔/// </summary>private readonly float m_updateTime = 0.05f;/// <summary>/// 帧数/// </summary>private int m_frames = 0;/// <summary>/// 帧间间隔/// </summary>//private float m_frameDeltaTime = 0;private float m_FPS = 0;//private Rect m_fps, m_dtime;//顶点数组private Vector3[] vertices;//顶点法线private Vector3[] normals;private MeshFilter meshFilter;private int i = 0;private bool f = false;private string test2 = "";private int waitCount = 0;private void Awake(){Application.targetFrameRate = 30;moveRage2 = moveRage * 2;moveRage2_1 = moveRage * 2 - 1;fontStyle.normal.background = null;    //设置背景填充fontStyle.normal.textColor = Color.red;   //设置字体颜色fontStyle.fontSize = 40;fontStyle.wordWrap = true;c = GetComponent<Camera>();msg += " Waiting ";Vector3 v1 = new Vector3(5, 5, 5);Vector3 v2 = new Vector3(5, 5, 3);test2 = (v2 - v1).normalized.ToString();}void Start(){try{o = GenerateMeshTest1();center = c.transform.position;o.name = "d mesh";o.transform.position = new Vector3(-5, -5, 20);o.transform.localScale = new Vector3(10.0f, 10.0f, 10.0f);o.transform.rotation = Quaternion.Euler(new Vector3(0, 45, 45));m_lastUpdateShowTime = Time.realtimeSinceStartup;ready = true;}catch (Exception e){err = printException(e);}aText = Resources.Load("type/two_sizes") as Texture;o.GetComponent<MeshRenderer>().material.mainTexture = aText;#if UNITY_EDITORshowNormals();
#endif}private void OnGUI(){GUI.color = Color.red;msg = "fps=" + m_FPS + "/"+ Application.targetFrameRate +(err.Length>1?(", err=" + err):"")  + " waitCount = " + (ready? waitCount : (waitCount++));GUI.Label(new Rect(50, 10, 900, 100), "" + test2, fontStyle);GUI.Label(new Rect(100, 100, 900, 100), "[V07]:" + msg, fontStyle);}// Update is called once per framevoid Update(){if (!ready) return;int ri = i % (moveRage2);float x = ri - moveRage;if (!f){x = moveRage - ri;}if (ri == moveRage2_1){f = !f;}//o.transform.position = new Vector3(x, x, 20);//Debug.Log(x);//o.transform.rotation = Quaternion.Euler(new Vector3(0, 0, 0));/*Mesh mesh = o.GetComponent<MeshFilter>().mesh;//mesh.Clear();Vector3[] vertices = mesh.vertices;Vector3[] normals = mesh.normals;for (var i = 0; i < vertices.Length; i++){vertices[i] += normals[i] * Mathf.Sin(Time.time);}mesh.vertices = vertices;*/m_frames++;if (Time.realtimeSinceStartup - m_lastUpdateShowTime >= m_updateTime){m_FPS = m_frames / (Time.realtimeSinceStartup - m_lastUpdateShowTime);//m_frameDeltaTime = (Time.realtimeSinceStartup - m_lastUpdateShowTime) / m_frames;m_frames = 0;m_lastUpdateShowTime = Time.realtimeSinceStartup;//Debug.Log("FPS: " + m_FPS + ",间隔: " + m_FrameDeltaTime);}i++;}private GameObject GenerateMeshTest1(){GameObject obj = new GameObject();meshFilter = obj.AddComponent<MeshFilter>();//创建meshmesh = new Mesh();meshFilter.mesh = mesh;MeshRenderer renderer = obj.AddComponent<MeshRenderer>();//标准材质Material mat = new Material(Shader.Find("Legacy Shaders/Transparent/Diffuse"));mat.color = Color.white;renderer.material = mat;//创建顶点和UVvertices = new Vector3[6];Vector2[] uv = new Vector2[6];vertices[0] = new Vector3(0, 1, 0);//0vertices[1] = new Vector3(1, 1, 0);//1vertices[2] = new Vector3(1, 0, 0);//2vertices[3] = new Vector3(0, 0, 0);//3vertices[4] = new Vector3(0, 0, 1);//4vertices[5] = new Vector3(1, 0, 1);//5-int k = 0;uv[k++%6] = new Vector2(0, 1);uv[k++ % 6] = new Vector2(1, 1);uv[k++ % 6] = new Vector2(1, 0.5f);uv[k++ % 6] = new Vector2(0,0.5f);uv[k++ % 6] = new Vector2(0, 0);uv[k++ % 6] = new Vector2(1, 0);mesh.vertices = vertices;mesh.uv = uv;//mat.mainTexture = aText;int[] triangles = new int[12];k = 0;triangles[k++] = 3;triangles[k++] = 2;triangles[k++] = 5;triangles[k++] = 3;triangles[k++] = 5;triangles[k++] = 4; triangles[k++] = 0;triangles[k++] = 1;triangles[k++] = 2;triangles[k++] = 0;triangles[k++] = 2;triangles[k++] = 3;mesh.triangles = triangles; //三角面mesh.RecalculateNormals();  //计算法线/*Vector3[] normals = new Vector3[4];normals[0] = Vector3.back;normals[1] = Vector3.back;normals[2] = Vector3.back;normals[3] = Vector3.back;mesh.normals = normals;*///mesh.SetIndices//mat.SetTexture()return obj;}public static string printException(Exception e){return "\n\trs=" + e.HResult + ",\n\tmsg=" + e.Message + ",\n\tstack=" + e.StackTrace + "\n------------------------------------\n";}#if UNITY_EDITORprivate void showNormals(){if (mesh != null){//当前对象的操做从局部空间转换到世界空间 这样在下面的操作位置即可同步 否则位置是不会同步的Handles.matrix = meshFilter.transform.localToWorldMatrix;Handles.color = Color.green;int vertextCount = mesh.vertices.Length;//采用从顶点的位置[法线的起点】到法线的终点位置,既可以显示出当前顶点的法线for (int index = 0; index < vertextCount; index++){Handles.DrawLine(vertices[index], vertices[index] + normals[index]);}}}
#endif
}

two_sizes.png是一张 宽高比为1:2的图片。

三角形之间的定义顺序不会影响贴图。但单个三角形三个顶点是逆时针,则从外部可以看到贴图,从内部看不到。反之亦然:

(顺时针之后,从内部可见)

如果把图片直接放到场景,则两面都可见。

相关文章:

Unity 顶点vertices,uv,与图片贴图,与mesh

mesh就是组成3d物体的三角形们。 mesh由顶点组成的三角形组成&#xff0c;三角形的大小 并不 需要一样&#xff0c;由顶点之间的位置决定。 mesh可以是一个或者多个面。 贴图的原点在左下角&#xff0c;uv是贴图的坐标&#xff0c;数量和顶点数一样&#xff08;不是100%确定…...

Shell编程之函数

目录 基本概念 自定义函数 系统函数 1.read 2.basename 3.dirname 基本概念 将一段代码组合封装在一起实现某个特定的功能或返回某个特定的值&#xff0c;然后给这段代码取个名字&#xff0c;也就是函数名&#xff0c;在需要实现某个特定功能的时候直接调用函数名即可。 函…...

10.物联网LWIP之TCP状态转变

一。TCP状态机 1.青粗线&#xff1a;理想TCP状态转变&#xff08;服务器视角下&#xff09; 2.虚线&#xff1a;被动TCP状态转变&#xff08;服务器视角下&#xff09; 3.细实线&#xff1a;不经常出现的TCP状态转变&#xff08;类似于边界处理&#xff09; 1.青粗线解释--》服…...

Img标签的src地址自动拼接本地域名(localhost:8080)导致图片不显示问题

摘要&#xff1a;做Vueelement ui项目的时候&#xff0c;发现使用element ui的upload上传图片时&#xff0c;不显示的问题。我项目的图片是上传到七牛云&#xff0c;长传成功后返回存储在七牛云中的地址。后面发现是因为返回的地址是外部地址&#xff0c;需要完整的URL&#xf…...

数据结构入门 — 栈

本文属于数据结构专栏文章&#xff0c;适合数据结构入门者学习&#xff0c;涵盖数据结构基础的知识和内容体系&#xff0c;文章在介绍数据结构时会配合上动图演示&#xff0c;方便初学者在学习数据结构时理解和学习&#xff0c;了解数据结构系列专栏点击下方链接。 博客主页&am…...

Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录

Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录 目录 Unity Android 之 在Unity 中引入 OkHttp的操作注意(OKHttp4.xx- kotlin 的包)简单记录 一、简单介绍 二、OKHttp 4.xx 的 SDK 封装 aar 给 Unity 的使用注意 三、附录 OKHttp 的…...

内嵌功能强大、低功耗STM32WB55CEU7、STM32WB55CGU7 射频微控制器 - MCU, 48-UFQFN

一、概述&#xff1a; STM32WB55xx多协议无线和超低功耗器件内嵌功能强大的超低功耗无线电模块&#xff08;符合蓝牙 低功耗SIG规范5.0和IEEE 802.15.4-2011标准&#xff09;。该器件内含专用的Arm Cortex -M0&#xff0c;用于执行所有的底层实时操作。这些器件基于高性能Arm …...

【测试】笔试03

文章目录 1. 哪种测试模型把测试过程作为需求分析、概要设计、详细设计及编码之后的阶段&#xff08; &#xff09;2. 在下面所列举的逻辑测试覆盖中&#xff0c;测试覆盖最强的是&#xff1f;3. 网络管理员编写了shell程序prog1.sh,测试时程序死循环无法结束,可以通过下列方式…...

JavaScript的while和for循环

一、循环语句 1.认识循环 在开发中我们经常需要做各种各样的循环操作&#xff1a; 比如把一个列表中的商品、歌曲、视频依次输出进行展示&#xff1b;比如对一个列表进行累加计算&#xff1b;比如运行相同的代码将数字 1 到 10 逐个输出&#xff1b; 循环 是一种重复运行同…...

mqtt安卓客户端

1.MQTT&#xff08;消息队列遥测传输协议&#xff09;&#xff0c;是一种基于 发布/订阅 &#xff08;publish/subscribe&#xff09;模式的"轻量级"通讯协议&#xff0c; 该协议构建于TCP/IP协议上 。MQTT最大优点在于&#xff0c;可以以极少的代码和有限的带宽&…...

pdf怎么删除其中一页?

pdf怎么删除其中一页&#xff1f;现在&#xff0c;pdf文件已经深入影响着我们的工作和学习&#xff0c;如果你是一个上班族&#xff0c;那么几乎每天都会使用到pdf格式的电脑文件。当我们阅读一个页数众多的PDF文件时&#xff0c;可能会发现实际上只需要其中的一小部分内容。很…...

10.Redis 渐进式遍历

Redis 渐进式遍历 渐进式遍历scan 渐进式遍历 keys 命令一次性的把整个redis中所有的key都获取到&#xff0c;keys *但这个操作比较危险&#xff0c;可能会一下子得到太多的key,阻塞 redis 服务器。 通过渐进式遍历&#xff0c;就可以做到&#xff0c;既可以获取到所有的 key&…...

字符函数和字符串函数(2)

目录 memcpy memmove memcmp memcpy void * memcpy ( void * destination, const void * source, size_t num ); 1.函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。 2.这个函数在遇到 \0 的时候并不会停下来。 3.如果source和destination有…...

目录扫描+JS文件中提取URL和子域+403状态绕过+指纹识别(dirsearch_bypass403)

dirsearch_bypass403 在安全测试时&#xff0c;安全测试人员信息收集中时可使用它进行目录枚举&#xff0c;目录进行指纹识别&#xff0c;枚举出来的403状态目录可尝试进行绕过&#xff0c;绕过403有可能获取管理员权限。不影响dirsearch原本功能使用 运行流程 dirsearch进行…...

【UE 材质】常用向量运算节点——点积、叉积、归一化

目录 一、点积 二、叉积 三、归一化 一、点积 点积&#xff0c;也称为内积或数量积&#xff0c;是一种用于计算两个向量之间关系的操作。对于两个三维向量 A&#xff08;a1,a2,a3&#xff09;和 B(b1,b2,b3)&#xff0c;它们的点积可以用以下公式表示&#xff1a; ABa1​⋅…...

音视频 ffmpeg命令提取PCM数据

提取PCM ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -f s16le 48000_2_s16le ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -sample_fmt s16 out_s16.wav ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -codec:a pcm_s16le out2_s16le.wav ffmpeg -i buweishui.mp3 -ar 48000 -ac 2 -f…...

【MySQL】实现可扩展性:构建高性能的系统

什么是可扩展性&#xff1f;可扩展性的好处扩展方式纵向扩展&#xff08;Scaling Up&#xff09;横向扩展&#xff08;Scaling Out&#xff09; 总结 &#x1f4af;感谢 &#x1f496; 什么是可扩展性&#xff1f; 可扩展性是指系统能够在需要时轻松地适应更多的工作负载和资源…...

网站用户体验之深度感悟

个性化定制界面和极简版原装界面&#xff0c;哪一个你用起来更加顺手呢&#xff0c;相比之下你更喜欢哪一个&#xff1f; 界面选择&#xff1a; &#xff08;提醒&#xff1a;仅个人感悟。~~&#xff09; 方向一&#xff1a;表明自己的喜好 我个人觉得更喜欢个性化定制界面。…...

目标检测YOLO实战应用案例100讲-道路场景下目标检测与分割模型的压缩研究与实现

目录 前言 目标检测方法 语义分割方法 相关理论基础 2.1 YOLO目标检测算法介绍...

基于MSP430 红外避障-遥控小车(电赛必备 附项目代码)

文章目录 一、硬件清单二、模块连接三、程序设计四、项目源码 项目环境&#xff1a; 1. MSP430F55292. Code Composer Studio3. 蓝牙调试助手 项目简介&#xff1a; 小车可分为3种工作模式&#xff0c;每种工作模式都会打印在OLED显示屏上&#xff0c;通过按键转换工作模式。 模…...

大型商城系统功能逻辑架构_各大系统关系设计_OctShop

一个商城系统应该具备什么样的功能才算一个合格的网上商城呢&#xff0c;才能满意用户的下单支付&#xff0c;退款退货&#xff0c;售后等需求呢&#xff01; 商城一般分为三种角色&#xff1a;买家&#xff0c;商家&#xff0c;平台&#xff0c;这三种角色都有各自的功能特点。…...

飞书接入ChatGPT,实现智能化问答助手功能,提供高效的解答服务

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…...

linux并发服务器 —— 多线程并发(六)

线程概述 同一个程序中的所有线程均会独立执行相同程序&#xff0c;且共享同一份全局内存区域&#xff1b; 进程是CPU分配资源的最小单位&#xff0c;线程是操作系统调度执行的最小单位&#xff1b; Linux环境下&#xff0c;线程的本质就是进程&#xff1b; ps -Lf pid&…...

Nginx 部署 配置

一.概述 什么是nginx? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 什么是反向代理&#xff1f; 反向代理&#xff08;Reverse Proxy&#xff09;方式是指以代理服务器来接受internet上的连接请求…...

数据结构:时间复杂度和空间复杂度计算

1.什么是时间复杂度和空间复杂度&#xff1f; 1.1算法效率 算法效率分析分为两种&#xff1a;第一种是时间效率&#xff0c;第二种是空间效率。时间效率被称为时间复杂度&#xff0c; 而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度&#xff0c;而空间…...

云原生Kubernetes:二进制部署K8S单Master架构(一)

目录 一、理论 1.K8S单Master架构 2. etcd 集群 3.flannel网络 4.K8S单Master架构环境部署 5.部署 etcd 集群 6.部署 docker 引擎 7.flannel网络配置 二、实验 1.二进制部署K8S单Master架构 2. 环境部署 3.部署 etcd 集群 4.部署 docker 引擎 5.flannel网络配置…...

ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率

导读 本文提出一种同时利用图像空间和通道特征的 Transformer 模型&#xff0c;DAT&#xff08;Dual Aggregation Transformer&#xff09;&#xff0c;用于图像超分辨&#xff08;Super-Resolution&#xff0c;SR&#xff09;任务。DAT 以块间和块内的双重方式&#xff0c;在空…...

经纬恒润预期功能安全(SOTIF)解决方案为自动驾驶安全保驾护航

近年来&#xff0c;“安全”被普遍认为是智能驾驶汽车被用户接受或者得到商业应用最大的问题&#xff0c;ISO26262功能安全旨在避免由E/E系统功能失效导致的不可接受的风险&#xff0c;主要是针对系统性失效/随机硬件失效导致的风险进行分析和控制&#xff0c;然而传感器和感知…...

java从入门到起飞(七)——面向对象

文章目录 一、什么是面向对象1.1 定义1.2 特点 二、面向对象的基础2.1 面向对象的基础是抽象2.2 抽象的作用2.3 类和对象2.4 属性和方法2.5 构造方法 三、面向对象的三大特征3.1 封装3.1.1 封装的意义3.1.2 封装的实现 3.2 继承3.2.1 继承的意义3.2.2 继承的实现 3.3 多态3.3.1…...

题集-三路划分和三数取中(快排优化)

快排排序是非常快的&#xff0c;但是有一种情况快排是无法进行的。 912. 排序数组 - 力扣&#xff08;LeetCode&#xff09; 这道题看上去没什么问题&#xff0c;但是如果我们用快排去提交的话&#xff0c;发现快排其实是被针对了的。 有一个样例是这样的。如果我们按照快排的…...