:bookmark:快速食用在场景中创建一个空物体,并挂载如下几个脚本。
网络管理器
其中,需要指定Player Prefab,勾选自动生成玩家可以在连接到服务器时,自动生成玩家对象。
玩家为玩家添加如下组件:
Network Identity 表示这是一个需要进行网络同步的物体。
NetWork Transform 表示可同步Transfrom
PS:注意勾选认证,让玩家只能控制自己的物体
玩家控制脚本12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970using System;using System.Collections;using System.Collections.Generic;using Mirror;using UniRx;using UnityEngine;Qpublic class PlayerCtr : NetworkBehaviour ...
好物推荐
未读IOC 控制反转
IOC 提供一个对象生成容器,在我们需要取得某个对象时,不再使用New关键字进行对象生成操作,而是通过IOC容器内部控制来获得对象。
使用这种思想方式,可以让我们无需关心对象的生成方式,只需要告诉容器我需要xxx对象即可,而高旭容器我需要xxx对象的方式就叫做DI依赖注入。
DI依赖注入这种思想,我是在学习.net core时发现的,一般采用特性注入或者使用构造函数注入。
经过标记的字段会在该类构造时在IOC容器中执行构造获取对应的对象示例。
VContainerVContainer是在Unity端使用的一种轻量级的DI框架,通过GameLifeScope划分作用域,和普通的web后端的Di框架不同的是,针对Unity的Mono特殊性,提出了GameLifeScope的方式,通过在Game Object上挂载Scope,可以在代码中动态切换使用的实例和Scope。并且提供了一种父子继承Scope方式供用户使用。
Scope 作用域
作用域指函数、变量的作用范围,在Di中一般可以注册singleton单例,Trans复例等
在netcore中有类似下面这样的形式:
...
UniRx 初体验
链式编程
所谓链式编程——使用. . . 像是链条一样进行编程。
:bookmark: 下面是一个延迟调用的示例:
1234567891011121314151617public class UniRxTest : MonoBehaviour{ private void Start() { Debug.Log("开始时间:"+Time.realtimeSinceStartup); Observable.Timer(TimeSpan.FromSeconds(2)).Subscribe((x) => { Debug.Log("现在时间:" + Time.realtimeSinceStartup); }).AddTo(this); Observable.EveryUpdate().Where(_ => Input.GetKeyDown(KeyCode.A)).Subscribe(_ => & ...
PolygonCollider2DPolygonCollider2D是Unity用于多边形检测的组件,可以进行不规则UI、2d对象的射线检测。
为UI对象添加如下脚本:
1234567891011121314151617181920212223public class CustomImage : Image{ private PolygonCollider2D _polygon; private PolygonCollider2D Polygon { get { if (_polygon == null) _polygon = GetComponent<PolygonCollider2D>(); return _polygon; } } public override bool IsRaycastLocationValid(Vector2 screenPoint, C ...
高级纹理
基础纹理:法线纹理、渐变纹理、遮罩纹理等。
高级纹理:CubeMap、Render Texture、Procedure Texture
CubeMap立方体纹理
在图形学中,立方体纹理是环境映射的一种实现方法。
立方体纹理采样
立方体纹理常常用于天空盒、环境映射。
好物推荐
未读
TureShadow 和名称一样——真阴影
其作用就是为图像、文字添加阴影效果,通常我们使用Ps之类的软件为其添加阴影,现在使用这个插件就可以自动动态的实现阴影。
添加TureShadow脚本
MRTK 开发记录MRTK是微软官方推出的针对MR(混合现实)开发的一套工具集。
同时官方提供了一个MRFT工具进行相关工具包的管理。
MRTK的体系架构:
MRFT在选定一个Unity项目之后可以使用此工具导入相关的工具。
使用此工具其实是通过修改Unity的包管理器中的Json来管理
我们至少需要安装:
在Unity2021.x之后版本我们官方推荐使用OpenXR工具来管理。
:smile:当然我们可以选择性的使用。
Unity设置Unity版本:2020.3.8f1
导入Unity项目中后,可以看到如下提示。
同时我们需要做如下设置:
切换平台到通用平台:
依据导入的选择设置XR相关设置:
我这里没有使用OPen XR 所以没有勾选支持。
可以导入相关的example来查看示例:
使用上下左右移动视角。鼠标右键按住旋转视角。
鼠标左键点击。
可以在这里打开相关的打包工具:
可以看到如下所示的打包工具:
默认是打包生成VS项目:
生成的项目是一个使用c++的Windows UWP项目。
在设置项目中可以设置要获取的权限。
PS: : ...
MMD
未读通过Blender
下载:https://github.com/absolute-quantum/cats-blender-plugin
安装插件后:
然后选择,Fix Model 修正。
修正后选择Export Modle导出为Fbx即可。
通过Unity插件
安装MMD4unity插件可以直接导入到Unity,不经过Blender,实测在某些模型下会发生一些奇怪的错误。
改变渲染材质
可以使用卡渲来优化渲染效果











