Unity

Unity PIco事件封装

using System; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.Events; us ......
事件 Unity PIco

Unity底层是如何处理C#的

在面试中,我们经常会被问到Unity的底层是如何处理C#,本节给通过一下3个点来给大家详细的分析这个问题: (1) C#的发展历史; (2) Unity为什么用C#; (3) il2cpp解决了什么问题; 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀 C#的发展历史 ......
底层 Unity

Unity DOTS系列之托管/非托管Component的区别与性能分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面托管与非托管Component的区别与性能分析,方便大家上手学习掌握Unity DOTS开发。托管与非托管的区别在于是不是基于自动垃圾回收的。托管是由垃圾回收器来负责自动回收,非托管需要我们手动来做相关内存管理,不被垃圾回收系统来处理。 对啦 ......
性能分析 Component 性能 Unity DOTS

Unity DOTS系列之System中如何使用SystemAPI.Query迭代数据

最近DOTS发布了正式的版本, 我们来分享一下System中如何基于SystemAPI.Query来迭代World中的数据,方便大家上手学习掌握Unity DOTS开发。 SystemAPI.Query的使用 System有两种,一种是Unmanaged 的ISystem,一种是managed 的S ......
SystemAPI 数据 System Unity Query

Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画

最近DOTS发布了正式的版本, 我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。 DOTS 对角色动画支持的局限性 截止到Unity DOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS 的baker过程种, ......
群体 角色 核心 动画 Unity

unity里也能输出 webgl的项目,怎么看出这个项目是不是unity输出的,还是纯web技术写的项目

在Unity中输出为WebGL项目后,可以通过以下几种方式来判断一个项目是不是由Unity输出的: 1. 文件结构:Unity输出的WebGL项目通常会生成一些特定的文件和文件夹,例如"Build"文件夹、"index.html"文件等。如果你在项目文件夹中看到这些文件和文件夹,那么很可能是Unit ......
项目 unity 还是 webgl 技术

最新Unity DOTS教程之BlobAsset核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面BlobAsset机制,方便大家上手学习掌握Unity DOTS开发。 BlobAsset 概叙 DOTS提供了BlobAsset机制来把数据生成高效的二进制数据。BlobAsset的数据是不可变的。BlobAsset只支持非托管类型数据。支 ......
BlobAsset 机制 核心 教程 Unity

最新Unity DOTS系列之Aspect核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Aspect机制,方便大家上手学习掌握Unity DOTS开发。 Aspect 机制概述 当我们使用ECS开发的时候,编写某个功能可能需要某个entity的一些组件,如果我们一个个组件的查询出来,可能参数会写很长。如果我们编写某个功能的时候, ......
机制 核心 Aspect Unity DOTS

Unity DOTS系列之Struct Change核心机制分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Struct Change机制,方便大家上手学习掌握Unity DOTS开发。 基于ArchType与Chunk的Entity管理机制 我们回顾以下ECS的内存管理核心机制,基于ArchType+Chunk的Entity管理模式。每个Enti ......
机制 核心 Change Struct Unity

Unity学习笔记--数据持久化Json

JSON相关 json是国际通用语言,可以跨平台(游戏,软件,网页,不同OS)使用, json语法较为简单,使用更广泛。json使用键值对来存储。 认识json文件 //注意字典类型存储时,键是以string类型存储的 需要添加“” { "name": "TonyChang", "age":21, ......
笔记 数据 Unity Json

(自用)基于unity的指令(命令)模式

指令模式 1.配置输入 所有游戏中都包含玩家输入指令的部分(这些部分通常写在游戏循环中 如unity中的UpData() ) 游戏会每一帧都进行一次读取,当玩家按下相应按键时 则会进行对应方法 为了可以时刻检测并记录玩家进行的操作,或者对某个对应的操作的指令进行更改,我们需要将这些输入封装为一个类似 ......
指令 命令 模式 unity

unity在场景中实时查看碰撞信息

项目地址在这里 此工具主要为了在场景中显示碰撞信息,避免在开发过程中由于碰撞重叠导致的点击问题。 ......
场景 unity 信息

使用unity开发Pico程序,场景中锯齿问题

1、问题 使用unity【非HDR】开发Pico程序,场景中锯齿问题,设置了unity的抗锯齿和渲染方式,及悬挂抗锯齿的脚本,都不能很好的解决项目中图片、文字的锯齿问题,通过摸索找到了妥善的方法 1、修改项目中图片的 GenerateMIpMaps 为勾选状态,MipMapsPreserveCove ......
锯齿 场景 程序 问题 unity

Unity实现的行为树

游戏AI行为决策——行为树 前言 行为树,是目前游戏种应用较为广泛的一种行为决策模型。这离不开它成熟的可视化编辑工具,例如Unity商城中的「Behaviour Designer」,甚至是虚幻引擎也自带此类编辑工具。而且它的设计逻辑并不复杂,其所利用的树状结构,很符合人的思考方式。 接下来,我们会先 ......
行为 Unity

Unity builtin GUIStyle内置样式

https://gist.github.com/bikrone/666bb26fb0d4468df12c890ecc6c512e using UnityEditor; using UnityEngine; public sealed class ExampleClass : EditorWindow ......
样式 GUIStyle builtin Unity

Unity学习笔记--数据持久化XML文件(2)

主要介绍继承IXMLSerialaze 接口自定实现数据类型的序列化反序列化,并存储为XML文件。 实现可序列化存储为XML文件的Dictionary类,最后完善为一个XML读取工具类。 供数据持久化类型为XML文件的学习和开发参考! ......
文件 笔记 数据 Unity XML

如何拆解Unity 2022.3版本的AssetBundle

1)如何拆解Unity 2022.3版本的AssetBundle2)Unity 2022 LTS版本的稳定性3)关于AssetBundle禁用TypeTree之后的一些可序列化的问题 这是第363篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家 ......
AssetBundle 版本 2022.3 Unity 2022

使用Unity Localization插件进行项目本地化实战详解

使用Unity Localization进行本地化的详细教程,对需要本地化的各种情况进行分类讨论,用Excel表格管理本地化文本,方便快捷 ......
Localization 实战 插件 项目 Unity

在Unity中模块化管理自定义功能和资源

之前在做Unity项目时,有时会遇到多个项目共用同一部分代码或资源的情况。而当被共用的部分需要更新的时候,手动复制替换非常麻烦,并且可能会有遗漏。对于这个问题,一个很好的解决办法是将可复用的文件打包为自定义包(Custom Package),使用git等版本控制工具来管理每个包的内容。 什么是Pac ......
模块 资源 Unity

Unity DOTS系列之Filter Baking Output与Prefab In Baking核心分析

最近DOTS发布了正式的版本, 我们来分享一下DOTS里面Baking核心机制,方便大家上手学习掌握Unity DOTS开发。今天给大家分享的Baking机制中的Filter Baking Output与Prefab In Baking。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零 ......
Baking 核心 Filter Output Prefab

Unity3D 制作MMORPG游戏需要储备哪些技术

前言 今天给大家分享一下制作一个MMORPG游戏需要学习的知识点和技术储备。MMORPG游戏又叫大型多人在线角色扮演类游戏,对技术,美术,策划的要求非常的高,制作一个成功的MMORPG不容易,今天我们从技术的角度来给大家详细的讲解制作一个MMORPG游戏需要储备的哪些技术点。 一: 客户端准备 游戏 ......
Unity3D MMORPG Unity3 Unity 技术

Unity DOTS Baking System与Baking World

最近DOTS终于发布了正式的版本, 我们来分享一下DOTS里面Baking阶段,Baking System,Baking World的关键概念,方便大家上手学习掌握Unity DOTS开发。Unity在Baking也是基于ECS模式开发设计的,所以Baking的时候也会有Baking System与 ......
Baking System Unity World DOTS

Unity DOTS System与SystemGroup概述

最近DOTS终于发布了正式的版本, 我们来分享以下DOTS里面System关键概念,方便大家上手学习掌握Unity DOTS开发。 System是迭代计算与处理World中的Entity实体的Component Data数据的逻辑代码。System对应的代码是运行在main thread上的。Wor ......
SystemGroup System Unity DOTS

Unity 最新DOTS系列之《Baking与Baker的详解》

Unity DOTS Baking与Baker详解 Unity DOTS Baking与Baker详解 最近DOTS终于发布了正式的版本, 我们来分享一下DOTS里面Baking 与Baker的关键概念,方便大家上手学习掌握Unity DOTS开发。 Unity DOTS开发模式,为了让大家在”创作 ......
Baking Unity Baker DOTS

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护方法,通过改 ......
内存 Unity3D 引擎 文件 Unity3

如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护方法,通过改 ......
内存 Unity3D 引擎 文件 Unity3

Unity 射线检测 解决UI穿透

UGUI 系统提供了简便的方法 EventSystem.current.IsPointerOverGameObject() 如果当前鼠标在 ui 上返回true 否则返回false 实例如下: void Click () { //从主这相机到鼠标点发射一条射线 Ray ray = Camera.ma ......
射线 Unity

Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

​ Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译) 目录 前言: 准备资料: 正文: 1:打包一个带有签名的apk 2:对包进行反编译 3:使用ipaguard来对程序进行加固 前言: 对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity ......
原理 Unity3D Unity3 Unity apk

Unity 文字转语音 Microsoft Interop.SpeechLib使用

需要提前做以下设置: Unity中需要设置: Editor -> Project Settings -> Player -> Other Settings -> Api Compatibility Level -> 选择.Net 4.x 系统需要提前下载中文语音包 Win11可以在 设置 -> 时间 ......
Microsoft SpeechLib 语音 Interop 文字

Unity屏幕适配的3个妙招

屏幕适配是面试中必问的一个题目,今天给大家说说怎么样做屏幕适配。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀! 设计分辨率大家都好理解,那么什么是适配策略呢? 假设我们以设计分辨率是 960x640为例,我们要适配到 1920x1080上面, 大家会发现,这个怎么适 ......
妙招 屏幕 Unity