自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (5)
  • 收藏
  • 关注

原创 UE4游戏客户端开发进阶学习指南

两年多前写过一篇入门指南如今鸡佬使用UE快三年了,是时候更新一下进阶版本的学习指南。有一定的C++基础已经入门UE,能够用蓝图和C++做一些简单的功能对于学习资料,首先本文列举的所有学习资料都是鸡佬经过精挑细选的,会综合考虑文章质量、学习难度、重要性等各个维度。其中会分为必修和选修两个部分。必修是很重要且强烈推荐看的学习资料。选修的话,有些学习难度比较大,有些相对来说不是那么重要。推荐的学习顺序是先把必修的全部看完,再根据个人需要学习选修部分的资料。

2023-10-07 03:02:20 862 1

原创 【职场篇】五年游戏开发老兵,我为什么劝你学UE?

我是水曜日鸡,一个在游戏行业摸爬滚打了5年的行业老兵。在Unity和UE4各有两年半的开发经验。曾参与开发了索尼中国之星计划之一的项目,用的是Unity引擎。目前在上海某大厂参与研发,用的是UE4引擎。今天我就来终结游戏行业讨论了多年的到底是的话题。经过这几年的沉淀,我可以明确的告诉大家,下面我会详细说原因。

2023-09-14 19:37:52 641 2

原创 【职场篇】2022年了,还能入行游戏行业当程序员吗?

自从我开始写游戏开发的文章以来,一直有人时不时问我这种类似的问题:我xxx,能不能进入游戏行业?今天我统一回答这个问题,答案是在现在这个时间点上,对于绝大多数人来说都不建议入行。在现在这个时机选择进入游戏行业无异于12年当太监、49年入国军、21年买葛兰的医疗基金。...

2022-02-01 15:57:35 14164 7

原创 【UE·引擎篇】Runnable、TaskGraph、AsyncTask、Async多线程开发指南

目前网上关于ue4多线程的文章,大部分是讲源码讲原理,上来先把源码一丢、类图一丢,对初学者来说理解困难。而关于讲解实战用法的文章,也大都讲的不全面。目前在ue4里使用多线程有Runnable、TaskGraph、AsyncTask类这几种方式,同时还有AsyncTask、Async、AsyncThread、AsyncPool等几个全局方法。这篇文章将结合多个实际案例讲解怎么用、用哪种多线程。帮助初学者更好地在ue4里进行多线程开发。RunnableRunnable来实现多线程是最基础的用法,与后面介绍

2022-01-31 00:08:59 5672 3

原创 【UE·底层篇】Slate源码分析——点击事件的触发流程梳理

我们都知道**Slate是UE4的UI底层框架**。但是UE4的UMG和Unity的UGUI比起来还是有很多不足,所以在实际开发的过程中经常需要对Slate进行改造。本文将带大家由浅入深地阅读**Slate源码里关于点击事件相关的部分**。

2021-12-29 23:04:32 6050

原创 【UE·Editor篇】做一个超好用的菜单栏扩展框架

众所周知,在UE4做编辑器扩展是一件无比蛋疼的事情。首先要考虑是写Plugin还是Module的形式,然后又是加Build.cs,新建文件夹新建文件。涉及到**菜单栏扩展**还需要知道一堆类的用法,FExtender、FMenuBuilder、FMenuBarBuilder、Command、MenuDelegate等。加菜单,加菜单栏,接口又不一样,AddMenuEntry、AddSubMenu、AddPullDownMenu。Unity一行代码 [MenuItem]搞定的事情,为什么UE4这么麻烦呢?

2021-12-03 23:29:21 1694

原创 【UE·蓝图底层篇】一文搞懂NativeClass、GeneratedClass、BlueprintClass、ParentClass

本文将对蓝图类UBlueprint的几个UClass成员变量NativeClass、GeneratedClass、BlueprintClass、ParentClass进行比较深入的讲解,看完之后对蓝图会有全新的理解。本篇的内容很多很干货,同时学习起来有一定难度,建议看完我之前写的对UClass有关概念的讲解:【UE·底层篇】一文搞懂StaticClass、GetClass和ClassDefaultObject准备工作首先先自定义一个UserWidget(MyUserWidget),然后新建两个UMG

2021-11-27 19:09:50 5861

原创 【UE·GamePlay篇】攀爬系统系列教程(二)——相邻墙壁飞跃、墙角拐弯、回头反向跳

这一篇的内容对应视频教程:UE4 Climb System - Tutorial - Part 3 - Side Jumps & Corner DetectionUE4 Climb System - Tutorial - Part 4 - Jump Up & Turn back工程地址:【github】UE4_ClimbSystem。飞跃到相邻墙壁的功能实现在Tick里面增加飞跃检测,需要注意的是当左右移动的碰撞检测没有检测到墙壁才进行飞跃的检测,这样可以节省性能。方法

2021-11-14 00:02:28 3109

原创 【UE·GamePlay篇】攀爬系统系列教程(一)——抓取边缘、爬上墙壁、左右移动

这一篇的内容对应视频教程:UE4 Climb System - Tutorial - Part 1 - Grab & Climb-UpUE4 Climb System - Tutorial - Part 2 - Side Movement工程地址:【github】UE4_ClimbSystem。空中自动抓取墙壁边缘的功能实现角色蓝图:在EventTick里面,先进行悬挂条件检测(HangTracer),返回结果,为true时调用抓取边缘方法(GrabLedge)。动画蓝图增

2021-11-14 00:02:04 1780

原创 【UE·GamePlay篇】攀爬系统系列教程(序)——教程介绍和开发总结

教程介绍这个系列教程是对UE4里开发攀爬相关功能的总结和教学,前面几篇文章实现的功能和UE4 Climb System - Tutorial这个系列教程讲的基本完全相同。因为视频里作者已经对每一步如何实现的都进行了演示,所以我文章里的内容不会对每一个细节进行讲解,只会对关键功能实现思路或者作者没有讲明白的地方进行讲解。工程地址:【github】UE4_ClimbSystem。它目前包含以下功能(后续还会增加新的功能):在空中时自动抓取墙壁边缘并悬挂悬挂时可以爬上墙壁(Space键)悬挂时可以

2021-11-14 00:01:35 1129

原创 【UE·UI&功能开发篇】屏幕指示器UI功能开发

功能拆解可以看到任务指示器有2种显示状态:当目标点在屏幕的椭圆范围内时,指示器UI的位置就是目标点的世界坐标。当目标点在屏幕的椭圆范围外时,指示器UI的位置在椭圆轨迹上,且此时表示目标点的方位。难点拆解椭圆范围外时的情况比较难,因此我们先考虑第一种情况。难点1:如何判断世界坐标系上的某一点在屏幕范围内?这个比较简单,UE已经提供了方法。UWidgetLayoutLibrary::ProjectWorldLocationToWidgetPosition (把世界坐标转换为UI坐标..

2021-10-05 15:42:30 1255

原创 【UE·材质篇】用材质编辑器制作环形进度条

环形进度条是在UI开发中非常常见的功能。用材质编辑器来制作环形进度条的教程网上也有不少,然而这些教程大都讲的不清不楚,有些甚至只是把材质编辑器的连线截图贴了上来,对于其中的节点功能、为什么这么连线都没有讲明白。我作为一个新人看这些教程时觉得很困惑。经过一段时间研究后才弄懂了其中的全部细节。本文就是把我在这过程中学到的内容分享。我会尽量讲清楚每一个细节点,包含CustomRotator、VectorToRadialValue、RadialGradientExponential节点、极坐标变换等。如果只是想知道

2021-08-04 19:17:02 3007 1

原创 【UE·总结篇】我的UE4游戏开发笔记和Bug集锦①

这系列文章记录了我平常实战中对于**UE4引擎、开发工具、代码中遇到的问题的解决方法、遇到的坑和使用上的一些技巧**,类似于学生时代的笔记本和错题集。每条单独拿出来都不足以支撑一篇博客的量,所以把这些零碎的经验汇总成一篇篇文章。计划出成一个系列,这一篇总结了今年上半年来的工作经验。

2021-08-03 23:56:52 2068

原创 【UE·Editor篇】UE编辑器开发的常见编译失败原因总结

最近在学各种编辑器开发的教程,但是作为一个萌新学起来并不顺利。绝大多数教程都是默认读者已经是一个有经验的开发者。我在学这些编辑器扩展相关的教程里,遇到最主要的问题就是各种各样的编译失败。这篇文章就是记录我对这些个编译失败问题的汇总,避免新人和我踩同样的坑。...

2021-07-19 22:45:16 3746 1

原创 【UE·底层篇】一文搞懂StaticClass、GetClass和ClassDefaultObject

学UE也有一段时间了,关于StaticClass和GetClass一直搞得不太懂。看别人代码时也莫名其妙,为什么这里用StaticClass?为什么那里用GetClass? 这都是啥玩意?正好最近看 《大象无形 虚幻引擎程序设计浅析》 还看到了ClassDefaultObject。正好把这三个东西彻底研究了一番。这篇文章我会尽力讲的连新手也能看懂,中间会少量掺杂ue4底层的一些源码。UClass和反射什么是反射?不是光学那个反射,是编程语言的那种反射。有c#或者java使用经验的肯定知道反射这个

2021-06-15 14:57:06 3852 9

原创 【UE·UI篇】Slate教程——制作简单的按钮和文字

Slate是什么?Slate是UE4的底层UI框架。我们经常使用的UMG和UE4编辑器的各个界面底层都是Slate。

2021-06-03 23:02:27 3659 3

原创 【UE·UI篇】ListView使用经验总结

这篇文章用来记录我在使用ListView遇到的一些问题和经验。关于ListView的基本使用前人总结过不少:List View中文介绍【博客园·一粒沙】关于ListView的Entry和Item以及关键事件调用顺序【知乎·架狙只打脚】关于ListView的滚动条(ScrollBar)ListView的滚动条丑不拉几的,所以经常会有以下需求:如何关闭滚动条的显示?调用方法SetScrollBarVisibility。参数是ESlateVisiblity,设成Collapsed即可。如何

2021-05-07 00:44:59 2836 5

原创 UE4游戏客户端开发入门学习指南

本文的目标读者想从事游戏客户端开发方向的工作 有把握能进大厂的新人 有unity开发经验,想转到ue4方向的老手 兴趣使然,只是单纯学ue4玩玩 有一定英语能力,能够配合英文字幕看懂英文教程

2021-03-22 03:02:51 2389 2

原创 【职场篇】游戏开发社招求职面试指南③——面试总结

终于到最后一篇了,这一篇主要写的是我面试过程的总结。可能也是很多人比较关心的一部分。再次声明我的经历比较特殊,我的经验不一定适合所有人。关于投简历前两篇文章已经讲了怎么写简历,怎么选公司。这里说一下怎么投简历。首先,内推是最好的方式。有认识的人给你内推,你能从他口中问出更多公司的情报。如果你简历太烂,内推的人可能会直接给你pass掉省掉你后续流程。如果简历不错,可以很快通过并约上面试。而且内推通常有内推金,你甚至可以和内推人约定好内推金分成。除了内推外我主要使用Boss直聘。只要把简历放上去就会有很

2020-12-07 15:34:15 8710 7

原创 【职场篇】游戏开发社招求职面试指南②——公司选择

上一篇文章讲了找工作前需要做哪些准备,包括平时怎么积累自己的技术,基础知识的巩固,简历的撰写。这篇会讲公司的选择,会从技术、薪资、项目等多个角度去考察一个公司是不是值得去,也会讲如何调研一家公司。因为这系列文章是面向社招的同学,绝大多数情况都是一边在职一边寻找机会,往往需要请假去面试。所以我们需要对游戏公司精挑细选,只挑自己想去的地方去面试。我推荐的面试频率是一个月面一到两家,每个月请假最多不要超过3次。大公司vs小公司首先就是被人讨论无数遍的大公司还是小公司好的问题。这个没有绝对的答案。腾讯网易这种

2020-12-07 15:08:51 3271 5

原创 【职场篇】游戏开发社招求职面试指南①——前期准备

前言先说一下我的情况吧,我是985本科,大学学的是机械专业。后来自学编程进入游戏行业,有三年左右的工作经验,一直在小公司工作。在今年三月份开始,一边在职一边寻找合适的机会跳槽。到我写这篇文章的时候我面试了差不多六、七家公司。这几家公司按照面试顺序分别是:米哈游、心动、b站、凉屋、网易、腾讯、番糖。最后拿到了b站、凉屋、番糖、腾讯的offer。鉴于网上的社招面经实在太少,大部分也只是停留在面试题的总结。而面试题这种东西,不同公司不同面试官考的题很可能是不一样的。但是面试官出题思路是有规律可循的,只要知道了

2020-12-07 13:34:43 3789 2

原创 【物理篇】从零搭建2D物理系统③——物体相交测试(完结)

如何进行相交测试在第一期文章中,我们最后留下来一个问题:如何判断一条射线和哪些物体相交?这个问题分为两步来解决:使用空间场景划分找到可能相交的物体(粗测阶段)。(找到1,2,3这三个物体)对上一步找到的物体进行逐个遍历,判断出是否相交(精测阶段)。(对1,2,3进行遍历,最终只有1是相交的)粗测阶段粗测阶段首先需要用一个AABB把射线包裹起来。这一步很简单,注意当射线完全垂直或者水平时需要有一个最小宽度和最小高度。/// <summary>/// CreateRect B

2020-08-17 00:02:27 539

原创 【物理篇】从零搭建2D物理系统②——用松散四叉树结合网格法来划分场景

从一道字节跳动面试题说起在开始今天内容之前,我想先讲一道前几天看到的字节跳动面试题:玩家在场景中放了一个AOE技能,场景中有10万个敌人,如何知道AOE技能打到哪些敌人?这道题的解法肯定不可能是挨个遍历,那样复杂度会爆炸。这道题想考察的是空间划分的知识。空间划分指的是使用特定的数据结构来划分场景空间中的物体,从而在碰撞检测的时候能够快速过滤掉不需要的部分。比如图中使用了四叉树的数据结构划分场景,绿球要想知道它和哪些红球进行相撞,它只需要进行三次过滤就能把范围缩小到K区域,然后与K区域内的红球进行挨个

2020-08-11 23:49:22 1102

原创 【物理篇】从零搭建2D物理系统①——刚体和碰撞检测事件

公司上一个项目做的是2D横版动作游戏,由于unity的2D物理系统功能有限,不能满足策划的需求,所以我们程序组自己实现了一套物理系统。这个系列文章分享的是如何不依赖unity从头自己手撸一个物理系统。 (这里再提一句外话,网上关于Gameplay相关的博客实在是太少了,绝大部分博客无外乎是在分享图形学、UI、热更新、打包、优化等方面的知识。像我们Gameplay程序员什么时候才能站起来啊?气·抖·冷·哭! 这也是我打算写这篇博客的初衷之一。)在正式开始之前,需要先分析物理系统里都有什么功能:刚体运动

2020-08-10 01:19:08 994

原创 【Lua篇】《Lua程序设计》全书内容总结

这篇文章是《Lua程序设计》的读书笔记和概要。帮助没有看过的童鞋快速浏览书中内容,已经看过的可以也能借助这篇文章复习一遍。第1章 开始1.1 程序块程序块,即chunk,由一行或多行lua可执行的代码构成。下面两段代码,一个是程序块一个不是。-- 是程序块function f(a,b) return a*a - b*b;end-- 不是程序块do return 1;一般使用dofile或require来执行程序块。1.2 词法规范lua变量不能以数字开头,也要

2020-07-12 01:47:33 1744

原创 【Lua与C#交互⑤】Lua中的注册表和引用系统

在导入了xlua或者tolua后,我们能在lua代码里写CS.UnityEngine.xxx来调用unity的API。那么这个功能是如何实现的呢?为了解开这个疑惑,我们需要了解lua里面的注册表和引用系统。注册表(Registry)是一个全局的table,它只能被C代码访问。通常,可以用它来保存那种需要在几个模块中共享的数据。注册表由一个叫LUA_REGISTRYINDEX的索引可以找到。它在lua的c源码里被定义如下。它是一个伪索引(Pseudo-Index)。为什么叫伪索引?因为这个索引对应的

2020-06-20 18:15:47 647

原创 【Lua与C#交互④】如何让Lua打印到Unity控制台

今天要讲的如何让Lua打印到Unity控制台?相信用过tolua或者xlua的人都知道,在lua脚本里面只要写一行print就能打印到unity控制台效果类似Debug.Log。那么它们背后的原理是什么呢?如果自己实现一个类似的函数替换功能又该如何实现?耐心看完,你会有更多收货。...

2020-06-18 01:12:39 1388

原创 【整合篇】如何提升游戏感?

Jan Willem Nijman 是《废土之王》的设计师。他在这个视频里Jan Willem Nijman - Vlambeer - "The art of screenshake"分享了他在 《废土之王》用到的用于提升游戏手感的手法 。这篇文章会对视频里提到的技巧进行归纳,同时给出程序实现上的注意点,如果你是个策划,可以跳过这个部分。 《废土之王》,最早13年出现的俯视角射击Rougulike地牢游戏。后来被很多游戏借鉴之所以写这篇文章,是因为这是凉屋游戏的面试题之一

2020-06-07 00:14:42 1725

原创 【音频篇】Unity中使用wwise的常见问题及解决方案

”音频篇“系列文章记录了我在平时工作中遇到的音频相关的问题。Wwise,是一种音频中间件。关于音频中间件的可以看这篇文章:什么是音频中间件?。本文内容不是介绍wwise,也不是教大家怎么用它,因为这些东西,上网搜都能搜到。本文内容是水鸡我在游戏中使用wwise时遇到的问题以及解决方案。所以如果没有用过wwise的,这篇文章可以先收藏以后再看。没有声音1. 报错信息:Wwise: Event ID not found: xxxxxxxxxxxx是一段数字,出现这个报错,说明在bank还没有被加载,

2020-06-07 00:09:25 10024

原创 【功能开发篇】游戏中的时间系统&修改Unity自带组件运行速度

”功能开发篇“系列文章记录了我在平时工作中遇到的问题以及一些和游戏功能相关的项目经验。时间系统,是几乎每个游戏都会有的一个功能。水鸡我今天带大家学习的是 Chronos这个时间控制插件。它包含时间加速、减速、暂停、回溯四大功能,并且有 全局对象控制、单组对象控制、单体对象控制、区域对象控制 四种控制方式。能够满足游戏里的各种关于时间的复杂需求。这篇文章会介绍插件里的功能,但是不会面面俱到,只是单纯讲插件怎么用对个人能力的提升并没有用,所以本文还会花相当的篇幅分析这个插件是如何实现这些复杂功能的。最终目

2020-06-06 21:58:18 4775 2

原创 【代码篇】如何解决函数参数过多的祖传代码

“经验分享·代码篇“系列文章旨在写出更优雅的代码。在我之前的项目中,特效类是一个复杂的类,除了播动画外还加入了播音效、震屏、手柄震动相关的功能。导致这个类承载了太多的功能。一开始它的函数长这样 (很简单有木有):public void Play( Vector3 position){ ...}然后程序张三接到了个需求说是播特效的时候需要跟随一个物体,但是又不想影响这个函数之前的使用,于是往函数加入了一个缺省参数,于是乎函数变成了这样:public void Play( Vector3 p

2020-05-17 23:50:59 1081

原创 【功能开发篇】使用对象池的注意事项

”经验分享·功能开发篇“系列文章记录了我在平时工作中遇到的问题以及一些和游戏功能相关的项目经验。对象池是一个老生常谈的东西。根据我的经验,使用对象池时需要注意以下问题:1. 如果对象在多个场景经常使用,那么这个对象所在的对象池不应该在过场景的时候清空。典型的跟玩家相关的东西就需要保留,比如脚步烟啊,攻击特效啊这些,如果进入每个场景都重新生成,显然浪费内存。而每个场景很有可能不一样的东西,比如每关刷出来的敌人,它的对象池就应该清空。具体的做法是在对象池的类里加一个属性:public bool r

2020-05-17 23:48:48 538

原创 【编辑器扩展篇】使用GUIStyle让编辑器更好看

”经验分享·编辑器扩展篇“系列文章旨在写出更好看,更好用,更能提升团队开发效率的编辑器扩展功能。在GUILayout和EditorGUILayout里面经常能看到GUIStyle这个参数。GUIStyle主要作用就是让编辑器更好看一点。下面两张图,一个使用了GUIStyle,一个没有使用。当然如果你对美观没有什么追求的话完全可以不用了解GUIStyle。使用GUIStyle有两种方法,一种是使用Unity内部定义好的样式,一种是自己新建。先讲默认的样式。1. 使用字符串当成GUIStyle

2020-05-17 23:43:35 1442

原创 【Lua运行时热重载功能实现②】重载Lua模块、替换函数

上篇说到检测Lua文件发生变化,这篇来讲怎么重载lua模块。请配合github工程来看。关于重载lua的功能在Hotfix.lua脚本上。这个脚本有三个函数,hotfix、update_table、update_func。hotfixfunction hotfix(filename) print("start hotfix: ",filename) local oldModule if package.loaded[filename] then oldModu

2020-05-11 00:02:23 1718

原创 【Lua运行时热重载功能实现①】检测Lua文件发生变化

这几天由于项目组需要一直在琢磨一个功能,就是如何在unity编辑器下不需要重启游戏就能让lua文件改动后立刻生效。如果能够实现这个功能,那会大幅提高开发效率。查了一圈,网上的结果都不太满意,要么只有理论没有源码,要么有源码但是考虑的情况过于简单。所以自己打算写博客告诉大家,我是怎么实现的,并且提供完整源码。github工程地址使用的unity2019.3.0 + xlua。改成其他lua也是可以用,只要在传入luaEnv的时候做相应改动就可以了。这个功能大体分为两大步:检测哪些lua文件发生变化

2020-05-10 21:31:55 2055

原创 【Lua与C#交互③】方法调用和错误处理函数

上篇文章简单说到了 lua_pcall 这个方法,不过没有考虑到参数和返回值的情况,本节重点讲这个函数,还会讲如何把C#端的方法放在lua的栈上以供lua调用。先上代码:var L = LuaDLL.luaL_newstate();var path = Application.dataPath + "/Examples/03_Function/03.lua";LuaDLL.luaL_l...

2020-05-03 19:32:33 1233

原创 【Lua与C#交互②】加载Lua文件

今天继续学习Lua和C#的交互,今天要讲的是加载Lua文件。之后的例子都会使用tolua来写,因为tolua提供的lua原生api比xlua更多。当然你也可以自己编译lua的dll放到unity里面。加载文件使用的是luaL_loadfile这个api,案例如下:结果是先打印100,再打印200var L = LuaDLL.luaL_newstate();var path = Appl...

2020-04-29 23:03:23 1397

原创 【Lua与C#交互①】Lua中的栈

关于Lua如何与C#交互这方面的知识,自己平时只会用xLua或者toLua的接口。背后原理完全一窍不通,之前找工作时就被面试官问倒了,所以有了这系列文章。这篇文章是系列第一篇,所以会讲解一个最简单的例子。首先,Lua内部会维护一个堆栈。请大家注意图上标记的索引,Lua通过索引来拿到栈里面的数据,这些数据包括function、table、数值、string、bool等。1代表栈底,往上递增...

2020-04-26 23:42:22 1459 1

原创 Unity2019生成xLua的wrap代码时报错

Type.IsSZArray没有找到Dictionary的部分构造方法报错解决办法:给xLua生成代码的配置文件(xLua里默认是叫ExampleConfig的文件)加入对应的黑名单,使用BlackList的特性。IsSZArray是属性,可以直接使用官方的方法。Dictionary那个是泛型而且是构造方法,比较复杂。具体参考下面的写法。 //黑名单 [BlackLi...

2020-04-22 20:43:04 2347 2

原创 Unity批量压缩图片的功能实现

在不同平台下开发时,可能会遇到改变图片压缩格式的需求。这里把我之前实现的功能分享给各位。可以学到的知识点如下:拿到原始图片的大小判断一个数是不是2的次幂编辑器扩展之增加菜单按钮、显示对话框、显示进度条安卓和IOS平台的图片压缩格式public class TextureCompressOnPhone{ private const string AndroidPlatfor...

2020-03-19 21:33:24 754

修改unity皮肤为深色

一键修改unity皮肤为深色,需要放在unity.exe文件夹下

2018-08-02

超全Unity代码命名规范

知名游戏公司Unity命名规范,超全,包括注释和各种变量方法的命名规范

2017-12-11

Unity开发人工智能坦克大战项目源码

用人工智能开发的坦克大战,使用神经网络和遗传算法让坦克的AI自我进化

2017-11-16

超全Unity客户端面试题60多页

超全Unity客户端面试题60多页,包括大量选择题、简答题、手写代码题,从c#到unity一应俱全

2017-11-10

Unity实现相机滑动旋转功能教程和源代码

Unity实现相机滑动旋转功能,右键滑动可以上下左右旋转视角,点击鼠标会生成特效

2017-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除