EKsumic的个人博客

本博客主要用于整理知识点并分享,转载请注明出处

移动适配已完成,点击左侧按钮可使用目录

原创 [Unity]从零开始认识C#脚本

食用方案:建议有一定C#基础的同学,可以直接看。不过没有的话,问题也不是太大,因为主要还是接触Unity中的常用API,记住就可以了。 参考方案:以官方的Standard Assets的ThirdPersonCharacter为例。 最基础的C#请看这里→C#入门基础(一) ...

2020-03-30 17:20:10

阅读数  116

评论数 0

原创 Win10专业版激活工具

本软件只适合Win10专业版激活,其它版本并不清楚适用不适用。 1.运行之前最好不要开杀毒软件 2.双击exe文件运行,点击红色按钮,等待一段时间 3.破解完毕 最佳应用,当你安装WIN10的虚拟机的时候 ...

2020-03-31 17:30:59

阅读数  19

评论数 0

原创 Unity的C#中Vector3.Normalize()和Vector3.normalized的区别

.normalized其实是归一化, 当玩家同时按下W和D的时候,玩家是斜着走的, 如果向前和向右的移动速度都1m/s,那么斜着走就是1.414m/s, 结论:斜着走比正常走路快。 这显然是不符合常理的。 为了解决这个问题,出现了.normalized ...

2020-03-31 16:54:08

阅读数  27

评论数 0

转载 An email from a game developer

It was 5 years ago, but I remember it like it was yesterday. I just learned how to code in Java, and I had a burning desire to create my first game. The problem was I never programmed a video game before, and I had no idea where I should start or what I would even need. This sounded scary in my head, given the fact that it took me some time to figure out how programming works ...

2020-03-31 11:20:39

阅读数  28

评论数 0

原创 Shader入门基础(二)

在Unity主界面的Project选项卡中,右键Create一个Unlit Shader。虽然Unity这里列出了4种Shader,其实它们的本质是一样的, 只不过是Unity根据我们不同的需求创建的预设模板而已。 Unlit Shader是默认不参与光照计算的, 但又包含了Shader程序所具备的基本结构, 因此从这里入手会相对容易一些 ...

2020-03-31 07:26:51

阅读数  33

评论数 0

原创 CSS里面的1em是什么?

css里面的1em是什么? 1em=16px (如果你不设置body内的font-size的话) 1em=10px(如果你在body内的声明font-size=62.5%的话) 是的,1em是一个字高,它是相对单位,em会继承父级元素的字体大小 ...

2020-03-31 06:23:01

阅读数  15

评论数 0

演绎 马斯洛需求层次

第一层次 生理需求,即基本的吃喝拉撒。 第二层次 安全需求,基本的安全保证。 包括但不限于人身安全、财产安全。 第三层次 社交需求,基本的情感寄托。 包括但不限于亲情、友情、爱情。 第四层次 尊重需求,基本的尊重。 包括但不限于自尊、面子。 第五层次 自我需求,自我价值的实现。 包括但不限于世俗定义的成功、自我认为的成功、帮助他人的满足 ...

2020-03-31 05:49:12

阅读数  27

评论数 0

演绎 [Unity3D]向量Vector3

[Unity3D]向量Vector3 在Unity中,用结构体来描述向量,什么是结构体请看→这里 namespace UnityEngine {public struct Vector3 {public float x; public float y; public float z;}} 向量的长度:向量的大小(或长度)称为向量的模 ...

2020-03-30 20:41:49

阅读数  30

评论数 0

原创 2020市面上各大游戏引擎一览

Unity 目前市场份额最大的引擎,适合新手 UnReal4 目前市场上画质比Unity好的引擎,不适合新手 CryEngine 光追++,但致命架构问题,BUG非常多 Lumberyard CryEngine改,无优势,无特点,BUG也没修复完 Xenko 完全开源的引擎,但处于非常原始的状态 Godot 适合做2D的引擎 ...

2020-03-29 02:25:45

阅读数  26

评论数 0

原创 [Blender]ASCII FBX files are not supported如何解决?

很不幸,你不能直接导入ASCII的FBX,但是你可以导入Binary的FBX,所以你需要一个第三方工具——Autodesk FBX Converter(免费) ...

2020-03-28 21:47:31

阅读数  19

评论数 0

演绎 C#高级编程——Reflection反射

反射就像在主程式里面,安装了一个声纳探测器, 在生命周期一开始的时候,就会调用探测器,你的方法执行依赖于声纳反射回来的声波, 这样的做的好处是,当你想更新程序的时候,只需要加dll就行了, 不需要重新编译。 这样,就成了插件式的编程 ...

2020-03-25 17:27:19

阅读数  35

评论数 0

原创 C#高级编程——Attribute特性

在Unity中,当你写 [RequireComponent(typeof(Rigidbody))] 的时候,脚本会为你请求Rigidbody, 一旦这个脚本挂上去, Inspector里面会为你自动增加一个Rigidbody;AttributeUsage()用来定义特性的使用范畴; AttributeTargets.Field 表示能写在字段前面; AttributeTargets.Method 表示能写在方法签名; Inherited=true表示允许继承; AllowMultiple=true表示允许多个特性 ...

2020-03-25 17:14:05

阅读数  37

评论数 0

原创 [Unity]以m_开头的变量为什么在Insepector面板中不显示?

同样的,即使你写public float m_camelCase = 0; 在Inspector中也会变成 Came Case : [Image] 在Unity中,每当你写 [SerializeField] float m_MovingTurnSpeed = 360; 的时候,在Inpector中你将看到 去掉m_+首字母大写的自动补充空格的 如 Moving Turn Speed 这样的显示出来的变量。 是的, Unity为了更友好地显示,只要你使用了m_你就会在实际面板中看不到m ...

2020-03-25 13:16:56

阅读数  38

评论数 0

原创 [Unity]为什么我需要使用[SerializeField] ?它是用来干什么的?

[SerializeField] 你想在面板序列化显示,但不想其它脚本访问它,通常和private连用 [HideInInspector] 你不想在面板中显示,但你想让其它脚本访问它,通常和public连用 注意点: ① [SerializeField]不可用于static变量。 ② [SerializeField]private float m_xx 在Inspector中只会显示xx。 ③ m_开头表示类的成员变量m为member的缩写,这是个习惯问题 ...

2020-03-25 13:14:29

阅读数  47

评论数 0

演绎 [解决方案]C#Winform处理由frm.Refresh()方法造成的屏幕闪烁

对于大多数应用程序,.NET Framework 提供的默认双缓冲将提供最佳效果。默认情况下,标准 Windows 窗体控件是双缓冲的。可以通过两种方法对窗体和所创作的控件启用默认双缓冲 ...

2020-03-20 02:26:41

阅读数  41

评论数 0

原创 C#try和异常

try catch的基本用法就不说了 主要说catch这块, catch里面填的参数,一般是通用异常 比如 DivideByZeroException ex , 但正常会帮你写上Exception ex, Exception 是父类,包含了所有可能的异常, 只要一发生异常,就会执行catch语句。 那肯定有人想问,像IndexOutOfRangeException、 FormatException、OverflowException这些具体的异常 ...

2020-03-19 01:46:32

阅读数  48

评论数 0

原创 C#Lambda表达式

Lambda表达式 ▢ Lambda表达式其实就是一个用来代替委托实例的未命名的方法; 换句话说,它是个方法,它没有名字。 ▢ 编译器会把Lambda表达式转化为以下二者之一:    ▢ 一个委托实例    ▢ 一个表达式树(expression tree),类型是Expression<TDelegate>,它表示了可遍历的对象模型中Lambda表达式里面的代码。它允许Lambda表达式延迟到运行时再被解释 ...

2020-03-18 21:50:10

阅读数  56

评论数 0

原创 C#协变、逆变、不变

C#协变、逆变、不变 Covariance 协变 【Code】 可以按F12打开原生C#查看这些接口和类的定义, 可以发现: IEnumerable只作为输出 IList同时作为输入和输出 Action只能输入 于是就有3种说法: Covariance,Contravariance,Invariance Covariance—协变 Contravariance—逆变 Invariance—不变 ...

2020-03-18 03:22:57

阅读数  54

评论数 0

原创 C#泛型约束

C#泛型约束 一般来讲,泛型的类型参数(parameter)可以是任意类型的。 如果只允许使用特定的类型参数(argument),就可以指定约束, 规定: where T:base-class //必须是某个父类的子类 where T:interface //表示T必须是实现了某个接口 where T:class //表示T必须是引用类型 where T:struct //表示T必须是值类型(非空) where T:new() //表示必须有无参构造函数 where U:T //表示U继承于T ...

2020-03-18 01:05:40

阅读数  48

评论数 0

原创 C#Event事件

Event事件 想要了解C#事件,先了解→C#委托 委托通常存在两个角色:广播者和订阅者 订阅者——指的是委托声明 广播者——指的调用委托的方法 可以参考 C#委托(上)的多播, 订阅者可以通过+=和-=来控制监听方法的数量。 这样的操作,被C#简化成了事件, 一方面是为了简化代码,另一方面是为了防止互相干扰。 需要注意的一点: ▢ 事件是一种结构,用于实现广播者/订阅者模型,它只暴露了所需的委托特性的部分子集 ...

2020-03-17 19:10:22

阅读数  44

评论数 0