- Mathf中的三角函数是我们常用的数学运算函数,在使用过程中需要注意参数的单位,以Sin正弦函数为例,我们都知道30度角的正弦函数结果为0.5,那么当我们调用Mathf.Sin函数时,假如我们传入30,则可以发现其结果并不是0.5: Debug.Log($"Mathf.Sin(30) => {Mathf.Sin(30f)}");... Mathf中的三角函数是我们常用的数学运算函数,在使用过程中需要注意参数的单位,以Sin正弦函数为例,我们都知道30度角的正弦函数结果为0.5,那么当我们调用Mathf.Sin函数时,假如我们传入30,则可以发现其结果并不是0.5: Debug.Log($"Mathf.Sin(30) => {Mathf.Sin(30f)}");...
- 1.Name Duplicator:名称复制机(根据层级结构复制名称) 2.Material Duplicator:材质复制机(根据层级结构复制材质) 代码如下: namespace SK.Framework{ public interface IDuplicator { stri... 1.Name Duplicator:名称复制机(根据层级结构复制名称) 2.Material Duplicator:材质复制机(根据层级结构复制材质) 代码如下: namespace SK.Framework{ public interface IDuplicator { stri...
- 目录 简介 一、Countdown 定时器(倒计时) 二、Clock 计时器 三、Chronometer 秒表 四、Alarm 闹钟 五、EverySeconds 与 EveryFrames 六、TimeUtility 功用 简介 &nb... 目录 简介 一、Countdown 定时器(倒计时) 二、Clock 计时器 三、Chronometer 秒表 四、Alarm 闹钟 五、EverySeconds 与 EveryFrames 六、TimeUtility 功用 简介 &nb...
- 国际惯例先看效果: 用到的贴图 创建一个新的PBR Graph,在Blackboard中添加以下属性: 1.Scan Texture(Texture 2D 类型):用于上面的扫光贴图 2.Scan Speed(Vector1 类型):用于控制扫光速度 3.Scan Width(Vector1 类型):用于控制扫光宽度 ... 国际惯例先看效果: 用到的贴图 创建一个新的PBR Graph,在Blackboard中添加以下属性: 1.Scan Texture(Texture 2D 类型):用于上面的扫光贴图 2.Scan Speed(Vector1 类型):用于控制扫光速度 3.Scan Width(Vector1 类型):用于控制扫光宽度 ...
- 介绍 在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对其他人有所帮助。目录如下: 一、通用服... 介绍 在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对其他人有所帮助。目录如下: 一、通用服...
- 目录 一、简介 二、功能 1.键盘控制平移 2.鼠标控制平移 3.视角拉近拉远 4.绕视角中心旋转 5.视角聚焦 6.活动区域限制 7.闲置时绕视角中心旋转 三、核心变量 一、简介 FreeCameraController是用于上帝视角、自由视角的相机控制脚本,同时支持Input System ... 目录 一、简介 二、功能 1.键盘控制平移 2.鼠标控制平移 3.视角拉近拉远 4.绕视角中心旋转 5.视角聚焦 6.活动区域限制 7.闲置时绕视角中心旋转 三、核心变量 一、简介 FreeCameraController是用于上帝视角、自由视角的相机控制脚本,同时支持Input System ...
- 本文介绍如何为FSM有限状态机模块实现一个自定义编辑器面板,FSM的详细代码在上一篇文章中有介绍,链接地址: 在Unity中构建FSM有限状态机 下面是最终效果: &n... 本文介绍如何为FSM有限状态机模块实现一个自定义编辑器面板,FSM的详细代码在上一篇文章中有介绍,链接地址: 在Unity中构建FSM有限状态机 下面是最终效果: &n...
- 目录 简介 一、普通类型单例 二、Mono类型单例 简介 单例通过类型是否继承MonoBehaviour被区分为两种,分别是普通类型单例Singleton和Mono类型单例MonoSingleton 一、普通类型单例 普通类型单例的实现通过继承ISingleton接口并实现其中的OnInit事件,该事件在单例初始... 目录 简介 一、普通类型单例 二、Mono类型单例 简介 单例通过类型是否继承MonoBehaviour被区分为两种,分别是普通类型单例Singleton和Mono类型单例MonoSingleton 一、普通类型单例 普通类型单例的实现通过继承ISingleton接口并实现其中的OnInit事件,该事件在单例初始...
- 当我们需要切换一个bool值的时候通常需要用到Toggle开关,Toggle的绘制需要用到GUILayout.Toggle或EditorGUILayout.Toggle方法。 using UnityEngine;using UnityEditor; [CustomEditor(typeof(Test))]public class Te... 当我们需要切换一个bool值的时候通常需要用到Toggle开关,Toggle的绘制需要用到GUILayout.Toggle或EditorGUILayout.Toggle方法。 using UnityEngine;using UnityEditor; [CustomEditor(typeof(Test))]public class Te...
- 介绍 在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对其他人有所帮助。目录如下: 一、通用服... 介绍 在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对其他人有所帮助。目录如下: 一、通用服...
- Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用。 如果你的工程里没有安装Cinemachine,首先要到Package Manager中去下载安装: 使用Vitural C... Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用。 如果你的工程里没有安装Cinemachine,首先要到Package Manager中去下载安装: 使用Vitural C...
- 项目中经常遇到分数统计的需求,例如我们执行了某项操作或做了某个题目,操作正确则计分,相反则不计分失去该项分数,为了应对需求需要一个分数统计系统。 首先定义一个分数信息的数据结构,使用Serializable特性使其可序列化: using System;using UnityEngine; namespace SK.Framework... 项目中经常遇到分数统计的需求,例如我们执行了某项操作或做了某个题目,操作正确则计分,相反则不计分失去该项分数,为了应对需求需要一个分数统计系统。 首先定义一个分数信息的数据结构,使用Serializable特性使其可序列化: using System;using UnityEngine; namespace SK.Framework...
- 如果场景中包含大量的LOD Group组件,我们不想要使用时,手动依次删除需要耗费大量时间,本文介绍如何编写一个批量删除场景中LOD Group组件,并且只保留最高层次细节的物体的工具。 实现思路: 1.使用MenuItem制作一个功能菜单; 2.调用功能时,弹出窗口提醒确认删除场景中的LOD Group组件; 3.如果物体... 如果场景中包含大量的LOD Group组件,我们不想要使用时,手动依次删除需要耗费大量时间,本文介绍如何编写一个批量删除场景中LOD Group组件,并且只保留最高层次细节的物体的工具。 实现思路: 1.使用MenuItem制作一个功能菜单; 2.调用功能时,弹出窗口提醒确认删除场景中的LOD Group组件; 3.如果物体...
- Example: private readonly int[] array = new int[5] { 1, 3, 5, 2, 4 }; private void Start(){ array.ForEach(m => Debug.Log(m)); array.ForEachReverse(m => Debu... Example: private readonly int[] array = new int[5] { 1, 3, 5, 2, 4 }; private void Start(){ array.ForEach(m => Debug.Log(m)); array.ForEachReverse(m => Debu...
- using UnityEngine;using System.Collections.Generic; namespace SK.Framework{ /// <summary> /// 三维向量相关拓展 /// </summary> public static class Vector3... using UnityEngine;using System.Collections.Generic; namespace SK.Framework{ /// <summary> /// 三维向量相关拓展 /// </summary> public static class Vector3...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签