
Unity学习笔记
ichigoooooo
热爱科技,热爱生活
展开
-
C#处理Json对象数组
在游戏开发中时长会用到Json文件来存储数据。但在进行记录时,显然excel更加简便。通过以下网站可以将Excel表格转换为Json对象文件https://old.qqe2.com/jsontool/excel2json首先在Excel中将数据做成表格如下所示然后在上述网站中将该部分数据粘贴到文本框中,点击“ 按行转成对象”,得到Json格式的字符串将转换后得到的字符串...原创 2020-02-12 20:50:53 · 2446 阅读 · 0 评论 -
Unity3d中的简单场景布置
一般将prefab模型直接拖放到场景中,其就能自动置于地形的表面上。要移动位置可以通过拖拽法进行改变位置点击场景中的模型,出现三个箭头和三个在中心点周围的三个互相垂直的平面,如下图所示。箭头的作用不必多说,在场景中改变模型位置的时候通常靠的是拖动中心点周围的平面。比如在图中点住拖动绿色的平面,可以使得模型在底部平面上(x-z平面)上运动。一个小tip:运用预置的模型要活用。...原创 2019-03-04 08:01:46 · 710 阅读 · 0 评论 -
Unity3d中的三种光照
Unity3d中有多种光源如下图所示,目前先学会三种常用的光源即可在场景布置的窗口上面有一个小太阳按钮。开启就会使得场景布置中的显示出光照效果。关闭后则场景布置不受到光照影响,任何物体都能够在视图中看到,就像solidworks一样。Directional Light平行光,可以用于模拟太阳光。在设置栏可以改变其种类、颜色、强度等属性,这里不多做记录。Shadow ...原创 2019-03-04 08:27:43 · 1520 阅读 · 0 评论 -
Unity3d基础学习之Monobehavior
首先展示一下几种Monobehavior的执行顺序。几种Update的区别Update: 每隔一段时间执行依次,但是隔的时间是不固定的。可能因为更新过程中执行的内容执行时间长度不同等各种原因产生差异Fixedupdate: 每次调用的时间间隔相同。不会因为上一帧用时多久而改变下一帧调不调用。...原创 2019-03-04 09:18:32 · 976 阅读 · 0 评论 -
Unity3d 按键监听(键盘,鼠标,自定义键)
GetKey 只要键处于按下状态,就会一直有响应(值Input.GetKey("a")为true)GetKeyDown 按下按键时响应,在一次按键动作过程中只响应一次。GetKeyup 抬起按键时响应,在一次按键动作过程中只响应一次。可以使用Keycode引用枚举类型GetMouseButton()GetMouseButtondown()GetMouseup()以上...原创 2019-03-07 20:18:40 · 8484 阅读 · 0 评论 -
Unity3d添加声音
https://www.cnblogs.com/HangZhe/p/7238614.html 这个文章介绍的比较全面1)2d声音和3d声音2d声音没有“距离感”2)audio listener 耳朵 audio resource 声音源一般场景中同时只允许一个启动的audio listener关于audio resource的各种参数如何设置可以参考顶部的那片文章。...原创 2019-03-07 21:20:35 · 1332 阅读 · 0 评论 -
UGUI学习笔记之Text
字体Fonts字体文件可以从网上下载,也可以使用电脑自带的一些字体文件。在电脑中的目录如下所示。把这些文件直接拖放在unity中就可以使用了。...原创 2019-03-08 12:26:59 · 163 阅读 · 0 评论 -
Unity3d调用android studio生成的aar包
一天了,从早上九点到晚上凌晨2两点一直在鼓捣这个玩意。死活就是弄不好,现在终于成功了,但还不能睡觉,抓紧把这次成功的过程记录下来。首先,android studio 和 Unity的版本这个真的可能会有很大的影响。起码我一开始死活弄不对,两个全部重新安装了版本之后才鼓捣了半天成功的。以及android studio 版本是 3.0.1----------------------...原创 2019-08-03 17:50:59 · 800 阅读 · 1 评论 -
Unity3d用脚本实现Button图片的更改
目标效果,通过鼠标点击控制声音按钮的开关。点击后动态加载新的状态对应的图片,并且将button显示的图片更新。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class CanvasBG : MonoBe...原创 2019-03-08 19:34:48 · 10384 阅读 · 1 评论 -
Unity3d血条的生成
血条的生成用到了UI组件中的Canvas,生成canvas后将其调整为适当尺寸,并在其基础上添加hpBarBG背景(黑色),以及hpbar(红色)。之后要因为HpBar时动态变化,且左侧总是和Canvas对齐的,要将其Image组件设置如下(Filled),且要添加实在的Source Image。其中的fillamount就是后面要在程序中动态改变的。之后在玩家的sc...原创 2018-12-20 09:17:24 · 1067 阅读 · 0 评论 -
Unity3d 怪物的自动生成
首先在场景中窗前一个空物体empty将其设置为预置prefab。然后创建一个脚本来控制他。在编写脚本的时候需要注意的几点是 1.怪物生成的间隔2.怪物生成的种类3.怪物生成的数量 是要设置为public变量,方便后期的配置。另外还要有计数器、以及判断玩家是否存活的函数。伍晓波老师的第三人称射击游戏制作的课程中的怪物自动生成的代码如下。using System.Colle...原创 2018-12-21 09:19:37 · 11223 阅读 · 3 评论 -
Unity3d射线穿透攻击
和之前的普通攻击模式不同,普通攻击是利用射线与制定层物体进行碰撞,返回单点的碰撞信息。在进行射线穿透攻击时,首先要做好各个字段以及相关变量、方法的准备工作。修改特殊攻击相关方法的重要核心是specialAttackHitInfo = Physics.RaycastAll(testRay, 100, attactHitMask)与该语句相关的参量定义如下 ...原创 2018-12-21 09:48:29 · 1268 阅读 · 0 评论 -
Unity3D 射线碰撞检测
//鼠标位置 private Vector3 currentMousePositon; //3D射线的碰撞信息,就存储在这里 private RaycastHit hitInfo3D; //射线碰撞的层标记,与哪些层进行碰撞 private int hitMask; // Use this for initialization...原创 2018-12-22 20:59:19 · 2206 阅读 · 0 评论 -
unity3d碰撞的添加
在unity3d中实现碰撞要求碰撞的双方至少有一方具有碰撞体组件。通过在Component中点击 Physics 2D→Polygon Collider 2D。 可对一个不规则形状的对象添加碰撞体。效果如下图所示具体要想调整碰撞体的形状 做出微调,可以在右侧组件中Polygon Collider2D处点击“Edit Collider”选项。之后再Scene界面处就可以通过拖拽等...原创 2019-01-28 16:59:23 · 3745 阅读 · 0 评论 -
Unity C#编程之Unity中的GameObject和常用操作
如何查找GameObject1.直接拖拽赋值2.查找 有三个静态方法GameObject.findGameObject.FindGameObjectsWithTag (返回该tag的gameobject数组)GameObject.FindWithTag (对于某一种tag下只有一个gameobject)GameObject go = Gameobject...原创 2019-03-05 08:33:41 · 2143 阅读 · 0 评论 -
Unity3d添加简单人物移动
首先在场景中添加一个cube。并对其添加一个character controller 组件。因为character controller组件中包含碰撞体,所以可以将原本的collider删除掉。然后对其添加一个c# script 组件用于编写代码。其c#代码编写如下所示。using System.Collections;using System.Collections.Ge...原创 2019-03-02 22:21:09 · 10753 阅读 · 1 评论 -
Unity3D高版本中如何进行GUI Texture的设置
Unity3D高版本中如何进行GUI Texture的设置作者:用户来源:互联网时间:2018-09-02 11:14:26摘要:本文讲的是Unity3D高版本中如何进行GUI Texture的设置, 在高版本的Unity3D中,目测(仅仅只是目测)由于unity有了自己的UI系统,因此软件就把GUI Texture这一个选项给藏了起来。然而如果我们还是想将某图片设置成GUI Tex...转载 2019-03-06 08:15:17 · 1634 阅读 · 0 评论 -
Unity3d动态加载Instantiate
需要用到动态加载的时候:在一开始场景中我们不希望他出现该物体,或者在场景中大量存在的共性物体(如玩家和敌人的生命值血条),不方便自己一个一个添加。则可以在各自的start函数中动态加载。...原创 2018-12-20 09:01:59 · 1021 阅读 · 0 评论