![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity引擎
Keep-curiosity
岁月如歌,孤影阑珊。
展开
-
Unity 动态设置Material Emission属性
最近的项目中遇到有意思的事,三维同事导了一个自发光的场景模型,模型的材质球是Standard的,导入Unity中默认是不会自动设置自发光的,如果手动去设置每个模型的Material的Emission属性那工程量是巨大的,于是想着所有的材质都是Standard的,Emission的设置都是相同的,于是就写了一个Material的编辑器工具类。代码实现:using System.Collections;using System.Collections.Generic;using UnityEngine;原创 2021-05-28 11:03:51 · 2498 阅读 · 0 评论 -
Unity 在list内部交换片段
功能实现目标:最近项目中遇到的一个需求,要求在list中索引为index的位置,index后的片段换到前面,index前的移到前面,也就是从index的位置前后交换。例如:A B C D E F 从索引为3的位置开始交换片段,交换后变为D E F A B Cok,代码实现如下:/// <summary> /// 交换list的某个片段 /// </summary> /// <typeparam name="T"></typeparam&原创 2021-05-28 10:45:17 · 761 阅读 · 0 评论 -
Unity - UGUI精准拖拽UI(手指控制UI放大缩小)
最近在做的一个项目里面需要鼠标拖动一张图片移动,起初就使用了Drag的三个接口去实现这个功能,当完成后去查看发现拖拽是实现了,但是每次去拖拽的时候,图片的中心点就会自动到鼠标点的位置。所以为了解决这个问题就需要使用偏移量去解决它。Just do it.update里的方法是放大缩小的功能,请忽略。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSys原创 2020-06-17 11:32:44 · 3041 阅读 · 2 评论 -
Unity UnityWebRequest替换WWW(转载)
博客原文 Chinar blog :www.chinar.xin UnityWebRequest本文提供全流程,中文翻译。 Chinar 的初衷是将一转载 2020-06-11 12:38:31 · 1167 阅读 · 0 评论 -
Unity 随机打乱list,随机排序
最近在做一个照片墙互动的项目,其中有个功能需要画面每隔一段时间照片需要重新排列。在网上找了一下洗牌算法的实现,感觉还不错。下面记录的代码虽然没有用到洗牌算法,但是也解决了我的需求。go~/// <summary> /// 随机打乱list元素 /// </summary> /// <typeparam name="T"></t...原创 2020-04-30 11:32:48 · 3350 阅读 · 0 评论 -
Unity 按钮呼吸效果
using System.Collections;using System.Collections.Generic;using UnityEngine;using DG.Tweening;/// <summary>/// 设置按钮呼吸特效,挂载到按钮上/// </summary>public class BtnEffect : MonoBehaviour...原创 2020-04-15 16:06:02 · 2539 阅读 · 3 评论 -
Button
在层级视图中鼠标右键选择 UI ->Button 创建 Normal Color : Button的常规状态 Highlighted Color : 鼠标移上Button上的状态 Pressed Color : Button点击后的状态 Disabled Color : Button失效后的状态原创 2017-01-14 11:36:48 · 402 阅读 · 0 评论 -
Image && RawImage
在层级视图中鼠标右键选择 UI -> Image 创建 单独创建Image控件系统会自动为我们创建Canvas画布,因为所有的UI控件都是在Canvas上显示的。 Source Image : 源图片,也就是放在Canvas上我们要显示的图片,但是图片的格式必须是Sprite Color : 图片的颜色 Material : 给图片添加一个材质球 Raycast Target:图片是否接受原创 2017-01-14 11:10:18 · 686 阅读 · 0 评论 -
UGUI - Text控件
通过在层级视图中或者菜单栏点击创建Text控件。 勾选Rich Text,这时我们可以在输入框中填写HTML语言。字体也会根据我们的设置显示出不同的效果。例:创建一个Text 控件 勾选Rich Text按钮后我们就可以在输入框中编辑富文本了。 这时我们创建一个脚本获取Text组件并编辑它void Start () { // 场景中的每一个对象都有一个Transform,所原创 2017-01-13 22:01:57 · 2387 阅读 · 0 评论 -
UGUI-Canvas画布
Canvas就是画布;它是承载一些UI控件的画布 Canvas的创建有三种方式:在Unity工具的顶部的菜单栏上的点击GameObject->UI->Canvas在Hierarchy层级视图中点击鼠标右键弹出选择UI->Canvas在Hierarchy层级视图中创建一个UI控件,比如Image;Text…系统自动会创建一个Canvas画布Canvas 组件Canvas Scaler 组件原创 2017-01-12 22:35:31 · 619 阅读 · 0 评论 -
Unity3D-UGUI Text 文本调整字间距
版权声明:本文为 ls9512 原创文章,转载请注明出处! https://blog.csdn.net/ls9512/article/details/82980147 &amp;amp;amp;amp;amp;lt;/div&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;转载 2019-01-02 18:02:57 · 10457 阅读 · 2 评论 -
Unity-线程调度,将其它线程中的代码放置在主线程中执行
原创链接using System;using System.Collections;using System.Collections.Generic;using System.Threading;using UnityEngine;namespace LX.Common.Threading{ /// <summary> /// 线程调度,将其它线程中的代...转载 2019-05-13 11:26:26 · 1426 阅读 · 0 评论 -
Unity-json拼接,json中嵌套json
最近公司的一个项目前后端需要用json通信,有时候需要在json中再嵌套一层json。第一次遇到这样的需求,所以这里记录一下。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Text;using LitJson;public class GlobalMa...原创 2019-08-19 17:57:03 · 1471 阅读 · 0 评论 -
Toggle && ToggleGroup
在层级视图中鼠标右键选择 UI -> Toggle 创建 Toggle的大部分属性和Button是一样的。 Target Graphic : 图片背景 Normal Color : 常规状态 Highlighted Color : 鼠标移上的状态 Pressed Color : 点击后的状态 Disabled Color : 失效后的状态Toggle控件常用来做选择的按钮。Tog原创 2017-01-14 12:04:35 · 731 阅读 · 0 评论 -
利用www类从网上加载图片
首先在Unity界面创建Canvas - > RawImage 创建C#代码代码控制UI显示图片using UnityEngine;using System.Collections;using UnityEngine.UI;public class wwwScr : MonoBehaviour{ // 图片的地址 string url = "http://f.hiphot原创 2017-02-28 21:55:52 · 1242 阅读 · 0 评论 -
Unity-Text宽度高度自适应
UGUI中如果我们需要text组件的size随着字数的多少变化而变化,只需要添加Content Size Fitter组件即可。增加宽设置Horizontal Fit,增加高Vertical Fit原创 2018-08-13 16:51:28 · 6270 阅读 · 0 评论 -
Unity脚本的生命周期(二)- 转载
Unity 脚本生命周期流程图 <div class="article_manage clearfix"> <div class="article_l"> <span class="link_categories"> 标签: <a href="http://www.csdn.net转载 2016-12-23 23:04:18 · 259 阅读 · 0 评论 -
Input类
Input 获取键盘事件Input.GetKey () 用来检测用户持续按键的事件Input.GetKeyDown() 用来检测用户按键按下的事件Input.GetKeyUp() 用来检测用户按键弹起的事件Input 获取鼠标事件Input.GetMouseButton () 用来检测用户持续按键的事件Input.GetMouseButtonDown () 用来检测用户按键按下原创 2016-12-24 14:46:52 · 491 阅读 · 0 评论 -
组件 - Component
新建项目默认生成的文件夹Assets里面存放的是项目所需要的所有的资源Libray里面存放的是所需要的库文件ProjectSettings里面存放的是工程设置文件Temp里面存放的临时文件一个工程里面有多个场景,一个场景中有多个游戏对象,每个游戏对象又有多个游戏组件Inspector视图下: 1. Mesh Filter 网格过滤器,用来是否显示物体的网格 2. Transform组件原创 2016-12-23 21:17:07 · 332 阅读 · 0 评论 -
Unity小技巧介绍
Unity小技巧介绍(一)# 1如果编辑器意外崩溃了,但场景未保存,这时可以打开工程目录,找到/Temp/_Backupscenes/文件夹,可以看到有后缀名为.backup的文件,将该文件的后缀名改为.unity拖拽到项目视图,即可还原编辑器崩溃前的场景。 # 2所有数值类型的字段,都支持在检视面板中直接输入简单的数值表达式。 # 3好不容易才调好的坐标,结果发现是在运行模式下,如果退出转载 2016-12-23 22:44:25 · 276 阅读 · 0 评论 -
GameObject类一些常用的方法属性
using UnityEngine;using System.Collections;public class Test : MonoBehaviour { // GameObject - 游戏对象类 void Start () { // 获取当前脚本所挂载的游戏对象 // 一般来说,在属性视图中能够看到或修改的属性,我们同样可以在脚本中获取并修改原创 2016-12-26 20:10:42 · 1663 阅读 · 0 评论 -
Vector - 三维向量
Vector中封装的属性Vector常用的方法代码实例using UnityEngine;using System.Collections;public class Test : MonoBehaviour { // Vector3 就是一个类,表示向量,向量既有大小又有方向的量 void Start () { Vector3 v = new Vector3();原创 2016-12-26 20:55:21 · 2240 阅读 · 0 评论 -
Transform 组件
Transform组件的变量Transform组件方法代码实例using UnityEngine;using System.Collections;public class Test : MonoBehaviour { void Start () { // 获取当前脚本所挂载的游戏对象身上的 Transform 组件 // transform /原创 2016-12-26 22:31:19 · 1125 阅读 · 0 评论 -
Time && Mathf
Time 类中封装了常用的时间控制方法Mathf 类中封装了常用的数学方法TimeMathfusing UnityEngine;using System.Collections;public class Test : MonoBehaviour { public float angleSpeed; void Update () { if (Input.GetKeyDo原创 2016-12-26 23:05:00 · 290 阅读 · 0 评论 -
Prefab - 预设体
预设体是一个游戏对象及其组件的集合,目的是使游戏对象及资源能够被重复使用,相同的游戏对象可以通过一个预设体来创建,此过程可以理解为实例化 对预设体进行修改后,所有游戏对象都会相应改变把一个游戏对象从层级视图拖到工程视图后就会生成一个预设体 代码实例using UnityEngine;using System.Collections;public class Test : MonoBehav原创 2016-12-27 20:57:47 · 1780 阅读 · 0 评论 -
鼠标事件
OnMouseUpAsButton 与 Up方法本质的区别是,OnMouseUpAsButton是点击了某个游戏物体后鼠标任然还在它身上才会调用,如果点击了后将鼠标移出了这个物体的范围那么就不会调用;而Up是点击了后,不管是在物体的身上松开还是身体外松开都会调用using UnityEngine;using System.Collections;public class Test : MonoBe原创 2016-12-27 21:36:00 · 1535 阅读 · 2 评论 -
碰撞(Collision)和触发事件(Trigger)
代码实例using UnityEngine;using System.Collections;public class Test : MonoBehaviour{ void Start() { } void Update() { } void OnCollisionEnter(Collision other) { // 碰撞开原创 2016-12-28 22:31:15 · 1764 阅读 · 0 评论 -
物理材质 - Physic Material
物理材质原创 2016-12-28 22:42:50 · 881 阅读 · 0 评论 -
刚体Rigibody && 碰撞器Collider
在游戏中使用物理引擎可以真实的模拟出现实世界中的一些物理效果,例如重力,摩擦力,碰撞等,在Unity中使用的是 NVIDIA 的PhysX物理引擎,该引擎可以在3D世界中模拟需要的效果,它渲染的游戏画面非常的逼真,可以给玩家身临其境的感觉。 在Unity中需要使一个物体受到物理引擎的控制,主要是通过刚体组件来实现的刚体组件的属性刚体组件常用属性刚体组件常用方法代码实例using UnityE原创 2016-12-27 22:58:12 · 1848 阅读 · 0 评论 -
Unity 射线检测(2D&&3D)
3D物体检测:if (Input.GetMouseButtonUp(0)) { // 点击鼠标左键抬起时发射一条射线 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if...原创 2018-07-06 10:42:24 · 11225 阅读 · 11 评论 -
Unity脚本生命周期(一)
如果我们的脚本需要挂载到游戏对象上,就需要继承于MonoBehaviour gameObject表示当前脚本组件所挂载的游戏对象 unity中输出到控制台使用print或者Debug.log 每个游戏对象身上都至少有一个组件,叫做Transform transform表示当前游戏对象身上的Transform组件 继承于MonoBehaviour的类叫做运行时类,运行时类不能手动实例化us原创 2016-12-23 23:00:01 · 567 阅读 · 0 评论