
Unity3D
文章平均质量分 71
古玩
华科软院2019届本科生 游戏开发工程师
展开
-
Unity Shader实现标准Phong光照模型
Unity Shader实现标准Phong模型Shader "Custom/Phong"{ Properties { _Specular("Specular", Color) = (1,1,1,1) _Diffuse("Diffuse", Color) = (1,1,1,1) _Gloss("Gloss", float) = 1 _Emission("Emission", Color) = (0,0,0,0) _MainTex ("Texture", 2D) = "white"原创 2020-12-07 20:45:09 · 418 阅读 · 0 评论 -
Unity使用UIWebView导致iOS审核被拒的解决方案
根据苹果应用商店的最新政策, UIWebView相关API已经Deprecated,如果项目中有引用UIWebView则无法通过苹果审核,被拒信息如下ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more i原创 2020-05-19 17:37:52 · 8800 阅读 · 0 评论 -
Unity屏幕适配解决方案
文章目录UI尺寸选择市面设备比例内存占用分辨率适配高分辨率分屏模式宽高比适配常规尺寸适配刘海屏适配全面屏适配UI尺寸选择市面设备比例截至2017年9月,iOS与Android移动游戏设备比例约为iOS占28%,Android占72%,分辨率比例如下(推荐参考来源:WeTest平台、腾讯移动分析) 通过以上数据可以计算,Android平台1080P以上为50%左右,iOS平台为35%,...原创 2020-04-26 14:30:59 · 11021 阅读 · 2 评论 -
UGUI EventSystem中拖动判定和点击判定的阈值
在使用UGUI实现拖动功能时,常常会遇到ScrollRect内的放置接收点击事件的Item,最常用的方式就是给Item添加Button组件或继承IPointerClickHandler的脚本,同时保证ScrollRect的Content内所有RaycastTarget不能拦截拖动相关事件,这样基本就完成了这个功能,运行时“看起来”也没什么问题。但有时我们会发现在高分辨率触摸设备上ScrollRe...原创 2019-05-05 15:44:39 · 2750 阅读 · 1 评论 -
Unity3D如何在同一个方法块中同时异步等待线程和协程
问题在做Unity3D开发时,在整合UnityEngine的异步方法(协程)同其它Framework(如.Net API、WinRT API)的异步方法(async)给我造成了困扰,因为异步的实现的方式不同。在一个方法中等待一个协程返回使用yield return关键字,并且需要该方法的返回值为IEnumerator;而在一个方法中等待一个async方法返回使用await关键字,并且需要该方法声...原创 2019-03-22 17:36:07 · 3688 阅读 · 0 评论 -
关于Unity中async/await异步等待的另类打开方式
思考在做游戏开发时常常会遇到这样一个业务模型,需要弹出一个简单的 模态窗体,提供若干选项(一般就是两个:是与否/确认与取消),并且只有玩家做出选择后才会继续其它流程,如结束游戏的二次确认(离开or留下),敏感操作的二次确认(确定or再考虑)。这种业务对应的一般是一个窗体模板,我之前的做法是某个业务在创建窗体的同时向该窗体的按钮控件传递响应的回调函数以达到响应玩家选择的效果,这是大概一种比较传统的...原创 2018-12-05 01:50:54 · 6120 阅读 · 1 评论 -
Unity3D游戏框架设计
Unity框架设计将Unity Api、.NetFramework Api(4.6)以及部分原生库和托管库封装到一个抽象层,游戏本身的业务仅依赖于该抽象层从而提高业务逻辑的独立性和可维护性。 框架部分提供项目中使用的基础设施,包括资源管理、网络通信、UI框架、消息管理、场景管理、数据解析及存取等。1. 资源管理资源管理模块负责按照划分场景的颗粒度将所有游戏资源均打包至AssetBundle并在...原创 2018-07-03 20:00:09 · 22793 阅读 · 6 评论 -
Unity3D之调用WinRT组件
结论目前如果想调用WinRT组件引入原生UWP APIs,还是要切换至Universal Windows Platform平台进行调用,在目前版本的Unity(2018.1)的Standalone平台下很难实现(若各位有方法请务必通知我,万分感谢)。起因最近在做的一个Unity游戏项目,目标平台是Windows 10 PC,为了创造更贴近win10原生系统的应用体验(微软小娜,To...原创 2018-04-13 19:11:25 · 2051 阅读 · 3 评论 -
System.Net.Http.dll在Unity3D(UWP)的IL2CPP模式使用的解决方案
前言Unity3D升级到2017的版本后可以支持.Net 4.6的特性,所以引入.Net的基于任务的异步编程模型是十分具有吸引力的(更好的性能加上更优美的代码),为此我在新项目中使用了很多Async异步方法去实现网络与I/O,去替换Unity自带的协程机制的网络和I/O。其中System.Net.Http.dll这个托管库是微软封装的一层http请求接口,所以我准备在项目中使用该库进行网络请求...原创 2018-03-27 01:09:50 · 3879 阅读 · 4 评论 -
Unity之GC优化
GC优化前段时间被面试官问到一个问题,“Unity3D游戏开发中如何减少gc”,憋了半天只说出几个C#中的技巧和对象池,感觉没说到点子上,开篇博客整理下,有新的就不定期更新。unity基于mono运行时,mono运行时的垃圾回收应该和CLR差不多(基于代的引用追踪算法),都是符合.Net规范的,即使是il2cpp也有一套垃圾回收机制在里面(gc.cpp)。gc操作也是一个比较耗时的操作...原创 2018-03-21 22:22:58 · 1169 阅读 · 1 评论 -
图解Unity3D跨平台机制(Windows, Linux, Mac OS, Android, iOS, UWP)
自己用总结做了几张图。PC Android iOS UWP 如有错误欢迎指正~原创 2017-12-14 17:07:46 · 5934 阅读 · 3 评论 -
Unity3D使用USB进行安卓真机调试
按如下步骤操作或检查:正确安装安卓手机的驱动Build Settings — Switch Platform, 选择Android平台,同时勾选后面的Development, AutoConnect Profiler, Script Debugging. 控制台到Android SDK 的platform-tools路径下, 执行 adb forward tcp:34999 localabst原创 2017-11-20 08:39:28 · 28281 阅读 · 2 评论