Unity企业内训(第3讲:Unity面向组件开发)(Yanlz+Unity+面向组件开发+MonoBehaviour+脚本生命周期+Component+GameObject+Time+立钻哥哥+)

《Unity企业内训》

版本

作者

参与者

完成日期

备注

Unity_Training_V01_1.0

严立钻

 

2018.09.11

 

 

 

 

 

 

 

 

##《Unity企业内训》发布说明:

++++“Unity企业内训”是对企业内非程序员岗位的Unity普及,比如产品运营等,让相关人员熟悉Unity开发过程,更了解程序员的开发流程和技能点;有利于沟通交流和产品需求提出及优化;

++++“Unity企业内训”定位是非程序员岗位,再次声明:程序员请绕行,产品运营美术等请进入

 

 

##《Unity企业内训》目录:

++++Unity企业内训(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82634668

#第1讲:Unity中C#开发基础

#第2讲:Unity引擎基础

#第3讲:Unity面向组件开发

#第4讲:Unity物理系统

#第5讲:UGUI

#第6讲:Unity动画系统

#第7讲:Unity特效渲染

#第8讲:Unity数据存储

#第9讲:Unity中Sqlite数据库

#第10讲:Unity中的资源管理

#第11讲:Unity中的性能优化

#第12讲:Unity网络

#第13讲:设计模式

#第14讲:UML类图

#第15讲:Shader编程

#第16讲:游戏框架

#第17讲:Lua热更新

#第18讲:UnityAPI

#第19讲:VIVE开发

#第20讲:Oculus开发

#第21讲:Unity案例分析

#第22讲:VRTK跨平台开发

 

 

 

 

 

 

#第3讲:Unity面向组件开发

#第3讲:Unity面向组件开发

#第3讲:Unity面向组件开发

++++3.1、Unity组件开发

++++3.2、Unity脚本组件

++++3.3、常用类

++++3.4、Prefab预设体

 

 

 

##3.1、Unity组件开发

##3.1、Unity组件开发

++3.1、Unity组件开发

++++3.1.1、工程与应用程序

++++3.1.2、Unity工程开发框架

++++3.1.3、Unity面向组件开发思想

++++3.1.4、脚本组件的使用

 

 

 

###3.1.1、工程与应用程序

###3.1.1、工程与应用程序

++3.1.1、工程与应用程序

++++立钻哥哥:新创建的Unity工程,在其目录文件夹中包含4个文件夹:Assets/、Library/、ProjectSettings/、Temp/等

++++[Assets/]:里面存放的是项目所需要的资源

++++[Library/]:里面存放的是所需要的库文件

++++[ProjectSettings/]:里面存放的是工程设置文件

++++[Temp/]:里面存放的是临时文件

 

 

 

###3.1.2、Unity工程开发框架

###3.1.2、Unity工程开发框架

++3.1.2、Unity工程开发框架

++++立钻哥哥:

++++工程,场景,游戏对象和组件的关系:

--一个工程里面有多个场景,相当于一个游戏有多个关卡

--一个场景里面有多个游戏对象,相当于游戏中的不同的元素

--每个游戏对象又有一个或者多个组件,游戏对象想要实现什么样的功能只需要加上相对应的组件即可

 

 

 

###3.1.3、Unity面向组件开发思想

###3.1.3、Unity面向组件开发思想

++3.1.3、Unity面向组件开发思想

++++立钻哥哥:Unity面向组件开发,游戏物体想要实现什么样的功能,只需要添加相对应的组件即可,此时会在Inspector检视面板中显示出来,一些属性值可以可视化的更改

 

 

 

###3.1.4、脚本组件的使用

###3.1.4、脚本组件的使用

++3.1.4、脚本组件的使用

++++立钻哥哥:Unity2017之前版本自带Mono脚本编辑器,创建Mono应用程序;Unity2017之后推荐使用VS(Visual Studio),包括了整个软件生命周期中需要的大部分工具

++++在Unity中通过菜单设置修改默认的脚本编辑器:[Edit]=>[Preferences]=>[External Tools]=>[External Script Editor];

 

++脚本组件

++++立钻哥哥:脚本是一种特殊的组件,它用于添加到游戏对象上以实现用户自定义的一些功能

++++Unity主要支持C#来编写脚本

 

++脚本的创建

++++立钻哥哥:在Project视窗Asset文件夹中点击右键,创建C#脚本,然后把创建的脚本拖放到游戏物体上即可

 

++脚本的使用

++++立钻哥哥:双击创建的脚本组件,即可打开脚本

using UnityEngine;

using System.Collections;

using System.Collections.Generic;

using System;

 

public class MyClass : MonoBehaviour{

}    //立钻哥哥:public class MyClass:MonoBehaviour{}

++++说明:类名与脚本组件名一致,并自动的继承MonoBehaviour类;(类名与脚本名不一样会出错

 

 

 

 

 

##3.2、Unity脚本组件

##3.2、Unity脚本组件

++3.2、Unity脚本组件

++++3.2.1、Unity脚本类

++++3.2.2、MonoBehaviour类

++++3.2.3、脚本生命周期

++++3.2.4、常用调试方法

 

 

###3.2.1、Unity脚本类

###3.2.1、Unity脚本类

++3.2.1、Unity脚本类

++++立钻哥哥:Unity中的常用脚本类可简单分为四大类:宏观控制类;游戏对象类;组件类;资源类

++++[宏观控制类]:主要作用是针对Unity程序中的某一方面进行宏观控制;包括:应用程序类(Application)、输入类(Input)、图形输出类(GUI)、物理引擎类(Physics)、资源类(Resources)、时间类(Time)等

++++[游戏对象类(GameObject)]:表示当前脚本挂载的游戏对象

++++[组件类(Component)]:脚本开发中的组件类可以和图形界面中的检视面板对应起来;(每一个游戏对象的细节设置与操控都需要借助组件类来完成)

++++[资源类]:资源一般都是在图形界面导入之后直接使用

 

 

 

###3.2.2、MonoBehaviour类

###3.2.2、MonoBehaviour类

++3.2.2、MonoBehaviour类

++++立钻哥哥:Unity脚本组件必须继承MonoBehaviour类

++++继承自MonoBehaviour的脚本组件可以自动调用其封装好了的回调方法

 

 

 

###3.2.3、脚本生命周期

###3.2.3、脚本生命周期

++3.2.3、脚本生命周期

++++立钻哥哥:脚本生命周期:[Awake()]=>[OnEnable()]=>[Start()]=>[FixedUpdate()]=>[Update()]=>[LateUpdate()]=>[OnBecameVisible()]=>[OnGUI()]=>[OnBecameInvisible()]=>[OnDisable()]=>[OnDestroy()]=>[OnApplicationQuit()]

++++初始阶段:Awake()OnEnable()Start()

--Awake()唤醒:当物体载入时立即调用1次,常用于在游戏开始前进行初始化,可以判断当满足某种条件执行此脚本 this.enable = true

--OnEnable()当可用:每当脚本对象启用时调用

--Start()开始:物体载入且脚本对象启用时被调用1次;常用于数据或游戏逻辑初始化,执行时机晚于Awake()

++++物理阶段:FixedUpdate()

--FixedUpdate()固定更新:脚本启用后,固定时间被调用,适用于对游戏对象做物理操作,例如移动等

--设置更新频率:[Edit]=>[Project Setting]=>[Time]=>[Fixed Timestep]值,默认为0.02s

++++游戏逻辑:Update()LateUpdate()

--Update()更新:脚本启用后,每次渲染场景时调用,频率与设备性能及渲染量有关

--LateUpdate()延迟更新:在Update()函数被调用后执行,适用于跟随逻辑

++++场景渲染:OnGUI()OnBecameVisible()OnBecameInvisible()

--OnGUI()渲染:渲染和处理GUI事件时调用

--OnBecameVisible()当可见:当Mesh Renderer在任何相机上可见时调用

--OnBecameInVisible()当不可见:当Mesh Renderer在任何相机上不可见时调用

++++结束阶段:OnDisable()OnDestroy()OnApplicationQuit()

--OnDisable()当不可用:对象变为不可用和附属游戏对象非激活状态时此函数被调用

--OnDestroy()当销毁:当脚本销毁或附属的游戏对象被销毁时调用

--OnApplicationQuit()当程序结束:应用程序退出时被调用

 

 

 

###3.2.4、常用调试方法

###3.2.4、常用调试方法

++3.2.4、常用调试方法

++++立钻哥哥:在学习和使用Unity时会经常调试代码,常用的调试方法有:第一种,在可能出错的行添加断点;第二种,选择打印消息的方式

 

++调试方法1:在可能出错的行添加断点

++++立钻哥哥:

 

++调试方法2:打印消息的方式

++++立钻哥哥:常用打印消息的方式:一种是print,一种是Debug.Log()

++++[print()方法]:它是MonoBehaviour类的成员;当一个脚本继承MonoBehaviour时,才可以使用Print方法

++++[Debug方法]:是一个独立的、密闭的类;Debug任何地方都可以,建议使用Debug.Log()方法

 

 

 

 

 

##3.3、常用类

##3.3、常用类

++3.3、常用类

++立钻哥哥:APIApplication Programming Interface)应用程序编程接口,是一些预先定义的函数;Unity引擎提供了丰富的组件和类库,为开发者提供了非常大的便利,熟练掌握和使用这些API对于提高游戏开发效率很重要

++++3.3.1、Component

++++3.3.2、GameObject

++++3.3.3、Transform

++++3.3.4、Vector3

++++3.3.5、Quaternion

++++3.3.6、Time

++++3.3.7、Mathf

 

 

 

###3.3.1、Component类

###3.3.1、Component类

++3.3.1、Component类

++++立钻哥哥:Component类:gameObjecttransformtagcolliderrendererrigidbodyGetComponent()GetComponentInChildren()GetComponents()GetComponentsInChildren()

++++[gameObject]:组件附加的游戏对象;组件总是被附加到游戏对象上

++++[transform]:附加到此游戏对象Transform组件(如果没有则为空)

++++[tag]:此游戏对象的标签

++++[collider]:附加到此游戏对象的Collider(如无附加则为空)

++++[renderer]:附加到此游戏对象Renderer组件(如果没有则为空)

++++[rigidbody]:附加到此游戏对象Rigidbody组件(如果没有则为空)

++++[GetComponent()]:如果游戏对象有附加type类型的组件,则返回,如果没有则为空

++++[GetComponentInChildren()]:返回此游戏对象上type类型的组件或任何它的子对象,使用深度优先搜索

++++[GetComponents()]:返回此对象type类型的所有组件

++++[GetComponentsInChildren()]:返回此游戏对象与其子对象所有type类型的组件

 

 

 

###3.3.2、GameObject类

###3.3.2、GameObject类

++3.3.2、GameObject类

++++立钻哥哥:GameObject类:tagnameFindGameObjectsWithTag(string tag)、T GetComponent<T>()、SetActive(bool value)、FindWithTag(string tag)

++++通过tag得到游戏物体:

--static GameObject FindWithTag(string tag);

--GameObject.FindWithTag(立钻哥哥);

++++通过name得到游戏物体:

--static GameObject Find(string name);

--GameObject.Find(立钻哥哥);

++++[tag]:可读写属性,游戏物体的tag

++++[name]:可读写属性,游戏物体的name

++++[FindGameObjectsWithTag(string tag)]:静态方法,返回所有tag标识的物体,返回值是个数组

++++[T GetComponent<T>()]:泛型实例方法,得到T类型的组件(强烈建议使用)

++++[SetActive(bool value)]:实例方法,设置游戏物体是否是活动的

++++[FindWithTag(string tag)]:静态方法,得到tag标识的游戏物体

 

 

 

###3.3.3、Transform类

###3.3.3、Transform类

++3.3.3、Transform类

++++立钻哥哥:Transform类:任何创建的游戏对象在场景中都会有位置,旋转和缩放最基本的信息,故该组件是必须存在的

++++Transform组件作用:1、负责游戏对象的变换(位置,旋转和缩放);2、维持父子关系

++++[position]:世界坐标系中transform的位置

++++[localPosition]:相对于父物体的位置

++++[eulerAngles]:欧拉角,旋转的角度

++++[rotation]:世界坐标系中变换的四元数

++++[parent]:物体父物体的Transform组件

++++[root]:物体最高层次父物体的Transform组件

++++[void Translate(Vector3 translation)]:使当前对象朝translation

++++[void Rotate(Vector3 eulerAngles)]:按给定的欧拉角进行旋转

++++[void RotateAround(Vector3 point, Vector3 axis, float angle)]:绕point点沿axis轴旋转angle度

++++[Transform Find(string name)]:通过名字查找子物体

++++[void LookAt(Transform target)]:使物体朝向target点

 

 

 

###3.3.4、Vector3类

###3.3.4、Vector3类

++3.3.4、Vector3类

++++立钻哥哥:Vector3类是封装了向量运算相关变量和方法的结构体

++++Vector类的点乘、叉乘

 

++点乘

++++立钻哥哥:点乘又称“点积”和“内积”

++++几何意义:a*b = |a|*|b|*cos<a, b>:两个向量的单位向量相乘后再乘以二者夹角的余弦值

++++代码:float dot = Vector3.Dot(Va, Vb);

++++点乘应用:对于标准化过的向量,点乘结果等于两向量夹角的余弦值

++++计算两向量夹角:

float dot = Vector3.Dot(a.normalized, b.normalized);

float angle = Mathf.Acos(dot) * Mathf.Rad2Deg;

 

++叉乘

++++立钻哥哥:叉乘又称“叉积”或“外积”

++++几何意义:结果为两个向量所组成面的垂直向量,模长为两向量模长乘积再乘夹角的正弦值

++++脚本:Vector vector = Vector3.Cross(a, b);

++++叉乘应用:创建垂直于平面的向量;判断两条向量相对位置

 

++Vector3类

++++立钻哥哥:Vector3封装了向量运算相关变量和方法的结构体

++++[normalized]:标准化向量,方向不变,长度为1(只读)

++++[magnitude]:向量长度(只读)

++++[sqrMagnitude]:向量长度平方(只读)

++++[forward]:Vector3(0,0,1)的简码,Z轴正方向

++++[up]:Vector(0,1,0)的简码,Y轴正方向

++++[right]:Vector3(1,0,0)的简码,X轴正方向

++++[void Normalize()]:标准化向量,长度为1

++++[static Vector3 Lerp(Vector3 from, Vector3 to)]:两个向量之间的夹角

++++[static float Distance(Vector3 a, Vector3 b)]:两个向量之间的距离

 

 

 

###3.3.5、Quaternion类

###3.3.5、Quaternion类

++3.3.5、Quaternion类

++++立钻哥哥:Quaternion类:四元数

++++[identity]:该四元数无旋转,常用在代码创建对象

++++[LookRotation()]:创建一个旋转,沿着forward(z轴)并且头部沿着upwards(y轴)的约束注视

++++四元数是左乘向量,表示将该向量按照四元数表示的角度旋转

Vector3 point = new Vector3(0, 0, 10);

Vector3 newPoint = Quaternion.Euler(0, 30, 0) * point;

 

++避免万向节死锁

++++立钻哥哥:

this.transform.rotation *= Quaternion.Euler(0, 1, 0);

== >可使物体沿自身Y轴旋转;

 

this.transform.Rotate(Vector3 eulerAngles);

==>内部就是使用四元数相乘实现;

 

 

 

 

###3.3.6、Time类

###3.3.6、Time类

++3.3.6、Time类

++++立钻哥哥:Time类:时间类

++++[time]:从游戏开始到现在所用的时间(只读)

++++[deltaTime]:获取上一次Update()方法执行的时间到本次执行Update()方法时间的差值

++++[fixedDeltaTime]:在物理和其他固定帧速率进行更新上一帧所消耗的时间,以秒计算

++++[timeScale]:表示事件缩放,正常时间为1

 

 

 

###3.3.7、Mathf类

###3.3.7、Mathf类

++3.3.7、Mathf类

++++立钻哥哥:Mathf数学类封装了常见数学计算方法的结构体

++++[Lerp()]:两个浮点数之间进行插值

++++[Clamp()]:返回一个限制值

++++[Sin()]:计算并返回浮点型的正弦值

++++[Cos()]:计算并发挥浮点型的余弦值

++++[Abs()]:计算并返回指定参数的绝对值

++++[Max()]:返回两个值之中最大的值

++++[Min()]:返回两个值之中最小的值

++++[Sqr()]:返回平方根

++++[PI()]:圆周率

 

 

 

 

 

##3.4、Prefab预制体

##3.4、Prefab预制体

++3.4、Prefab预制体

++++3.4.1、预制体概念

++++3.4.2、预制体实例化

 

 

 

###3.4.1、预制体概念

###3.4.1、预制体概念

++3.4.1、预制体概念

++++立钻哥哥:Prefab预制体是一个游戏对象及其组件的集合,目的是使游戏对象及资源能够被重复使用,相同的游戏对象可以通过一个预制体来创建,此过程可以理解为实例化

++++[预制体的生成]:把一个游戏对象从层级视图拖到工程视窗后就生成一个预制体

 

 

 

###3.4.2、预制体实例化

###3.4.2、预制体实例化

++3.4.2、预制体实例化

++++立钻哥哥:预制体实例化:把预制体直接拖到层级视窗上,就会实例化一个游戏对象

++++对预制体做出修改后,其所实例化的对象也会做出相应的改动

++++通过预设体创建的游戏对象会在Inspector视窗出现Prefab

--[Select]:点击Select可以选中创建该物体的预设体

--[Revert]:更改实例化后的游戏物体,点击Revert,会取消更改

--[Apply]:将该对象的信息同步到预设体,使用该预设体实例化的其他游戏对象也随之改变

 

++预制体的使用

++++立钻哥哥:Instantiate(),预制体实例化

static Object Instantiate(Object original, Vector3 position, Quaternion rotation);

++++[original]:预制体

++++[position]:位置

++++[rotation]:旋转

 

 

 

 

 

 

 

#第4讲:Unity物理系统

#第4讲:Unity物理系统

++++Unity企业内训(第4讲)https://blog.csdn.net/VRunSoftYanlz/article/details/83479776

 

 

 

 

 

 

 

 

 

++立钻哥哥推荐的拓展学习链接(Link_Url)

立钻哥哥推荐的拓展学习链接(Link_Url)

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++Unity企业内训(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82634668

++++Unity企业内训(第1讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82634733

++++Unity企业内训(第2讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82861180

++++Unity企业内训(第3讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82927699

++++VR实验:以太网帧的构成https://blog.csdn.net/VRunSoftYanlz/article/details/82598140

++++FrameVR示例V0913https://blog.csdn.net/VRunSoftYanlz/article/details/82808498

++++计算机组成原理(教材篇)https://blog.csdn.net/VRunSoftYanlz/article/details/82719129

++++HTC_VIVE开发基础https://blog.csdn.net/VRunSoftYanlz/article/details/81989970

++++Oculus杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82469850

++++Oculus安装使用https://blog.csdn.net/VRunSoftYanlz/article/details/82718982

++++VRTK杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82562993

++++VRTK代码结构(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82780085

++++VRTK(SceneResources)https://blog.csdn.net/VRunSoftYanlz/article/details/82795400

++++Unity5.x用户手册https://blog.csdn.net/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABChttps://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++Unity面试题Dhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630838

++++Unity面试题Ehttps://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity面试题Fhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630945

++++Cocos2dx面试题https://blog.csdn.net/VRunSoftYanlz/article/details/78630967

++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818

++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502

++++Lua快速入门篇(基础概述)https://blog.csdn.net/VRunSoftYanlz/article/details/81041359

++++框架知识点https://blog.csdn.net/VRunSoftYanlz/article/details/80862879

++++游戏框架(UI框架夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80781140

++++游戏框架(初探篇)https://blog.csdn.net/VRunSoftYanlz/article/details/80630325

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++专题:设计模式(精华篇)https://blog.csdn.net/VRunSoftYanlz/article/details/81322678

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++Unity案例(Vehicle)https://blog.csdn.net/VRunSoftYanlz/article/details/82355876

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++Unity知识点0008https://blog.csdn.net/VRunSoftYanlz/article/details/81153606

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++Unity引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++UnityAPI.Rigidbody刚体https://blog.csdn.net/VRunSoftYanlz/article/details/81784053

++++UnityAPI.Material材质https://blog.csdn.net/VRunSoftYanlz/article/details/81814303

++++UnityAPI.Android安卓https://blog.csdn.net/VRunSoftYanlz/article/details/81843193

++++UnityAPI.AndroidJNI安卓JNIhttps://blog.csdn.net/VRunSoftYanlz/article/details/81879345

++++UnityAPI.Transform变换https://blog.csdn.net/VRunSoftYanlz/article/details/81916293

++++UnityAPI.WheelCollider轮碰撞器https://blog.csdn.net/VRunSoftYanlz/article/details/82356217

++++JSON数据结构https://blog.csdn.net/VRunSoftYanlz/article/details/82026644

++++CocosStudio快速入门https://blog.csdn.net/VRunSoftYanlz/article/details/82356839

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

--_--VRunSoft:lovezuanzuan--_--

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值