UnityApi
Unity
Cuijiahao
cocos2d-x/u3d程序员
展开
-
Unity Color与十六进制颜色互相转换
Unity中已经提供了现成的方法,可以直接调用:ColorUtility.TryParseHtmlString:传入的字符串是 “#FFFFFF”的格式,用法如下:Color nowColor;ColorUtility.TryParseHtmlString("#FECEE4", out nowColor);Color转回去使用下面的方法:ColorUtility.ToHtmlStringRGB:传入的是一个Color结构体,返回一个字符串,形式是“FFFFFF”,用法如下:stri原创 2022-02-25 16:26:31 · 4785 阅读 · 0 评论 -
Unity Vector3.Reflect反射线使用和计算原理(光打到平面上反射)
计算向量投射到物体上的反射向量碰撞模拟:public class test3 : MonoBehaviour{ Vector3 dir; Vector3 pos; private void Start() { dir = transform.right; pos = transform.position; } private void Update() { transform.posi...原创 2022-02-10 14:41:47 · 3815 阅读 · 0 评论 -
Unity Quaternion.FromToRotation 将物体从 fromDirection 旋转到 toDirection
Quaternion.FromToRotationpublic staticQuaternionFromToRotation(Vector3fromDirection,Vector3toDirection);描述创建一个从fromDirection旋转到toDirection的旋转。通常情况下,您使用该方法对变换进行旋转,使其的一个轴(例如 Y 轴)跟随世界空间中的目标方向 /toDirection/。using UnityEngine;public class...原创 2020-12-09 13:28:40 · 4595 阅读 · 0 评论 -
UnityAPI PlayerPrefs 保存,读取数据
使用 PlayerPrefs保存数据public void OnBackButtonDown(){ PlayerPrefs.SetInt("gold", GameController.Instance.gold);//存储金币 PlayerPrefs.SetInt("lv", GameController.Instance.lv);//存储等级 PlayerP...原创 2020-04-06 15:43:03 · 276 阅读 · 0 评论 -
Unity API Mesh和Material
Mesh的设置Mesh就网格,用来控制物体的外观,相当于指定一个人是什么样子的。Mesh Filter通过Mesh去控制模型的网格 mesh 设置模型的网格,实例化一个新的mesh sharedMesh 设置模型的网格,引用mesh不会进行复制 public Mesh mesh;//网格Get...原创 2020-02-29 14:35:39 · 441 阅读 · 0 评论 -
Unity API CharacterController 角色控制器的使用
添加角色控制组件属性 center 自身的位置 height 自身的高度 isGrounded 判断自身是否位于地面上 方法 Move 按照长度进行移动,会模拟重力直接掉到地面上 SimpleMove ...原创 2020-02-29 10:46:50 · 701 阅读 · 0 评论 -
Unity API Touch触摸事件
public class TouchTest : MonoBehaviour { void Update () { Debug.Log(Input.touches.Length); //按在屏幕上的手指数 if (Input.touches.Length > 0) { Touch touch1 = Input.tou...原创 2020-02-29 08:57:27 · 2267 阅读 · 0 评论 -
Unity API WWW下载
属性 texture 返回从下载数据生成的Texture2D(只读)。 text 以字符串(只读)的形式返回获取的web页面的内容。 progress 下载进度(只读)。 bytes 以字节数组(只读)的形式返回获取的web页面的内容。 ...原创 2020-02-28 09:00:15 · 491 阅读 · 0 评论 -
Unity API UGUI监听事件
通过拖拽的方式监听UGUI的事件通过代码添加对UGUI控件的事件监听using System;using UnityEngine;using UnityEngine.UI;public class UIEventManager : MonoBehaviour { public GameObject btnGameObject; publ...原创 2020-02-27 16:19:45 · 675 阅读 · 0 评论 -
Unity API Raycast射线的使用
射线检测之基本使用从开始点发射一条射线,按照指定的方向,和指定的长度(不指定则为无限长的),判断有没有与其它的碰撞体发生碰撞。射线的基本碰撞检测void Update () { //创建射线,参数:(起点,方向) //第一个参数+transform.forward是为了不跟自身发生碰撞 Ray ray = new Ray(transform.position+...原创 2020-02-27 11:08:37 · 864 阅读 · 0 评论 -
Unity API SceneManager场景管理器
关于SceneManager的加载场景的方法SceneManager.LoadScene加载场景public static void LoadScene(int sceneBuildIndex, SceneManagement.LoadSceneMode mode = LoadSceneMode.Single); //根据索引加载public static void LoadS...原创 2020-02-26 15:34:00 · 1117 阅读 · 0 评论 -
Unity API Application应用程序操作
Application.dataPath 存放工程所需数据 Application.streamingAssetsPath 通过文件流读取的数据 Application.persistentDataPath 可以持久化的数据 Application.temporar...原创 2020-02-26 09:34:34 · 710 阅读 · 0 评论 -
Unity API Camera摄像机的使用
Camera.main返回主摄像机的Camera组件第一个启用的标签为“MainCamera”的摄像机(只读)。场景中的主要摄像机。如果场景中没有这样的摄像机,则返回null。此属性在内部使用FindGameObjectsWithTag,并且不缓存结果,建议缓存相机的返回值。Camera.main等同于GameObject.Find("MainCamera").GetCompone...原创 2020-02-25 16:10:45 · 2430 阅读 · 0 评论 -
Unity API Rigidbody刚体的使用
刚体组件中position和MovePosition控制移动Rigidbody.position将刚体从一个位置直接设置到另外一个位置用此方法。刚体的位置。Rigidbody。position允许您使用物理引擎获取和设置刚体的位置。如果你用刚体来改变一个刚体的位置。position转换将在下一步物理模拟步骤后更新。这比使用Transform转换更新位置要快。因为Transfor...原创 2020-02-25 15:14:21 · 1423 阅读 · 0 评论 -
Unity API Quaternion四元数和欧拉角的区别和使用
四元数和欧拉角的区别cube.eulerAngles 是欧拉角cube.rotation 是四元数四元数有四个轴(w,x,y,z),方便进行计算欧拉角只有三个轴(x,y,z),方便进行调节//cube.rotation = new Vector3(90, 0, 0);//rotation是四元数,Vector3是欧拉角,两者不可相等cube.e...原创 2020-02-25 11:07:59 · 1561 阅读 · 1 评论 -
Unity API Random生成随机数
静态方法 Range public static float Range(float min, float max); Random.Range(4, 10); //生成4-9之间的数,不包含最大值 Random.Range(4, 5f); //生成4-5之间的小数,不包含5 InitState public...原创 2020-02-24 16:10:24 · 1250 阅读 · 0 评论 -
Unity API Vector向量的使用
Vector2静态变量 down (0, -1) left (-1, 0) right (1, 0) up (0, 1) one (1, 1) zero ...原创 2020-02-24 14:56:26 · 921 阅读 · 0 评论 -
Unity API Input的使用
acceleration 重力感应 GetKeyXXX的使用 GetKey 按中,一直触发 GetKeyDown 按下 GetKeyUp 抬起 if (Input.GetKeyDown("left shift"))//按下{...原创 2020-02-22 16:05:09 · 287 阅读 · 0 评论 -
Unity API Mathf的使用
Mathf里面的静态常量 Deg2Rad 角度转为弧度(角度 * Mathf.Deg2Rad) Rad2Deg 弧度转为角度(弧度 * Mathf.Rad2Deg) Infinity 表示一个无限大的数字 NegativeInfinity 表...原创 2020-02-22 13:52:23 · 322 阅读 · 0 评论 -
Unity API 鼠标相关事件函数OnMouseXXX讲解
如果collider勾了Trigger,则必须设置以下:1、必须将collider设置为Trigger2、设置Edit -> Project Settings -> Physics -> 勾上Queries Hit Triggers(表示射线检测是否可以碰撞到触发器)因为鼠标相关的事件是通过射线来检测的 OnMouseDown ...原创 2020-02-22 09:47:47 · 978 阅读 · 0 评论 -
Unity API Coroutine协程
StartCoroutine 开启协程 StopAllCoroutines 停止所有的协程 StopCoroutine 停止指定的协程 using System.Collections;using System.Collections.Generic;using Un...原创 2020-02-21 15:37:24 · 232 阅读 · 0 评论 -
Unity Api MonoBehaviour
继续自ComponentExecuteInEditMode [ExecuteInEditMode]//在编辑模式下运行 public class PrintAwake : MonoBehaviour { void Awake() { Debug.Log("Editor causes this Awake");...原创 2020-02-21 09:54:41 · 174 阅读 · 0 评论 -
Unity Invoke定时器的使用
CancelInvoke 取消这个脚本所有的定时器。 Invoke 在时间秒内调用方法名。 InvokeRepeating 以时间秒为单位调用方法名,然后重复每个repeatRate秒。 IsInvoking 判断某个方法是否正在调用 ...原创 2020-02-21 09:17:12 · 739 阅读 · 0 评论 -
Unity 得到组件的各种方法函数
GetComponent 查找当前物体,得到一个组件,如果存在多个,那么返回第一个 GetComponents 查找当前物体,得到所有的组件 GetComponentInChildren 查找当前物体以及它所有的孩子,得到一个组件,如果存在多个,那么返回第一个 Ge...原创 2020-02-20 14:22:55 · 2364 阅读 · 0 评论 -
Unity 游戏物体间消息的发送和接收
SendMessage 向当前物体发送消息 SendMessageUpwards 向当前物体以及它所有的父亲发送消息 BroadcastMessage 广播一个消息,广播给当前物体以及它所有的孩子,所有包含这个方法名的都会被调用 public class Cu...原创 2020-02-20 11:16:12 · 1108 阅读 · 2 评论 -
Unity API Object
Object.Destroyusing UnityEngine;public class ScriptExample : MonoBehaviour{ void DestroyGameObject() { //销毁物体 Destroy(gameObject); } void DestroyScriptInstance()...原创 2020-02-20 09:43:02 · 112 阅读 · 0 评论 -
GameObject、Component和Object的千丝万缕的关系
关系图原创 2020-02-20 08:47:23 · 354 阅读 · 0 评论 -
Unity API GameObject
//1,第一种创建方法 GameObject go = new GameObject("Cube");//创建一个空物体,名字为Cube//2,第二种//根据prefab //根据另外一个游戏物体GameObject.Instantiate(prefab);//可以根据prefab 或者 另外一个游戏物体克隆//3,第三种 创建原始的几何体GameObject.CreatePrim...原创 2020-02-19 15:43:41 · 209 阅读 · 0 评论 -
Unity API Time
Static Properties静态属性 captureFramerate 减慢游戏播放时间,以允许在帧之间保存屏幕截图。 deltaTime 每一帧的时间间隔(以秒为单位)(只读)。 fixedDeltaTime 执行物理和其他固定帧速率更新(如MonoBehavi...原创 2020-02-19 15:25:23 · 214 阅读 · 0 评论 -
Unity 生命周期函数,事件函数
1、简介生命周期也叫消息机制1.什么是生命周期函数: Unity 脚本从唤醒到销毁的过程。 过程:初始阶段->物理阶段 ->输入事件 ->游戏逻辑 ->场景渲染 ->结束阶段2.生命周期(也叫消息机制)什么时候执行:当满足某种条件 Unity 引擎自动调用的函数。如:物体载入时 Awake开始执行3.生命周期的 函...原创 2020-02-19 10:33:55 · 619 阅读 · 0 评论 -
Unity 刚体Rigidbody的API
给刚体施加一个力void Update () { float h = Input.GetAxis("Horizontal");//左右方向 float v = Input.GetAxis("Vertical");//上下方向 //给刚体施加一个力(力的方向 * 力的大小) GetComponent<Rigidbody>().AddForce( ne...原创 2020-02-16 11:08:48 · 540 阅读 · 0 评论 -
Unity 与查找相关的方法,transform.Find和GameObject.Find的区别
1.GameObject.Find函数原型:public static GameObject Find(string name);说明:1.GameObject只能查找到 active == true 的物体 2.如果name指定路径,则按路径查找;否则递归查找,直到查找到第一个符合条件的GameObject或者返回null2.transform.Find函数原型: ...原创 2020-01-22 14:23:50 · 1752 阅读 · 0 评论 -
unity Transform组件变量,localPosition和position的区别,rotation属性和Rotate()方法的区别
Transform组件是每个游戏对象必须有的一个组建,因为你创建一个空物体,它也有该组建,因为unity3d是面向组建开发的一款游戏引擎。通过一张图片来看看它的属性Debug.Log("position " + transform.position); //世界坐标的位置Debug.Log("localPosition " + transform.localPosition); //相...原创 2020-01-18 09:00:08 · 7752 阅读 · 0 评论 -
Unity中的Input.GetMouseButton,GetMouseButtonDown,GetMouseButtonUp
使用鼠标点击来实现滑动事件GetMouseButton:每一帧鼠标处于按下状态都会返回true,Input.GetMouseButton(0):表示鼠标左键按下,Input.GetMouseButton(1):表示鼠标右键按下,Input.GetMouseButton(2):表示鼠标中键按下GetMouseButtonDown:鼠标按下的那一帧返回true,Input.Ge...原创 2020-01-16 08:49:57 · 14414 阅读 · 1 评论 -
SceneManager相关的方法
获取当前场景索引SceneManager.GetActiveScene().buildIndex加载新的场景SceneManager.LoadScene原创 2020-01-15 09:47:03 · 206 阅读 · 0 评论 -
Unity OnLevelWasLoaded 方法
unityOnLevelWasLoaded 跟Start,Awake方法一样是MonoBehaviour自动调用的方法;private void OnLevelWasLoaded(int level)在当前场景加载完之后会调用,参数level是加载新场景的索引...原创 2020-01-15 09:42:23 · 1366 阅读 · 0 评论 -
Unity 切换加载场景 SceneManager.LoadScene
SceneManager.LoadScenepublic static void LoadScene(int sceneBuildIndex,SceneManagement.LoadSceneMode mode = LoadSceneMode.Single);public static void LoadScene(string sceneName,SceneManagement.Load...原创 2020-01-15 09:33:34 · 16684 阅读 · 1 评论 -
Unity 读取资源文件 Resources.Load()
Unity 中使用 Resources.Load() 命令读取资源文件。使用中有几个值得注意的地方:读取文件时的根目录是 Assets/Resources,所有资源文件都放在该文件夹下,命令中的路径从 Resources 文件夹里开始写。用 / 表示子文件夹。读取的文件不要加文件的后缀。Load 后 <> 中写入读取的类型。举个例子,如果我们想要读取音频文件 Assets...原创 2020-01-14 11:35:19 · 2709 阅读 · 0 评论 -
Unity中的SendMessage使用 (发送消息与接收消息)
为了方便Unity物体之间的通信,Unity推出了SendMessge方法脚本调用该方法进行发送消息,可以使自身所有脚本或者父物体 子物体身上的所有脚本进行接收,其接收的类型为Object概述Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种伪监听者模式,利用的是反射机制。常用函数关于消息推送,常用的函数有三个:”SendMess...原创 2020-01-14 10:37:24 · 2651 阅读 · 0 评论 -
unity activeInHierarchy与activeSelf的区别
activeSelf:物体本身的active状态,对应于其在inspector中的checkbox是否被勾选activeInHierarchy:物体在场景中的active状态。也就是说要这个值为true,那么这个物体及其所有父节点的activeself状态都为true。一个物体要在场景中是可见的,那么不仅仅其本身的activeSelf要为true,其所有父节点的activeself状态都要为t...原创 2020-01-08 09:38:46 · 2412 阅读 · 0 评论