Unity
cai.Jh
这个作者很懒,什么都没留下…
展开
-
Unity----Shader①初步使用
1.Mesh Filter:存储一个Mesh(网格,模型由那些三角面组成,组成的样子,三角面的一些顶点信息)Mesh Renderer:用来渲染模型的外观,相当于外表贴图,如果Texture没有就是一个纯色的贴图2.Shader编写创建一个空的Shader①给Shader一个名字Shader “Shader/MyShader”{}文件夹名字/Shader名字②创建Shader中的属性,关键字为Properties{}Properties中的属性可以为_Color,_Vector,_Int,原创 2020-07-31 19:43:40 · 209 阅读 · 0 评论 -
Unity----使用脚本在Unity界面创建Menu
在脚本中,使用[MenuItem(string arg)] 属性可以为Unity的工具栏添加这一栏,然后放在要运行的方法前面。参数中放菜单名称和子菜单名称,如[MenuItem(“My_tool/My_AssetBundle”)]static void BuildAssetBundle() {Debug.Log(“打包中”);}[MenuItem(“My_tool/My_Debuglog”)]static void DebugSomeMessage() {Debug.Log(“输出些什么”);原创 2020-07-30 02:19:57 · 469 阅读 · 0 评论 -
Unity----资源文件的使用,打包,下载
1.拖拽方式,使用资源在脚本文件中,如果要使用资源文件,可以创建相关资源的类型,然后SerializeField,在Unity中进行赋值。如:我创建了一个脚本,里面有一个类型Material,然后SerializeField,然后在Unity中把相关的Resource拖拽进去,就可以使用了。[SerializeField]Material my_Material;2.使用Resource类,调用Resource的文件夹下的资源在脚本中,声明资源的类型变量,然后调用Resources.Load原创 2020-07-30 02:17:52 · 1127 阅读 · 0 评论 -
Unity----Socket使用②
在客户端中,要连接到服务器要使用Socket中的Connect(IPEndPoint)方法,把服务器Bind的IPAdress和Port赋值给IPEndPoint,当作参数传进Connect方法,就成功绑定了。向服务器接收消息就用socket的Receive,向服务器发送消息就用socket的Send。public class ChatClient : MonoBehaviour { //展示服务器发送的消息 [SerializeField] Text showText;原创 2020-07-29 02:14:15 · 126 阅读 · 0 评论 -
Unity----Socket使用①
使用Socket的Demo分析:聊天室:①客户端:UI界面、网络收发I/O②服务器端:网络收发I/O:创建Socket对象->将Socket对象和电脑的应用进行一个绑定->等待连接,连接成功就建立交流的通道(1)创建Socket对象Socket tcpServer = new Socket();进行初始化的构造函数的重载有三个:只有一个参数,参数类型为SocketInformation查看SocketInformation这个东西,转到定义的地方namespace S原创 2020-07-27 19:44:59 · 352 阅读 · 0 评论 -
Unity----SQLite数据库的连接使用
1.简介:数据库:电子化的文件柜,用户进行增删查改SQLite:轻量级数据库,设计目标为嵌入式,占用资源低(以文件的形式存在应用中),支持主流的操作系统,2.使用SQLite生成DataBase,为后缀sqlite的文件使用sql语句对数据库进行操作3.unity读SQLite文件①把建立好的SQLite数据库文件放到Unity工程的Assets的streamingAssets(到时候可以使用Application.streamingAssetsPathz读到此文件)②导入dll文件,sql原创 2020-07-22 03:22:05 · 2202 阅读 · 1 评论 -
Unity--Json解析使用
1.Json建立在两种结构上:①key/value,键名与键值形式:{ key1 :value1,key2 : value2,…}②值的有序表:[value1,value2,value3,…]③value的类型:string,int,float,double,object,bool,null2.Json在unity中的解析和使用①Json的处理,可以在bejson.com上进行格式校验,以及其他类型的转换②解析配表中的内容:把Json表放在Resources文件夹下,调用Load方法原创 2020-07-20 22:45:16 · 499 阅读 · 0 评论 -
Unity-PlayerPrefs
PlayerPrefs,用于本地存储的类①存储形式:key-value②存储类型:int、float、string③存储路径:根据不同的平台类型存储在不同的地方常用的方法:PlayerPrefs.SetInt(key,value);每次使用Set方法的时候,值都会用key:value的形式存储下来PlayerPrefs.GetInt(key,default );关于get的default的值是,如果第一次使用的key并没有存储有值,并且我们给相关类型的default设置了值,那么get的时候原创 2020-07-20 19:37:39 · 172 阅读 · 0 评论 -
Unity----Particle、TrailRender、LineRender
1.Particle①在一个空的节点上添加Partical System组件后因为没有相关的材质和贴图,所以粒子为粉色方块状,可以在Render中添加Material中添加相应的材质,进行改变,如加上一个绿色的Material②此模块为固有模块,不可代码中删除或者禁用如果要直接停止不显示的话,可以把particle绑定的gameobject的Active设置成False m_particleSystem.gameObject.SetActive(false);如果只是要暂停粒子效果,可以调原创 2020-07-18 18:36:51 · 747 阅读 · 0 评论 -
Unity Navigation--自动寻路、分离路面导航、分层烘培、动态障碍
1.Navigation的实现,在平面中,把平面分割成一个一个小格子,使用A*等算法计算从一个小格子到另一个小格子的路径;在3D中,小格子对应的为mesh。2.创建一个建议的Navigation①创建要为地形的物体,像是plane与cube②把地形设置为navigation static(1)在windows下的Ai中打开Navigation窗口(2)选中物体,把Navigation Static选上或者是选中物体在Inspector窗口中的static中选择为Navigation Stat原创 2020-07-16 06:08:16 · 3901 阅读 · 0 评论 -
Unity Animation初步学习
一.Animation–最原始的动画系统①创建Animation–相当于磁带②为物体添加Animation组件③设置号组件Animation的属性–加入磁带④录制Animation–录制磁带单一动画的时候,能比较省事,多动画的播放设置和后期维护比较麻烦二.Mecanim①创建Animator②为物体创建Animator组件③创建相关Animation,并添加进Animator④录制Animation⑤在Animator中设置Animation的相关状态,如在那个状态下切换成那个动画,都原创 2020-07-15 04:44:37 · 1341 阅读 · 0 评论 -
Unity-UGui-小结1
.Unity UGUI①独立的坐标系Canvas的坐标选择可以是overlay、Camera、World Space当希望控件是一个三维的物体出现在游戏中的时候,选择World Space如果是界面的方式,则选择前两者②事件机制像是一个Button的Click事件按+表示添加左边为物体或者控件,右边选择组件.方法。或者在Script中,添加[SerializeField]Button my_button;void Start() { my_button.原创 2020-07-08 20:13:45 · 159 阅读 · 0 评论 -
Unity物体随鼠标点击移动使用射线实现
射线Unity提供的射线机制:通过虚拟射线检测所碰撞的物体创建射线:Ray ray =new Ray();bool Raycast(Ray ray,out RaycastHit hitInfo);Demo:从射线机到鼠标点击处创建一个射线Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);ScreenPointToRay()方法返回一条从摄像机发出,穿透屏幕上某个点的射线;Input.mousePosition鼠标当前坐标,某原创 2020-07-04 19:41:55 · 3187 阅读 · 2 评论 -
物体颜色设置以及Unity刚体与碰撞器
改变物体的颜色:改变物体的Materials属性。在文件中添加materia设置好,放进Materials的element中或者在代码中获取物体的MeshRenderer 组件设置其中的Color值private MeshRenderer m_renderr = GetComponent<MeshRenderer>();m_render.material.color = Color.red;物理产生:①两个物体都有碰撞体②其中一个有刚体③两者有相对的运动刚体:添加刚体的物体原创 2020-07-03 02:10:45 · 900 阅读 · 0 评论 -
Unity Input类型
Input类型负责玩家的输入控制,如获取键盘的getkey,获取鼠标的getmouse等。Input.GetKeyDown(KeyCode.);Input.GetKeyUp(KeyCode.);来写if逻辑做操作keycode的值对应键盘上的键位if (Input.GetMouseButtonDown("0")) { transform.Translate(new Vector3()); }鼠标的是:0左键,1右键,2滚轮Input.Get原创 2020-07-02 21:05:01 · 305 阅读 · 0 评论