Unity3D
[Unity]从零开始认识C#脚本
食用方案:建议有一定C#基础的话可以直接看。不过没有的话,问题也不是太大,因为主要还是接触Unity中的常用API,记住就可以了。 参考方案:以官方的Standard Assets的ThirdPersonCharacter为例。 最基础的C#请看这里→C#入门基础(一) ...
2020-03-30 08:20:10 | 3k reads
[Unity]Mirror联网插件——Custom Data Types
Custom Data Types(自定义数据类型)本篇介绍一般情况下能通过Network传输的变量。 一般结构体能通过Network传递, 一般类能传递,但是有继承的类,不行 需要custom serialize ...
2020-04-14 05:42:41 | 2k reads
[Unity]Mirror联网插件——SyncVars
SyncVars是从networkbehavior继承的类的属性,这些类从服务器同步到客户端。 当一个游戏对象被生成,或者一个新的玩家加入一个正在进行的游戏时,他们会被发送到他们可见的网络对象上所有同步变量的最新状态。 使用SyncVar自定义属性指定脚本中要同步的变量 ...
2020-04-13 11:50:58 | 2k reads
[Unity]Mirror联网插件Error: Void SyncVarDemo::SetColor(UnityEngine.Color32) should have signature
Mirror.Weaver error: System.Void SyncVarDemo::SetColor(UnityEngine.Color32) should have signature: public void SetColor(UnityEngine.Color32 oldValue, UnityEngine.Color32 newValue) { } ...
2020-04-13 10:04:35 | 2k reads
[Unity]Mirror联网插件——基本信息同步(三)
显然,你并不想所有的客户端都去响应服务器的同一个指令, 就比如上一讲的变换颜色同步, 这样的颜色变化,会在所有的客户端执行。 如果你需要特定的Client的进行响应,那么就需要使用[TargetRpc]。 还是老样子,这个方法命名强制以Target开头,其他随便怎么写 ...
2020-04-12 21:18:01 | 3k reads
[Unity]Mirror联网插件——基本信息同步(二)
接着上一讲,是的,这样就实现了完全同步。 但是还是要注意,以[ClientRpc]开头的方法,最好严格以Rpc开头,就像上面代码写的一样。 为什么要强调这个东西,因为 这 很 重 要 。 我们来看看这个同步,原理上讲还是有先后顺序的: 客户端→服务端→客户端 由客户端发起的,对服务器的操作指令,发完服务器又立刻返回了相同的方法给自己。 这样看起来,我们和服务器同步了,但实际上还是存在延迟的 ...
2020-04-12 20:51:04 | 4k reads
[Unity]Mirror联网插件——基本信息同步(一)
接上篇:[Unity]Mirror联网插件的基本使用 本篇:[Unity]Mirror联网插件——基本信息同步(一) 我们发现一个新的问题: Server发生的事情并没有正确的反映在客户端上。 很正常,因为我们还没做同步。 基本案例: 1.Create Empty,命名为CommandSprite。 2.Add Component,增加Sprite Renderer组件。 3.将Sprite的填充内容设置为InputFieldBackground。(这里不是硬性要求) ...
2020-04-12 20:02:08 | 4k reads
[Unity]Mirror联网插件的基本使用
基本安装 1.在场景里CreateEmpty,并将其命名为NetworkManager。 2.Add Component,添加Network Manager。3.Add Component,添加Network ManagerHUD。4.Create Cube,并在Cube上挂一个NetworkIdentity ...
2020-04-12 18:10:25 | 4k reads
[Unity]混合树(Blend Tree)初认识
混合树(Blend Tree)是用来混合动画的。 它默认是Animator Controller里面的一个State。 和其他的单个State里面存放1个Animation不同,混合树State里面可以存放多个甚至任意个动画 ...
2020-04-11 19:15:28 | 3k reads
[Unity]什么是Vector3.Scale函数?
官方描述: Multiplies two vectors component-wise. Every component in the result is a component of a multiplied by the same component of b.事实上就是两个向量相乘 ...
2020-04-11 10:25:53 | 2k reads
[Unity]什么是Camera.main?
根据官方描述,它会以寻找Tag的形式,找到第一个Tag名称为MainCamera的摄像机。 并且如果你有多个Tag为MainCamera的GameObject,它只会寻找第一个并且是Camera的Object,没有就返回null ...
2020-04-11 08:55:53 | 1k reads
[Unity]什么是CrossPlatformInputManager.GetAxis()?
CrossPlatformInputManager和Input的区别: 基本上就是跨平台与不跨平台的区别 [猜测] 在《Unity5权威讲解》中给出的SpaceShooter的基本案例中使用的是Input.GetAxis(),并没有详细介绍CrossPlatformInputManager.GetAxis()与之的区别。 但可以根据名称知道,CrossPlatform就是跨平台, 如果是安卓、IOS的游戏开发教程,脚本中或许会用到CrossPlatformInputManager, 不过PC版的默认还是Input ...
2020-04-11 08:01:08 | 2k reads
[Unity]什么是FixedUpdate()?什么是LateUpdate()?
什么是FixedUpdate()? 这是用于处理Rigbody的专用方法, 因为Update()是按帧执行,FixedUpdate()是真实时间执行, FixedUpdate()可设置时间间隔。 PS:Edit->ProjectSetting->time 找到Fixedtimestep,就可以修改时间间隔了 ...
2020-04-11 07:47:53 | 1k reads
[Unity]Animator Controller简介
Animator Controller 动画控制器, 接之前的Blog→这里, 这里从Animator的UI讲起, 动画控制器是怎么控制动画播放的呢? 假设不使用脚本,Animator Controller了提供了4种Parameter来供控制流程 这4个类型动得参数分别是Float、Int、Bool、Trigger ...
2020-04-09 08:08:01 | 3k reads
[Unity] Mathf.Repeat函数和Mathf.PingPong函数
Mathf.Repeat函数和Mathf.PingPong函数 相同点:都是在重复 不同点:Repeat是直接重复,123123123…… PingPong是来回重复,123212321…… 在使用场景上,PingPong可能会用于敌人的巡逻 ...
2020-04-08 01:59:19 | 3k reads
[Unity]Physics.SphereCast相关问题汇总
Physics.SphereCast() 会发射一种球体射线,返回Bool值,目的用于检测碰撞。 返回true表示有碰撞,否则没有 ...
2020-04-08 00:51:27 | 4k reads
[Unity]Rigidbody.position相关问题汇总
Rigidbody.position允许你使用物理引擎获取和设置刚体的位置。 如果使用Rigidbody.position更改刚体的位置,则Transform将在下一个物理模拟步骤之后更新。 这比使用Transform.position更新位置更快,因为后者将导致所有附加的碰撞器重新计算它们相对于刚体的位置 ...
2020-04-07 18:52:19 | 2k reads
[Unity]CapsuleCollider.radius是什么?
Description The radius of the sphere, measured in the object's local space. The capsule's radius will be scaled by the transform's scale. ...
2020-04-07 17:54:44 | 2k reads
Unity3D中Rigidbody.velocity和Addforce的区别
Rigidbody.velocity 这个方法是瞬间给物体一个恒定的速度,将物体提升至该速度。 Rigidbody.addForce 这个方法瞬间给物体一个规定好的力 ...
2020-04-07 14:53:22 | 2k reads
[Unity]什么是deltaTime?
什么是deltaTime? 解释这个概念,先得说明为什么要用deltaTime? delataTime的出现,用于应付普通Time无法应对的情况。 简单地说,是为了应付 【随帧移动】 还是 【随秒移动】。 void Update() 是Engine每帧都会执行一遍的函数,如果你在Update里面写上了移动1m,那么每帧都会移动1m。 如果1秒有30帧,Target就会移动30m。 但如果你想要的是每秒移动1m,那就不得不用deltaTime来实现 ...
2020-04-07 12:59:34 | 2k reads