自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (1)
  • 收藏
  • 关注

原创 unityAPI之Rigidbody

一、Rigidbody 是什么?通过物理模拟控制一个物体的位置。控制物体的位置 - 它使物体在重力影响下下落,并可计算物体将怎样响应碰撞。二、关于Rigidbody的变量1.Rigidbody.velocity 速度刚体的速度向量。 private void OnCollisionEnter(Collision collision) { if (collision.collider.name == "Chessman") { Rigidb

2022-01-24 14:54:32 3120 1

原创 算法四 笔记(一)

学习内容:1.数据结构是算法的副产品或是结果,理解算法必须了解数据结构。2.简单的算法也会产生复杂的数据结构,复杂的算法也许会产生简单的数据结构。3.对于大型问题,我们需要设计能够有效利用时间和空间的方法。4.学习算法的主要原因是他们能节约非常多的资源。5.有时候算法的选择是非常关键的6.程序是对算法精确,优雅完全的描述。7.可以通过运行程序来学习算法的各种性质。8.可以在应用程序中直接使用这些算法。程序基本结构1.原始数据类型:可以精确的定义为整数,浮点值和布尔值等2.语句类型:声明

2022-01-20 16:36:07 246

原创 Unity资源加载简析(二)AssetsBundle

什么是AssetsBundle1,它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹,里面包含了多个文件。这些文件可以分为两类:serialized file(序列化文件) 和 resource files(源文件)。serialized file:资源被打碎放在一个对象中,最后统一被写进一个单独的文件,通常主观上不可见的。resource files:某些二进制资源(图片、声音)被单独保存,方便快速加载。2,一个AssetBundle对象,我们可以通过代码从一个特定的压缩

2022-01-11 14:41:54 2895

原创 Unity资源加载简析(一)Resources

一、Resources(此类允许按照路径名来查找并加载物体)1.Resources.Load加载加载储存在Resources文件夹中path处的资源(Resouces文件夹可以在Assets文件夹中的任何位置)。 GameObject go; void Start() { go =Resources.Load("cube")as GameObject; }2.Resources.LoadAll 加载全部加载Resources文件夹中的path文件夹或者

2021-12-29 17:02:00 2149

原创 unity面向对象编程理解

特点:封装,继承,多态。优点:易维护,易扩展,易开发。方法:掌握面向对象的核心思想,使用面向对象的技巧。继承:极大的节省空间,object是所有类的基类,他是唯一非派生类。继承只有单继承,只能有一个父类隐藏方法:我们不能删除基类中的任何成员,但是可以用与基类成员名称相同的成员来屏蔽基类成员语法细节:屏蔽数据成员:在派生类中声明名称和类型相同的成员。屏蔽函数成员:在派生类中声明新的名称和类型相同的成员。总结:面向对象编程中,都遵循一个原则,依赖倒置原则。程序设计要依赖于抽象类,而不是依赖于

2021-11-22 11:25:11 4903

原创 unityUGUI的简单理解

UGUI简介画布 Canvas渲染模式 Render ModeScreen Space - Overlay:全局覆盖,渲染在整个场景之上,自动随场景缩放,默认编辑展示大小为编辑像素值Pixel Perfect 根据实际像素渲染,提高图像清晰Sort Order 渲染层顺序Screen Space - Camera:仅对设定的 Render Camera 渲染,自适应填充相机视野,可将Canvas范围缩小至与场景同样大小Sorting Layer 设定 Canvas 所在渲染层Order in

2021-11-19 15:46:53 2554

原创 unity理解抽象方法和虚方法

Abstract抽象方法和Virtual虚方法的区别一、抽象方法:只在抽象类中定义,方法修饰符不能使用private,virtual,static.总结:(1)抽象方法只能声明在抽象类中,使用关键字abstract   (2)抽象类中的抽象方法必须被子类重写。【抽象方法没有方法体,子类必须重写方法体,因此抽象方法可以看成是一个没有方法体的虚方法】父类中的虚方法被派生类重写了。注意事项:virtual修饰符不能与private、static、abstract、over

2021-11-16 14:05:27 3068

原创 unity堆栈和队列的意义及区别

什么是堆?又该怎么理解呢?①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:·堆中某个节点的值总是不大于或不小于其父节点的值;·堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。②堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。③堆是应用程序在运行的时候请求操作系统分配给自己内存,一般是申请/给予的过程。④堆是指程序运行时申请的动态内存,而栈只

2021-10-20 09:34:57 561

原创 unity快速理解装箱和拆箱

什么是装箱?C#装箱是将值类型转换为引用类型。什么是拆箱?拆箱是将引用类型转换为值类型。装箱拆箱的作用是什么?利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来。注:被装过箱的对象才能被拆箱。如何避免?1.可以通过重载函数来避免。2.可以通过泛型来避免。...

2021-09-15 09:35:21 1050

原创 C#值类型和引用类型的区别

从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。值类型值类型的特性:1.C#的所有值类型均隐式派生自System.ValueType。各个值类型及其基类:结构体:struct(直接派生于System.ValueType);数值类型:整型:short(System.Int16),ushort(System.UInt16),int(System.Int32),uint(System.UInt32),long(System.Int64),ulong(System.UInt64),s

2021-09-14 11:38:31 143

原创 unity使用Profiler工具分析内存使用情况

前言Unity3D提供了性能分析工具Profiler。今天我们用Profiler来分析一下一个小项目的内存使用信息数据的情况,和大家一起了解一下Profiler。一、Profiler是什么?Profiler是是内置的一种方法,通过在运行时为大量的Unity3D子系统生成使用情况和报告统计,可以给不同的子系统收集如下数据:主要包括以下功能:1.CPU消耗量(每个主要子系统)2.基本和详细的渲染和GPU信息3.运行时内存分配和总消耗量4.音频源/数据的使用情况5.物理引擎(2D和3D)的使用情况

2021-08-25 11:46:22 5191

转载 Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!最新版!!!

一、Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理 / 流程:Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库二、SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够

2021-08-19 17:27:04 1854 1

原创 每天一个API(六)Mathf

一、Mathf是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_h

2021-08-16 16:08:03 182

原创 每天一个API(五) Input

输入Input 输入输入系统的接口。使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据。一、Input.GetTouch获取触摸返回一个存放触摸信息的对象代码如下(示例):Input.GetTouch(0).phase == TouchPhase.Moved;// 检测有手指触碰,并且在移动二、Input.GetKey 获取键在pc平台可以用作键位输入,它还有两位兄弟Input.GetKeyUp,Input.GetKeyDownvoid Update ()

2021-08-11 17:20:37 413

原创 每天一个API(四)MonoBehaviour

一、MonoBehaviour是什么?MonoBehaviour是每个脚本的基类.二、使用注意项每个Javascript脚本自动继承MonoBehaviour,使用C#或Boo时,需要显式继承MonoBehaviour.代码如下(示例):using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using UnityEngine; public class Mictest

2021-07-23 16:13:59 425 2

原创 每天一个API(三)Time类

一、Time.time时间从游戏开始到到现在所用的时间(只读)。 会随着游戏的暂停而停止计算。二、Time.timeSinceLevelLoad 加载关卡时间此帧开始的时间(只读)。这是以秒计算到最后的关卡已经加载完的时间。也就是说,从最后加载的关卡到现在所用的时间。三、Time.deltaTime增量时间按照秒来计数,完成上一帧的时间(只读),这个通常为了表示平均速度时加上的,但是我看了一下大神的理解和分析,感觉水还挺深的有兴趣的可以看看。四、Time.fixedTime 固定时间最近的Fi

2021-06-29 17:23:17 273

原创 如何拿到指定文件的父目录

昨天也是因为这个问题,想了好久,还是我太菜了,记录一下。代码如下(示例):StartProcess(messages[i]._path);Directory.SetCurrentDirectory(Directory.GetParent(messages[i]._path).FullName);string parentPath = Directory.GetCurrentDirectory();UnityEngine.Debug.Log(parentPath);...

2021-06-29 09:28:28 248

原创 每天一个API(二)执行顺序

一、ResetReset是在用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值。(注意只在编辑模式下被调用,很奇葩有没有)。二、AwakeAwake用于在游戏开始之前初始化变量或游戏状态。在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如 GameObject.FindWithTag 这样的函数搜索它们。每个游戏物体上的Awake以随机的顺序被调用。因

2021-06-28 17:12:03 141

原创 每天一个API(一)Gameobject

一、Gameobject是什么?Gameobject是Unity场景里面所有实体的基类.二、都包含那些属性1.isStatic当你在场景中新建一个游戏对象时首先会看这个物体是设成动态还是静态的,才会有进一步的操作。2.transform如果物体是动态的,我们就可以规定他的位置,旋转方向,移动方向,移动角度等等。例如:Transform.Translate3.rigidbody刚体:有了刚体之后呢,游戏对象就有了重力啊,阻力啊这些东西,就能产生碰撞了。4.camera相机:相机也属于Ga

2021-06-24 15:23:48 215 3

原创 unity打包和去除logo动画

后台运行去动画

2021-06-23 10:33:34 2079 3

转载 unity之socket通信

今年3D产品的工作中心主要集中在提高产品深度上,通过对竞争产品的分析,发现我们的缺陷在于多人在线与后台管理部分,多人在线使用unity自带的Network可以搞定,后台部分前段时间主要研究了下Sqlite。由于sqlite本身不带服务器,作为数据库只是一个文件,sqlite放在服务器上与客户端通信的需求其实就是多个客户端访问同一个文件了,查了一些资料,有很多方法,个人感觉socket不错,一来应用广泛,自己学习后也是一个充电,而来操作灵活,比作文件共享更自由。所以就学习学习了。基于TCP协议一个很重要的概

2021-06-03 18:16:30 675

原创 Unity之Dotween

前言今天一个偶然的机会用到了Dotween这个插件,好用算不上吧,但是比iTween好很多,给大家分享一下。一、Dotween使用首先要了解关于Dotween的方法。(Tweener:补间动画)1.以DO开头的方法:就是补间动画的方法。2.以Set开头的方法:设置补间动画的一些属性。3.以On开头的方法:补间动画的回调方法。二、使用步骤1.引入库代码如下(示例):DOTween需引入的命名空间:using DG.Tweening;2.正式使用代码如下(示例): public v

2021-05-24 17:29:12 507

原创 【Unity】强制设定分辨率(全屏化)

1.代码块代码如下(示例):using System.Collections;using System.Collections.Generic;using UnityEngine;public class HScreenSet : MonoBehaviour { private void OnEnable() { Resolution[] resolutions = Screen.resolutions;//获取设置当前屏幕分辩率 Screen.

2021-05-19 14:50:59 2344 2

原创 unity Json与字符串互转

这里用到的是JsonUtility二、代码块1.模型类代码如下(示例): public class HFunction//数据中的一个小单位 { public string _company = "UnKnown"; public string _tel = "UnKnown";//对应名称 public string _key; public string _dateTime; public st

2021-05-19 14:19:36 1284

原创 Drawcall简析

关于unity优化,DrawCall肯定占了比较重要的一部分,下面我们就简单了解一下什么是Drawcall。什么是DrawCall?在电脑运行层面理解:rawcall是CPU对底层图形绘制接口的调用命令GPU执行渲染操作,渲染流程采用流水线实现,CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。这里drawcall影响绘制的原因主要是因为每次绘制时,CPU都需要调用drawcall而每个drawcall都需要很多准备工作,检测渲染状态、提交

2021-05-19 12:21:50 455

原创 单例模式简介

单例模式学习心得:其实菜鸟才想用好单例,最重要的是想怎么样用少单例。越少越好。简单介绍所谓的单例:简单的理解呢就是你认为一些东西在整个游戏中只有一个而你又想可以方便地随时访问它,这时你就可以用到单例模式了,其实就是把方法公共化了,那么问题来了搞一下静态方法不香吗?其实可以这样理解:类的静态成员变量就是指的类共享的对象,而单例模式的对象设成静态就是为了让该类所有成员共享同一个对象。二、 两种模式1. 饿汉式代码如下(示例):public class EagerSingleton { priv

2021-05-19 10:40:39 80 3

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除