![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
王璨14715
这个作者很懒,什么都没留下…
展开
-
Unity LayerMask 的切换功能的实现
因为layermask设计为二进制保存,而API并没有给你直接的读取一个层的开启状态的函数,这个过程会变得很折磨。简而言之,你不需要知道这个层的当前状态,你就直接让他进入反状态就好了。我搜索了一下,没有找到有人这样写,所以我觉得有一些先进性,所以发出来。实现一个layermask的切换状态,你可能会做。,这是一个简单的问题,但是实现起来稍微繁琐。而且它只有两行,非常简洁。...原创 2022-08-29 13:39:50 · 1289 阅读 · 1 评论 -
Unity常用的Attribute脚本汇总
常用一个Attribute脚本汇总,试一试就知道是什么意思。using System.Collections;using System.Collections.Generic;using UnityEngine;//不可重复添加[DisallowMultipleComponent]//需要添加额外脚本[RequireComponent(typeof(Animator))][AddComponentMenu("MyScript/GoodScript")]//CreateAssetMenu原创 2020-09-28 14:10:51 · 344 阅读 · 0 评论 -
记录Unity对象初始化的一个坑
以前一直没有注意过关于在Unity中C#对象初始化的问题,今天遇到了一个问题一定要记录一下。通常我们写一个MonoBehavior,你只需要声明一个Unity的组件而不需要立刻实例化,你就可以在函数中使用它。如下,不会出错,如果你只是把他拖到场景中使用而不是用脚本new它。public class EntityTest : MonoBehaviour{ public AnimationCurve _Curve; void Start() { _Curve = n原创 2021-12-02 20:59:44 · 2132 阅读 · 0 评论 -
MLAPI你想需要关注的新的Unity网络框架
在乱翻PackageManager的时候,无意间看到这么一个玩意 Multiplayer HLAPI,熟悉的unity的朋友知道,unity5的时代,unity大力推广过他自己的Unet框架,内置在unity中,现在时过境迁,你不仅找不到Unet了,连查手册也会被大大警年告“UNet is deprecated”,UNet废了。然后HLAPI骄傲的表示自己是新的内置Networking,命名空间“UnityEngine.Networking”。当你点开Doc可以发现,HLAP自18年12月发布previ原创 2021-02-05 17:00:33 · 3538 阅读 · 0 评论 -
UnityHDRP中雪地留下脚印的Shader
效果如视频中所示:https://www.bilibili.com/video/BV15i4y1E7ZZ/参考教学视频:https://www.bilibili.com/video/BV1Mb411i7WQ实现思路不复杂,依赖一个C#脚本和两个shader,一个隐式shader,一个显示shader。思路:1.用C#脚本,在玩家的两个脚底向平面打射线,得到射线碰撞点UV的位置。2.得到了UV坐标,在隐式shader中,在该点绘制脚印,返回到C#脚本。3.C#脚本,将绘制的贴图,给到显原创 2021-01-09 22:32:18 · 1331 阅读 · 3 评论 -
为UnityEditor增加Maya一些功能的工具包
使用过Maya都知道,按下G键可以打组,但是Unity没有这个功能,这里把Maya里边几个好用的场景编辑功能搬运到Unity中实现。1.打组,把选定的Gameobject变成一个新建的父物体的子物体,并且放到Hierarchy最下方。UnderFather决定新的父物体是否在原本的父物体下方。2.按照名字打组,在如果选定的Gobj名字含有关键词,就会打组。3.特殊复制,和Maya中特殊复制类似,目前只支持位置变化。4.置于Hierarchy最上方或者最下方5.将选定的Prefab快速替换原创 2020-09-18 16:50:58 · 410 阅读 · 0 评论 -
记录Unity Matrix4x4的一个坑。
public class TestMatrix : MonoBehaviour{ //声明一个零矩阵,然后将其第四列改为(1,1,1,1) //分别将零矩阵单独声明,用数组装,用泛型装 Matrix4x4 matrix; Matrix4x4[] matrix4x4Array; List<Matrix4x4> matrix4x4List = new List<Matrix4x4>(); void Start() { .原创 2020-09-04 20:11:28 · 515 阅读 · 0 评论 -
Unity内置方法, VS实现Unity消息,建议背诵。
中文文档消息解释https://docs.unity.cn/cn/current/ScriptReference/MonoBehaviour.html原创 2020-08-21 10:37:13 · 288 阅读 · 0 评论 -
Unity中四元数quaternion的学习笔记
笔记来自《游戏引擎架构》Jason Gregory著 第二版,4.4四元数,Page144。引入:3*3矩阵可以表示三位中的任何旋转,但是他又三个问题。1.9个浮点型表述只有三个自由度的旋转显得多余。2.矩阵乘法过于复杂对于计算机来说,我们需要运算更快的旋转方法。3.不能平滑插值。如此,我们有quaternion q = {x,y,z,w}四元数由威廉哈密顿爵士发明,作为复数的衍生,其定义x,y,z为虚部,w为实部,即x^2 = y^2 = z^2 =-1,w^2 = 1。而原创 2020-08-14 17:24:38 · 1286 阅读 · 0 评论 -
Unity2018.4LineRenderer用法和解释
Line Renderer是unity提供的用来方便地绘制线条的组件。通过指定线条的每一个节点位置即可绘制出一条折线,可以在Inspection的Position中设定每个节点的位置,Position[0]位start,Position[Length-1]为end,也可以在脚本中使用如下代码指定折线节点位置。 Vector3[] positions = new Vector3[3]; positions[0] = new Vector3(-2.0f, -2.0f, 0原创 2020-08-14 14:17:26 · 1334 阅读 · 0 评论