2.5k 2 分钟

# UnityShader 的内置时间变量 # 序列帧动画 通过使用 Time 实现循环的特效播放。 Shader "Unlit/Exp2Shader"{ Properties { _Color ("Color Tint",Color)=(1,1,1,1) _MainTex ("Texture", 2D) = "white" {} _HorizontalAmount("Horizontal...
2.5k 2 分钟

# Unity Shader 第七章 基础纹理 纹理 —— 使用一张图片来控制模型的外观,使用纹理映射技术把一张图黏在模型表面,逐纹素地控制模型的颜色。 通常使用纹理映射坐标对应纹理中的 2D 坐标,这被称为是 UV 坐标。 顶点 UV 坐标的范围通常被归一到 [0,1] 范围内。 DirectX 中原点位于左上角,OpenGL 中原点位于左下角。 \color{red} # 纹理采样 // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with...
903 1 分钟

# 关于 SanerFrame 的记录 此文用于记录关于 SanerFreame 的一些思考。 # 关于 IOC 容器 使用 this.GetModel 来获取模型。 private readonly Dictionary<Type, object> Instances = new Dictionary<Type, object>(); private readonly Dictionary<string, object> InstanceByNames = new Dictionary<string,...
230 1 分钟

对于 Unity 官方的 TimeLine 相必我们都很熟悉了,使用时间轴我们可以实现许多功能,这里推荐一款同样优秀的第三方 TimeLine 插件 —— SLATE 。 # 快速食用 首先,让我们创建一个 CuteScene , 点击 EDIT 打开编辑窗口。 # 相关链接 SLATE | Realtime Cinematic Sequencer for Unity (paradoxnotion.com) ParadoxNotion-Slate 学习笔记与拓展计划 | 烟雨迷离半世殇的成长之路 (lfzxb.top)
729 1 分钟

💨 每朵云都下落不明,每盏月亮都不知所踪。 # 按照传统程序员思维来开发游戏或许并不那么合适。 从大一开始接触程序设计时,老师让我们学习 编程思维 。 所谓编程思维,也就是将一个复杂问题进行拆解,然后按部就班的去完成的能力。 对于大多数程序开发来说,这种思维确实是至关重要的,可以公式化处理问题,但在需求多变的游戏开发中,很难做到公式化处理。 #...
144 1 分钟

# 常用指令 说明 指令 备注 克隆 git clone xxx 拉取 git pull 推送 git push # 分支指令 说明 指令 备注 创建分支 git branch (branchname) 切换分支 git checkout (branchname) 合并分支 git merge 将指定分支合并到当前分支 删除分支 git branch -d
1.5k 1 分钟

# 🔖快速食用 在场景中创建一个空物体,并挂载如下几个脚本。 # 网络管理器 其中,需要指定 Player Prefab, 勾选自动生成玩家可以在连接到服务器时,自动生成玩家对象。 # 玩家 为玩家添加如下组件: Network Identity 表示这是一个需要进行网络同步的物体。 NetWork Transform 表示可同步 Transfrom PS: 注意勾选认证,让玩家只能控制自己的物体 玩家控制脚本using System;using System.Collections;using System.Collections.Generic;using...
3.9k 4 分钟

# IOC 控制反转 IOC 提供一个对象生成容器,在我们需要取得某个对象时,不再使用 New 关键字进行对象生成操作,而是通过 IOC 容器内部控制来获得对象。 使用这种思想方式,可以让我们无需关心对象的生成方式,只需要告诉容器我需要 xxx 对象即可,而高旭容器我需要 xxx 对象的方式就叫做 DI 依赖注入。 # DI 依赖注入 这种思想,我是在学习.net core 时发现的,一般采用 特性注入 或者使用 构造函数注入 。 经过标记的字段会在该类构造时在 IOC 容器中执行构造获取对应的对象示例。 # VContainer VContainer 是在 Unity...
8.1k 7 分钟

# UniRx 初体验 # 链式编程 所谓链式编程 —— 使用. . . 像是链条一样进行编程。 🔖 下面是一个延迟调用的示例: public class UniRxTest : MonoBehaviour{ private void Start() { Debug.Log("开始时间:"+Time.realtimeSinceStartup); Observable.Timer(TimeSpan.FromSeconds(2)).Subscribe((x) => {...
629 1 分钟

# PolygonCollider2D PolygonCollider2D 是 Unity 用于多边形检测的组件,可以进行不规则 UI、2d 对象的射线检测。 为 UI 对象添加如下脚本: public class CustomImage : Image{ private PolygonCollider2D _polygon; private PolygonCollider2D Polygon { get { if (_polygon == null) _polygon =...