草庐IT

Unity_Photon

全部标签

[游戏开发]Unity多边形分割为三角形_耳切法

[目录]0.前言1.耳切法(1)基础的概念(2)耳点判断(3)判断角度类型(4)点是否在三角形内(5)判断顺逆时针2.耳切法小优化3.耳切法小优化24.耳切法实现(1)基础定义(2)实现5.测试6.结束咯0.前言有个小需求是分割一下多边形,顺带记录一下。通常来说多边形的形状都比较复杂,不好进行操作,这个时候如果我们可以把一个多边形分隔为若干个三角形,回归到简单基础的形状就方便我们操作。三角形化在渲染显示中还是挺多用的。下文未列出,但涉及到的代码链接如下。//2023.0615更新:添加“3.耳切法小优化2”;调整”4.耳切法实现”;更新代码链接;链接:https://pan.baidu.com

Unity Android 长时间运行导致卡死的BUG

抛出问题:        最近项目中遇到一个问题,Unity项目打包成Android长时间运行会导致App卡死。该问题出现在Unity2021.3.19其他版本不详,由于项目中引入了arr库所以查找问题比较难受。好在搞安卓的同事帮忙研究了一下,发现App在运行期间吃满单核CPU的算力。解决问题        明确原因后就开始查找解决问题的方案,经过长时间的的查找最终将问题锁定在OptimizedFramePacing这个选项,该选项默认状态下是勾选的。根据下方论坛用户的说法,关闭该选项确实可以解决卡死的BUG,属于的Unity自身的BUG。Bug-Unityfreezeonlongrunapp

Unity Lighting -- 配置阴影

    本笔记使用URP管线进行说明配置渲染管线阴影参数    在项目窗口中,主菜单中选择Edit->ProjectSettings,然后选择Quality,查看当前项目所使用的URP资源,目前例子所使用的资源为UniversalRP_HighQuality资源     在工程窗口中,会有对应的渲染管线配置资源文件,选择这个文件,查看其Inspector     在Inspector面板中,有一项Shadows,展开它可以看到渲染管线中和阴影相关的配置     MaxDistance属性表示距离相机的最大距离,在这个距离内Unity会渲染阴影。我们将MaxDistance设置为0,观察一下会发

【学习笔记】Unity ontriggerenter2d不触发问题

最近学习的时候遇到不触发碰撞检测的问题,搜了很多都不是,后来还是没有解决,不过我有另一个解决的方案先说一下碰撞的条件:两个都是碰撞器,其中一个有刚体碰撞器勾选isTrigger方法:第一步:把2D碰撞器都换成3D的(什么形状碰撞器都行)第二步:把OnTriggerEnter2D()换成OnTriggerEnter()第三步:是我之前代码问题本来我的代码是这样的:privatevoidOnTriggerEnter2D(Colliderother){if(other.tag=="Player")  {      Debug.Log("碰撞成功");      audio.PlayOneShot(a

Unity 如何与服务器对接来实现

Unity是一款非常流行的游戏引擎,它可以用来制作各种类型的游戏,包括单人游戏和多人游戏。在多人游戏中,玩家需要与服务器进行通信,以便实现多人游戏的功能。本文将详细讲解Unity如何与服务器对接来实现多人在线游戏。网络通信在多人游戏中,玩家需要与服务器进行通信,以便实现多人游戏的功能。Unity中提供了一些网络通信的API,可以用来实现与服务器的通信。其中最常用的是Unity的网络通信API,包括Unity的网络连接和网络数据传输等功能。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。网络连接网络连接是实现多人游戏的关

【Unity编辑器扩展】| 顶部菜单栏扩展 MenuItem

前言【Unity编辑器扩展】|顶部菜单栏扩展MenuItem一、创建多级菜单二、创建可使用快捷键的菜单项三、调节菜单显示顺序和可选择性四、创建可被勾选的菜单项五、右键菜单扩展5.1Hierarchy右键菜单5.2Project右键菜单5.3Inspector组件右键菜单六、AddComponentMenu特性总结前言前面我们介绍了Unity中

【Unity】为网格生成顶点法线(Mesh.RecalculateNormals计算异常的解决方案)

背景我们通过代码动态创建的网格,因为没有法线,不会接收到光照。正常情况下调用Mesh.RecalculateNormals方法,重新生成法线即可。但特定情况下通过此方法计算出的顶点发现都是(0,0,0),这种情况下只能手动生成法线了如下图,左边物体有正确的法线,可以接收光照信息,右侧物体无法线,无法接收光照。RecalculateNormals计算异常的原因经测试发现导致Mesh.RecalculateNormals计算异常的情况:如果Mesh中的某个顶点,在三角形标号数组中,即画了正面的网格,又画了反面的网格,则会导致RecalculateNormals计算错误,该点法线计算结果为(0,0,

Unity 原神人物移动和镜头处理

每帧都处理的地方不要用SetTrigger为什么呢?你肯定会希望SetTriggerrun就跑步SetTriggerstop就停止但事实并非如此SetTrigger会在下一帧自动设置回去而你移动肯定是每帧都在SetTrigger所以人物移动会抽搐最好的办法是设置float分析原神的镜头界面左侧负责控制人物移动界面右侧负责控制视角人物的移动方向和人物朝向没有关系。只和镜头方向有关系。v.x=this.joystick.Horizontal;v.z=this.joystick.Vertical;if(v.x==0&&v.z==0){this.animator.SetFloat("runfloat"

Unity中使用Mixamo为3D模型添加动画(保姆级教程)

Unity中使用Mixamo为3D模型添加动画(保姆级教程)最近在做为Unity的3D人物添加动画,浅浅记录一下操作方法。步骤一:在UnityHub中新建一个项目。打开UnityHub,点击NewProject,然后按照下图步骤操作:步骤二:创建一个面板,用于放置人物打开项目——>GameObject——>3DObject——>Plane,这一步非必要,如果已有3D场景,可忽略这一步。步骤三:将已有的人物模型上传到Mixamo点此打开Mixamo打开Mixamo后进入如下界面,这里有一些3D角色和动画可供免费使用。上传自己的3D角色,注意上传的格式根据下图所示的步骤操作步骤四:角色导入将下载好

Unity UI与粒子 层级问题Camera depth Sorting Layer Order in Layer RenderQueue

Unity游戏开发中,模型、界面、特效等,需要规划好layer的概念,涉及到摄像机(Camera)、画布(Canvas)、Shader等相关内容。在Unity中,渲染顺序是由多个因素共同决定的,大致分为三层优先级:Cameradepth、SortingLayer/OrderinLayer和RenderQueue。一.Camera一般游戏项目,会创建至少两个摄像机,一个3D摄像机(使用透视视角)和一个UI摄像机(使用正交视角)。在Unity中,每个Camera都有一个depth属性,用于控制该Camera在渲染管线中的渲染顺序。Cameradepth值越小,表示该Camera越优先被渲染,即它会