Unity 3D
小白菜小青菜
平凡的脚步也可以走出伟大的行程!
展开
-
unity 3D 入门--SiKi学院课程之打砖块
- **GetMouseButtonDown(int button)** 方法类型:静态。 参数:`button`—表示鼠标上的键,0:表示鼠标左键,1:表示鼠标右键,2表示鼠标中键,3:表示鼠标上键,4:表示鼠标下键(其中3和4件不经常用,因为有的鼠标上没有这两个键)。 返回值:bool—当鼠标上某个键被按下之后原创 2018-07-28 14:24:14 · 2610 阅读 · 0 评论 -
Unity 3D Random类
Unity 3D - Random类 Random类可以用来生成随机数。Random成员变量 : seed : 随机数生成器种子 value 返回一个0~1之间随机浮点数,包含0到1 insideUnitSphere: 返回位于半径为1的球体内的一个随机点(只读) insideUnitCircle: 返回位于半径为1...原创 2018-08-03 14:06:31 · 1354 阅读 · 0 评论 -
unity3D OnTriggerEnter和OnCollisionEnter区别
OnTriggerEnter和OnCollisionEnter的区别测试:如果两个物体A,B 两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)A,B都有刚体(Rigidbody)A或者B中有一个勾选isTrigger或者两者都勾选isTrigger A和B都可以进入OnTriggerEnter方法,但是...原创 2018-08-12 20:06:51 · 3110 阅读 · 0 评论 -
Unity3D的Time类(UnityEngine.Time)详解
Time.time:(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。Time.timeSinceLevelLoad:(只读)表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。Time.deltaTime:(只读)表示从上一帧到当前帧时间,以秒为单位。Time.fixedTime:(只读)表示以秒计游戏开始的时间,固定时间以定期间隔更新(相当于f...原创 2018-09-20 19:13:18 · 2270 阅读 · 0 评论 -
Unity之序列化字段[SerializeField] [HideInInspector]
[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来。[SerializeField]表示将原本不会被序列化的私有变量和保护变量变成可以被序列化的,那么它们在下次读取的值就是你上次赋值的值。注释:如果a是公有的序列化变量。 (1)如果你想要在面板中看到变量a,那么用: public int a; (2)如果你不想在面...原创 2018-11-15 19:40:29 · 850 阅读 · 0 评论 -
unity 3d shader初接触shader和渲染管线
shader和渲染管线shader:shader中文意思着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去用汇编语言来编写,现在也可以用高级语言来编写。Shader开发语言HLSL: 主要用于Direct3D。平台:windows。GLSL: 主要用于OpenGL。 平台:移动平台(iOS,安卓),mac(only use when you target Mac...原创 2019-03-09 13:56:25 · 402 阅读 · 0 评论 -
unity shader编程语言 HLSL/GLSL/Cg
unity shader编程语言 HLSL/GLSL/CgShader LanguageShader Language的发展方向是设计出在便携性方面可以和C++、Java等相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法效率”。Shader Language目前主要有3种语言:基于OpenGL的OpenGL Shadi...原创 2019-03-09 14:01:32 · 4586 阅读 · 0 评论 -
unity 3D 第一个shader脚本
第一个shader脚本 一个真笨的开始,一个大的向往。记录一下写的第一个shader:首先建立一个项目,然后新建一个shader ,shader内容如下:Shader "Custom/Simple"{ Properties { _Color("Base Color",Color)=(1,1,1,1) _MainTex("Base(RGB)",2D)= "white" {}...原创 2019-03-09 23:57:29 · 1024 阅读 · 0 评论 -
左手坐标系和右手坐标系以及Unity中的世界坐标系和本地坐标系
一.左手坐标系和右手坐标系左手坐标系: 伸开我们的左手, 掌心向外, 大拇指与食指成90度, 中指、无名指和小指弯曲, 大拇指指向的方向就是X轴正方向, 食指指向的方向就是Y轴正方向, 中指、无名指和小指指向的方向就是Z轴正方向。右手坐标系: 伸开我们的右手, 掌心向内, 大拇指与食指成90度, 中指、无名指和小指弯曲, 大拇指指向的方向就是X轴正方向,食指指向的方向就是Y轴正方向, 中指...原创 2019-03-10 22:33:29 · 1763 阅读 · 0 评论 -
静态方法与实例方法的区别
静态方法与实例方法的区别对静态方法与实例方法新理解:1、静态方法常驻内存,实例方法则不是,所以静态方法效率高但占内存?事实上,他们都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。2、静态方法在堆上分配内存,实例方法在堆栈上?事实上所有的方法都不可能在堆或者堆栈上分配内存,方法作为代码是被加载到特殊的代码内存区域,这个内存...原创 2019-05-22 09:52:55 · 601 阅读 · 0 评论 -
unity3D中如何分别获取pc端鼠标的滑动方向和andriod移动平台上手指的滑动方向
unity3D中获取pc端鼠标的滑动方向//枚举方向public enum SlideDir{ right, left, top, bottom, nullpoint}public class GameManager : MonoBehaviour{ public SlideDir dir = SlideDir.nullpoin...原创 2018-08-11 17:29:26 · 1359 阅读 · 1 评论 -
Unity 3D 序列化(Serialize)
什么叫序列化?序列化可以用于跨平台。我们都知道对象是暂时保存在内存中的,不能用U盘考走了,有时为了使用介质转移对象,并且把对象的状态保持下来,就需要把对象保存下来,这个过程就叫做序列化.什么叫反序列化?就是再把介质中的东西还原成对象,把石子还原成人的过程。在进行这些操作的时候都需要这个可以被序列化,要能被序列化,就得给类头加[Serializable]特性。通常网络程序为了传输...原创 2018-08-02 16:44:54 · 1865 阅读 · 0 评论 -
Unity3D之Input输入事件总结
一、Unity的基本输入事件(最常用):鼠标点击:Input.GetMouseButtonDown(0) //鼠标左键按下 Input.GetMouseButtonDown(1) //鼠标右键按下 Input.GetMouseButtonUp(0) //鼠标左键抬起 Input.GetMouseButtonUp(1) ...原创 2018-07-28 15:24:36 · 1688 阅读 · 0 评论 -
Unity3D预设Prefab与实例Instantiate的基本使用
Unity3D预设Prefab与实例Instantiate的基本使用在Unity3D的工程建设中,Prefabs(预设)是最非常用的一种资源类型,是一种可被重复使用的游戏对象。特点1:它可以被置入多个场景中,也可以在一个场景中多次置入。特点2:当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。特点3:所有Prefabs实例都是Prefab的克隆,所以如果实在...原创 2018-07-28 15:41:10 · 4670 阅读 · 0 评论 -
Unity 物体移动的三种方式
在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。通过Transform组件移动物体Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Tr...原创 2018-07-28 16:43:46 · 7408 阅读 · 0 评论 -
C#继承的执行顺序以及override关键字
例1:public class A { public A() { Console.WriteLine('A'); } public virtual void Fun() { Console.WriteLine("A.Fun()"); ...原创 2018-08-06 09:14:21 · 1891 阅读 · 1 评论 -
unity3D 初识 IEnumerator and yield
Unity 3D IEnumerator(协程)什么是协程? 在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行。可以用来控制运动、序列以及对象的行为。 简单来说,协程就是:你可以写一段顺序的代码,然后标明哪里需要暂停,然后在下一帧或者一段时间后,系统会继续执行这段代码。为什么需要协程? 在游戏中有许多过程(Process)需要花费多个逻辑帧去计算。...原创 2018-08-01 16:51:46 · 755 阅读 · 0 评论 -
unity3D Collider 碰撞器
unity3D Collider 碰撞器碰撞器的种类:1、盒碰撞器(Box Collider)2、椭圆碰撞器(Sphere Collider)3、胶囊碰撞器(Capsule Collider)4、车轮碰撞器(Wheel Collider)专用于车辆5、网格碰撞器(Mesh Collider)6、地形碰撞器(Terrain Collider)盒碰撞器(Box Co...原创 2018-08-02 09:34:54 · 9441 阅读 · 0 评论 -
Unity3D第三人称Camera视角旋转实现
Unity3D第三人称Camera视角旋转,实现对player观察的实现,效果图如下(player and Scene 有点lou):内容知识总结:Input.GetAxis():该方法用于在Unity3D中根据坐标轴名称返回虚拟坐标系中的值,通常情况下,使用控制器和键盘输入时此值范围在-1到1之间。脚本如下:using UnityEngine;using System....原创 2018-08-11 10:43:57 · 11893 阅读 · 1 评论 -
unity延时方法Invoke和InvokeRepeating
MonoBehaviour里面有两个内置的延时方法InvokeInvoke(methodName: string, time: float): void; methodName:方法名 time:多少秒后执行 Invoke() 方法是 Unity3D 的一种委托机制如: Invoke("SendMsg", 5); 它的意思是:5 秒之后调用 SendMsg() 方法;...原创 2018-08-07 08:34:23 · 1556 阅读 · 0 评论 -
Unity3d 设计模式之单例模式
什么是单例模式?单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。 通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例什么时候能用到单例模式?比如说存在一些个模块我们需要在整个游戏中随时随地的访问他,就可以用到单例模式了。实际开发中比如做为管理UI的脚本UIManager,管理玩家信息的脚本PlayerManag...原创 2018-08-02 16:16:02 · 595 阅读 · 0 评论 -
角色控制器 (Character Controller)
角色控制器 (Character Controller)一、简介角色控制器(Character Controller)主要用于对第三人称或第一人称游戏主角的控制。如果要创建类人角色,可使用角色控制器 (Character Controller)。这可以是第三人称游戏 (Third Person Platformer) 中的主角色、FPS 射击者或任何敌人角色。二、基本概念第三人称游戏中的这...原创 2019-05-24 07:53:04 · 11135 阅读 · 0 评论