角色 卡通unity

记一次Unity性能优化

Before you make any changes, you must profile your application to identify the cause of the problem. If you attempt to solve a performance problem bef ......
性能 Unity

unity 点击,长按和双击

转自:Unity 单击、双击、长按事件处理_unity button长按事件_司军礼的博客-CSDN博客 原理: 1.将操作抽象成三个类:ClickButton,DoubleClickButton,PressButton并实现各自的生命周期函数: ClickButton:OnPointerDown启 ......
unity

从FrameDebugger看Unity渲染

Unity如何渲染一个3D+2D的游戏画面,今天通过FrameDebugger来看下Unity内置渲染管线的渲染策略, 后续再出一些URP渲染管线相关的文章。 Unity 渲染场景的几个主要部分 Unity内置渲染管线是基于摄像机来进行渲染的,每个摄像机按照摄像机的渲染顺序来依次渲染,渲染完一个摄像 ......
FrameDebugger Unity

Unity基于状态机的流程控制

我们做游戏的时候经常会有流程控制,流程控制的方法有很多,行为决策树,状态机等。本质差别都不大,就是把每一段执行逻辑做成一个一个的节点,根据条件执行某个节点,切换到某个节点。今天给大家分享一下基于状态机来做游戏流程的控制。 1 一个简单的状态机案例 我们先来拆解一个使用案例,通过这个案例让大家对状态机 ......
流程 状态 Unity

Unity DOTS系列之Struct Change核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制,方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchType+Chunk的Entity管理模式。每个Enti ......
机制 核心 Change Struct Unity

Unity-Android 权限相关问题

生成AndroidManifest File -> buildSetting->playerSetting->Android->publishing Settings 权限添加位置: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:and ......
Unity-Android 权限 Android 问题 Unity

Unity DOTS系列之托管/非托管Component的区别与性能分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面托管与非托管Component的区别与性能分析,方便大家上手学习掌握Unity DOTS开发。 托管与非托管的区别在于是不是基于自动垃圾回收的。托管是由垃圾回收器来负责自动回收,非托管需要我们手动来做相关内存管理,不被垃圾回收系统来处理。 U ......
性能分析 Component 性能 Unity DOTS

Unity从入门到主程学习路线(内含学习资料)干货超全

写在最前 很多小伙伴想进阶Unity主程,进阶Unity架构师,不知道要学哪些知识,今天给大家分享一下比较完整的知识体系,Unity学习路线,介绍一些有干货的博主与教程,给大家做参考。 不管你是已经工作了,还是正在学习中的Unity初学者,如果你想在游戏开发行业中有更高更远的发展,请用五分钟阅读下面 ......
干货 学习资料 路线 资料 Unity

Unity学习笔记--基础

Unity3D引擎学习的一些基础知识。包括3D数学知识,MonoBehavior中的延迟函数、协程,以及协程的底层实现。Resources资源的动态加载、异步加载,最后学习范围检测和射线检测两大常用功能要点。 ......
基础 笔记 Unity

基于Unity整合BEPUphysicsint物理引擎实战

上一节我们详细的讲解BEPUphysicsint 的物理事件。此物理引擎会产生了碰撞事件与非碰撞事件,碰撞事件大家好理解,非碰撞事件例如: 物理Entity的update事件,Entity的activation/deactivation事件等。本节课来实战如何编译BEPUphysicsint源码到自 ......
BEPUphysicsint 实战 物理 引擎 Unity

为什么这么NB?huatuo革命Unity热更新

最近huatuo(华佗)热更新解决方案火爆了unity开发圈,起初我觉得热更新嘛,不就是内置一个脚本解释器+脚本语言开发,如xLua, ILRuntime, puerts。Huatuo又能玩出什么花样,凭什么会这么NB,引起了那么多程序员的关注与称赞呢?带着这些问题我详细的看了huatuo的资料,阅 ......
huatuo Unity

Unity动态获取项目信息

string PackageName = Application.identifier; //包名 string APPversion = Application.version; //APK版本号 string ProductName = Application.productName; //产品 ......
项目 动态 Unity 信息

Unity显示 物体的最小uv

开发过程中遇到同一个mesh,同一个shader,但是出现渲染结果不一致的情况。 初步猜测是光栅化后,像素中心对应物体的位置不同,uv通过插值生成,从而导致渲染结果不一致。 下文验证了uv会随着物体的位置不同,而发生改变。 验证 使用了 https://github.com/cinight/Mini ......
物体 Unity

又一个控制角色移动 NavMeshPlayerControl

在这个的基础上:阴影实现 - 准备工作:场景中行走的角色 - yanghui01 - 博客园 (cnblogs.com),将CharacterController换成了NavMeshAgent, 不过目前功能不完善,仅作为一个参考吧,NavMeshAgent上的跳暂时还不知道怎么实现。 效果 usi ......
NavMeshPlayerControl 角色

Unity 创建自定义渲染管线

可以看官方的 https://docs.unity3d.com/Manual/srp-custom-getting-started.html 或者 这位大佬的 https://zhuanlan.zhihu.com/p/378828898 ......
管线 Unity

Unity 实现对摄像机位置移动(前后左右平移,左转右转,俯仰)的两种方案

在实现这个功能的过程中走了很多歪路,特别是借鉴的一个博主的代码会出现平移之后立即复位的问题。 最后也没确定问题出在哪,解决问题的方法是将本来用于旋转的欧拉角的乘算改成建立一个新向量进行加算并最后使用transform.Rotate指令进行旋转。 并不排除是其他地方导致的这个bug。 最后得到的两个方 ......
摄像机 位置 方案 Unity

Unity DOTS系列之Struct Change核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制,方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchType+Chunk的Entity管理模式。每个Enti ......
机制 核心 Change Struct Unity

Unity显示一个对象的像素个数

下图显示了该面片占用的像素个数为147456。 因为面片的大小为1,坐标为(0,0.5f,0)。相机为正交视角,OrthoSize为1. 面片完全显示且高度为 (768/2)^2 = 384^2 = 147456。 另外,可以推测,pixel shader渲染会在所有对象的vertex shader ......
像素 个数 对象 Unity

sql多表连接 ,三表连接查询 用户表、角色表、用户角色关系表

sql多表连接 ,三表连接查询 文章目录 一、普通的三表连接查询。二、加入查询条件、排序、分页、字段重命名的三表连接查询。三、疑问解答(大家有疑问可以在评论区留言,笔者一般一日内会回复): 一、普通的三表连接查询。 用户表、部门表、用户部门关联表 select a.id as userId,dept ......
角色 用户 sql

Unity学习笔记--入门

Unity引擎学习 入门: Unity中的坐标系: 左手坐标系(z轴正方向向里面) x轴:平行屏幕向右正方向 y轴:平行屏幕向上正方向 Z轴:垂直屏幕向内为正方向 【补】openGL是右手坐标系 DirectX是左手坐标系 窗口: 窗口布局Layout: Scene 这里我们可以看见所有的场景内容。 ......
笔记 Unity

Unity进阶开发-FSM有限状态机

# Unity进阶开发-FSM有限状态机 前言 我们在进行开发时,到了一定程度上,会遇到数十种状态,继续使用Unity的Animator控制器会出现大量的bool,float类型的变量,而这些错综复杂的变量与Animatator控制器如同迷宫版连线相结合会变得极其的复杂且无法良好维护扩展,出现一个B ......
状态 Unity 有限 FSM

Unity进阶提升-2D游戏跳跃手感优化(跳起下落)

在进行2D游戏开发时,跳跃是不可缺少的一个重要功能。但是我们在Unity开发时Unity本身的物理引擎并不能提供很好的的手感,下落的时候轻飘飘的,这操作起来显然非常不舒服。所以,我们需要自己对跳跃进行优化,以此来获得更好的手感。我们不难发现,在绝大多数2D游戏的跳跃中,下落的速度比上升的速度要快上很 ......
手感 Unity 2D

让物体动起来,Unity的几种移动方式

一、前言 在大部分的Unity游戏开发中,移动是极其重要的一部分,移动的手感决定着游戏的成败,一个优秀的移动手感无疑可以给游戏带来非常舒服的体验。而Unity中有多种移动方法,使用Transform,使用刚体Rigidbody,使用CharacterController,使用NavMesh导航系统等 ......
物体 方式 Unity

Unity 3D定点数物理引擎实战系列4

1.4基于Unity整合BEPUphysicsint物理引擎实战 上一节我们详细的讲解BEPUphysicsint 的物理事件。此物理引擎会产生了碰撞事件与非碰撞事件,碰撞事件大家好理解,非碰撞事件例如: 物理Entity的update事件,Entity的activation/deactivatio ......
点数 实战 物理 引擎 Unity

Unity DOTS系列之Aspect核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Aspect机制,方便大家上手学习掌握Unity DOTS开发。 Aspect 机制概述 当我们使用ECS开发的时候,编写某个功能可能需要某个entity的一些组件,如果我们一个个组件的查询出来,可能参数会写很长。如果我们编写某个功能的时候, ......
机制 核心 Aspect Unity DOTS

Unity RVO动态避障技术方案介绍

我们在开发游戏的时候经常会遇到这样的问题,当我们寻路的时候,其它人也在寻路,如何避免不从其它人的位置穿过。这个叫做动态避障,目前主流的解决方案就是RVO。本节我们来介绍一些Unity 实现RVO的相关资料,后续在详细的讲解ROV算法的原理。 先給大家介绍一个RVO2 Library 的项目,这个项目 ......
方案 动态 Unity 技术 RVO

Unity ECS内存分配器原理详解

ECS 为什么会高效,性能好,Entity的内存布局与分配就是非常重要的部分,今天我们一起来分析一下Unity ECS 架构里面如何来做高效的内存分配器。这种思路也可以给我们做内存分配提供很好的一个思路。 1: ECS 里面基本的一些概念 Unity ECS框架里面有几个重要的概念: Entity, ......
分配器 原理 内存 Unity ECS

角色头顶信息

实现原理就是类似shader中的广告牌(billboard),让ui始终和相机的朝向一致。 效果: 因为类似广告牌,所以脚本的命名也叫BillboardUI了 using System.Collections.Generic; using UnityEngine; public class Bill ......
头顶 角色 信息

Unity从AssetBundle中加载特效显示不全的问题

环境:Unity 2021.3.25f1 最近做的项目中经常会出现通过Bundle加载的Particle System显示不全的问题,查阅Unity官方的文档是这样说明的: Meshes must be read/write enabled to work on the Particle Syste ......
AssetBundle 特效 问题 Unity

Unity anchoredPosition转localPosition

参考 https://zhuanlan.zhihu.com/p/119442308 在已经有结果的情况下,先捋一下unity对相关字段的注释就能得出很多公式 (rectMinPos表示左下角在父节点坐标系中的位置,其他以"Pos"结尾的字段同理) pivot: The normalized posi ......
anchoredPosition localPosition Unity