- 博客(104)
- 收藏
- 关注
原创 numpy.argwhere 与 numpy.where的区别
ar = np.array([1,2,3,4])b = np.argwhere(ar==4)print(type(b))print(b)#结果:<class 'numpy.ndarray'>[[3]]ar = np.array([1,2,3,4])b = np.where(ar==4)print(type(b))print(b)#结果:<class 'tuple'>(array([3], dtype=int64),)
2021-03-29 10:37:26
2940
原创 python numpy 基础【1】
import numpy as npa = np.arange(15).reshape(3, 5)aarray([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])a.shape(3, 5)a.ndim2a.dtype.name'int64'a.itemsize8a.size15type(a)<class 'numpy.ndarray'>b = np.a.
2021-03-04 20:17:43
393
2
原创 python pandas 基本【1】
数据类型pandas中最基本的数据类型是DataFrame,二维的表格其中每一列的数据类型是Series,列表import pandas as pddf = pd.DataFrame({'name':['Kang','Xi','Pei'],'age':[18,22,23]})#可以将字典类型的数据作为参数创建DataFramesr = df['name']#通过每列的label来得到每列的数据seriessr1 = pd.Series([18,22,23],name='age')#创建
2021-03-04 19:16:10
451
1
原创 Python 文件路径的相关问题
1.首先区分正斜杠/与反斜杠在python中使用反斜杠来写文件路径2.简单路径,相对路径file\data.xlsx3.回到上一层文件夹…\file\data.xlsx4.当前层.\file\data.xlsx其实基本同2一样,可以将.\省略
2021-03-04 12:51:41
239
1
原创 Simulink 学习
一、模块(block)介绍simulink就像是Unity的shader graph或者visual effect graph。通过拖动一个个block,实现功能的组合,最终达成目的。simulink的目的当然就是建模。所以simulink就是拖动一个个block,将他们组合起来,以建立我们的模型,然后进行仿真研究。系统相关subsystem 子系统。用于实现复杂模型的嵌套inport 输入口outport 系统的输出口Signal Builder block 可以导入excel的...
2020-08-28 11:56:52
2422
原创 Unity Timeline的拓展,如何写脚本 【待写】
1、Timeline结构介绍首先,一个Timeline是由多个track组成。每个track又是又多个clip组成。如下图所示。这是一个动画的track。在后面,放着的idle、walk等都是一个个的动画clip。随着时间的进行,后面这些动画clip都会使用到挂在的物体上,让他做出这一个个动作。除了track、clip之外,上图中还有behaviour。正如名字一样,他是定义行为、掌管逻辑的东西。每一个clip都有其自己的行为。比如动画clip就可以将动画的数据作用到对应的物体上,声音clip就
2020-08-15 11:29:16
2646
原创 Unity Editor 编辑器拓展 03——自定义Inspector面板
当一个类继承自MonoBehaviour和ScriptableObject时,可以在Inspector面板中修改数据。如何让Inspector面板按照需要显示,就显得很重要。本片文章分多节讲解。涉及CustomEditor,CanEditMultipleObjects,CanEditMultipleObjects, OnInspectorGUI ,SerializeField,MonoBehaviour.OnValidate() 。撤销用到的Undo,SerializedObject, Seriali.
2020-08-11 18:26:42
1133
原创 Unity Editor 编辑器拓展 10——PropertyDrawer 属性绘制器
描述用于从中派生自定义属性绘制器的基类。使用此基类可为您自己的Serializable类或者具有自定义PropertyAttribute的脚本变量创建自定义绘制器。PropertyDrawer 有两种用途:- 自定义Serializable类的每个实例的 GUI。- 自定义具有自定义PropertyAttribute的脚本成员的 GUI。如果您有自定义的Serializable类,可以使用 PropertyDrawer 来控制它在 Inspector 中的外观。 请参考以下...
2020-08-11 18:26:38
2138
1
原创 Unity Editor 编辑器拓展 07——GenericMenu 选项菜单
GenericMenuclass in UnityEditor描述GenericMenu 允许您创建自定义上下文菜单和下拉菜单。下面的示例打开了一个带有按钮的编辑器窗口。单击该按钮可显示上下文菜单,您可以通过该菜单更改应用于窗口中 GUI 的颜色。将示例的内容复制到名为 GenericMenuExample.cs 的脚本中,然后将其置于您项目中的 Editor 文件夹内。.using UnityEngine;using UnityEditor;public class Gener
2020-08-11 18:26:26
2425
原创 Unity Editor 编辑器拓展 11——SerializedProperty 和 SerializedObject 的使用
在自定Inspector面板的时候,经常会使用到SerializedProperty 和 SerializedObject。使用这两个类可以十分方便的进行数据的显示与处理。他们自带撤销记录。使用的Unity内置的设定序列化数据。与别的GUI控件搭配十分相称。SerializedProperty的坑其在调用DeleteArrayElementAtIndex()的时候不会自动调整列表,而是会在index处留下null。所以要想删除列表中的某个元素,需要对同一个Index...
2020-08-11 17:21:44
4211
原创 Unity Editor 编辑器拓展 09——Scene视图中编辑器拓展
Scene 视图添加可以通过在自定义编辑器中实现 OnSceneGUI 来向 Scene 视图添加额外代码。OnSceneGUI 的运行方式很像 OnInspectorGUI - 只不过在 Scene 视图中运行而已。为了方便在 Scene 视图中创建自己的编辑控件,可以使用在Handles类中定义的函数。其中的所有函数都是为 3D 模式的 Scene 视图设计的。//C# 示例 (LookAtPointEditor.cs)using UnityEngine;using UnityEd..
2020-08-11 13:02:55
476
原创 Unity Editor 编辑器拓展 01——创建一个独立的编辑器窗口
1.using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;//窗口类需要继承自EditorWindowpublic class MyWindow : EditorWindow{ //窗口需要一个打开的方式 //MenuItem属性会在编辑器菜单上创建对应的选项 //点击选项即可创建窗口 [MenuItem("Window/M
2020-08-11 12:07:11
1760
原创 Unity Editor 编辑器拓展 08——各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility、
EditorGUIUtilityclass in UnityEditor/继承自:GUIUtility描述EditorGUI的各种辅助程序。静态变量currentViewWidth 当前 EditorWindow 或其他视图的 GUI 区域的宽度。 editingTextField 文本字段是否正在编辑文本? fieldWidth 为 Editor GUI 控件字段保留的最小宽度(以像素为单位)。 hierarchyMode Editor G.
2020-08-11 12:05:16
3474
原创 Unity Editor 编辑器拓展 05——序列化
Unity有一个接口可以在序列化和反序列化时调用。ISerializationCallbackReceiver现在一个MonoBehaviour脚本实现这个接口,写了如下两个方法。OnBeforeSerialize()在序列化前调用。只要不对该脚本的数值进行更改,一直在调用。OnAfterDeserialize()在反序列化后调用。只有在对脚本的数值进行更改的时候,才会调用。...
2020-08-09 18:25:09
665
原创 Unity Editor 编辑器拓展 05——IMGUI的学习 续 EditorStyles
与第四章同样的,先来分析一下EditorGUILayout.IntField()的重载函数。简直跟第四章分析GUILayout.Button的重载函数的一模一样,有木有。关于参数的选取与使用,直接参考第四章的例子即可。这里说比较特别的一点,GUIStyle。有一个类叫EditorStyles。它有超多的静态变量,并且这些静态变量的返回值全都是GUIStyle类型。也就是说,我们可以通过EditorStyles类,更加简单的获取到转为编辑器界面定制好的GUIStyle。比如 GUIL
2020-08-09 13:45:38
898
原创 Unity Editor 编辑器拓展 02——GUI与GUILayout与EditorGUI、EditorGUILayout 属性详解
经过学习,发现GUILayout类,EditorGUILayout类在混合使用。并且这两个类有很多的控件并不知到如何使用。下面决定深入学习。GUILayout控件列表 Button 按钮 Label 创建一个自动布局标签。 Space 在当前布局组中插入空白元素。 TextArea 创建一个可供用户编辑字符串的多行文本字段。 TextField 创建一个可供用户编辑字符串的单行文本字段。 Toggle 创建一个打开/关闭的开关按钮。
2020-08-09 13:33:41
10616
原创 Unity Editor 编辑器拓展 04——IMGUI的学习、GUIStyle、GUISkin、GUILayoutOption
IMGUI是可以在运行时绘制的UI系统。因为全部都是代码搭建的UI,所以并没有UGUI适合游戏中显示,主要用于工作人员调试用。因为GUI和GUILayout可以用来绘制Editor界面,所以在Unity编辑器拓展里面开一专题进行IMGUI的讲解。GUI和GUILayout的区别就不详述了。GUILayout是带有自动布局功能GUI。如果想更加自由的定制UI界面的话,当然是使用GUI类。以01章的窗口为背景先分析一下GUILayout.Button的重载函数可以看到,有6个重载,.
2020-08-09 13:27:58
3121
原创 Unity Addressables 的使用
1加载资源和实例化using System;using System.Collections;using System.Collections.Generic;using UnityEditor.Experimental.SceneManagement;using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement.AsyncOperations;public c.
2020-07-22 11:59:45
4733
1
原创 NewtonJson 的使用
string jsonstr = JsonConvert.SerializeObject(mCountList);序列化的对象里面的属性必须要是public才会被序列化,不然是空的值
2019-09-21 11:27:02
2937
1
原创 如何使技能快速精进
这里说的快速成长不是指人生理上的growth,而是指人对于一个技能的学习如何快速精进。我简单概括就是,高完成度的呈递增式的完成每一次的练习。首先技能是需要经过学习与练习两个阶段来达到精通的。学习我不予多谈,它很重要,但不知这篇文章的重点。这篇文章的重点落在练习两字上。如何练习?我用了高完成度和递增式两个修饰词。高完成度是指我做的这个练习一定要充分,它必须要充分地锻炼我的能力。比...
2019-09-01 09:57:23
615
转载 C#中的语法糖
原地址https://www.cnblogs.com/yukaizhao/archive/2010/05/25/csharp-Syntactic-sugar.htmlhttps://www.cnblogs.com/dotnet261010/p/6055092.html首先需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换;而且可以提高开发编...
2019-07-17 09:02:51
477
原创 程序设计之句柄 Handle
假如我们现在做游戏遇到了这么一个需要。我们想做一个资源管理系统。这个资源管理系统负责将同一种资源给不同的模块使用。比如一个音乐资源,我需要在UI中使用这个音乐资源,我也可能需要在人物使用技能的时候触发这个音乐。那么我们的资源管理器只需要在内存中存一份这个资源,UI模块与技能模块就都可以使用这份资源了。那么问题来了,如果我在另一个模块中将这个音乐资源从内存中销毁了,而这时UI模块还在调用这个资源...
2019-05-06 13:05:42
810
原创 C# IO StreamWrite案例讲解
案例1在指定路径创建一个文本文件,如果文件存在则可以在文件中继续添加文字,如果文件不存在则创建文件。StreamWriter ss = File.AppendText(pathRoot + "/" + "test.txt");ss.WriteLine("1");ss.WriteLine("2");ss.Close();这里File.AppendText就是创建一个写入流...
2019-04-29 16:46:06
2758
原创 Vector3.Lerp与Vector3.LerpUnclamped
Vector3.Lerp线性差值。Vector3Lerp(Vector3a,Vector3b, float t)返回一个Vector3的值。Vector3 retrun= new Vector3( (b.x-a.x)*t , (b.y-a.y)*t , (b.z-a.z)*t )也就是说,t为0,返回a。t为1,返回b。但是这里也有特殊情况,当t大于1时,返回的还是b...
2019-04-26 23:54:42
5449
1
原创 Matlab的小笔记
clcclearsin(pi*a*b)plot(a+b) //画图size() find matrix sizeb = a'c= a.*binv(a) return inverse of a // a的反数a(2,3) 矩阵的第2row , 第三listdata(1:3,2:end) 1-3row and 2-end columndata(1:2, : ) =...
2019-04-24 19:49:55
119
原创 关于刚体Rigidbody2D与FixedUpdate的一些问题
在Rigidbody2D中有一些移动的方法可以调用,如MovePosition。这里再MovePosition的使用中,一定一定要注意这个函数只会在每一次FixedUpdate中更新,每一个FixedUpdate只会调用一次这个函数。也就是说,如果我在一个物体的一个FixedUpdate函数中调用两次这个MovePosition函数,那么第一次函数会被第二次函数给覆盖掉,在每次Fixe...
2019-04-04 12:50:25
1002
原创 Unity编辑器拓展学习安排
学习几个类Editor:OnInspectorGUI :控制Inspector监视面板的显示OnGUI:当创建一个新的EditorWindow时,我们在这里写window的显示OnSceneGUI:当需要在Scene视图中显示一些东西的时候,我们在这里写东西。如Handle,如Handle.GUIArea里面写GUItargetDrawDefaultInspectorR...
2019-03-26 20:06:51
236
原创 Shader学习 (一) GPU与CPU 和 GPU渲染管线
本系列作为我学习的一个记录,可能记载的不是很详细。一、GPU与CPUGPU经过了几代的发展,目前GPU已经具有了顶点编程与片段编程的能力。GPU里面有很多的逻辑运算单元,相比CPU多得多。对于相互没有关联的大量数据,使用GPU进行处理会非常快,比CPU快。GPU有进行大量并行计算的特性(注意,每个数据必须没有关联)。而CPU里面有很多的寄存器与控制器,CPU之所有没有被GPU所取...
2019-03-22 18:21:00
906
原创 Unity之UniRX
UniRX好好用,我在这里做一个记录。一、Stream流的思想使用UniRx,就要使用响应式编程(Reactive Programming)的思想。那么响应式编程的思想是什么呢。可以类比面向对象的编程(OOP)——万物皆对象,响应式编程的思想是——万物皆可流。即什么东西都可以当做流来思考。具体可以参考https://zhuanlan.zhihu.com/p/27678951 这篇文章,里...
2019-03-16 13:43:42
2519
原创 C# List.Sort排序
在list的sort方法可以使用lambda表达式进行排序。在这里进行讲解一下 void Start () { List<int> ide = new List<int>() { 3, 4, 5, 2, 6, 3, 1, 3 }; ide.Sort((a, b) => {...
2019-03-13 19:11:22
493
原创 Unity Editor 编辑器拓展 Handle的用法
官方文档:https://docs.unity3d.com/ScriptReference/Handles.htmlhttps://docs.unity3d.com/ScriptReference/IMGUI.Controls.ArcHandle.html在编辑器中的OnSceneGUI()方法中可以写一些Handle。这个Handle是可视化操作控件。像我们在场景视图操作物体移动...
2019-03-08 22:39:26
1748
原创 DragonBones骨骼动画制作软件
一、导入项目1、该软件支持读取PSD格式,自动将各个图层分离出来然后生成项目。我们可以点击软件的帮助栏来获取相关的操作。2、自己创建一个项目二、骨骼动画的相关知识骨骼动画就是将贴图绑上骨骼,然后我们通过操作骨骼来使原本的贴图进行移动、旋转、变形等操作来形成的动画。在DB(DragonBones,以后简称DB)中,我们的骨骼结构是这样的。骨架——Bone root(...
2019-03-06 18:42:21
3075
原创 Unity中输入模块与控制模块与游戏实际表现的处理
向格斗游戏,我们通常有一个输入模块来处理我们输入的各项指令,如按下了什么键。控制模块就是处理游戏按键对应于什么游戏的表现,这个是一个映射的模块。比如,我按下了space键,那么人物就会跳跃。在我制作游戏过程中,发现这个控制模块很难写。比如我按space人物会跳跃一次,但是我想要人物可以二段跳,那么我就要修改这个控制模块。每一次我对控制模块的修改都会及其费时,并且思路不是很清晰。现在我来研究...
2019-03-03 20:10:47
856
1
原创 Unity中的一些小问题(一)
1、使用Instantiate()实例化一个游戏对象,这个游戏对象的名字后面会添加(Clone)字样。2、Unity中切换场景的画,场景中所有的物体都会被摧毁(除非你将他设为Dontdestroy)。所以需要注意,对于这些切换场景就会被摧毁的物体,如果再次引用他们的话,就会出现引用为空的错误。这个切换场景摧毁的物体有如下的细节。首先,摧毁物体,自然物体上所有挂载的组件也会被摧毁,同时你写的脚本...
2019-03-03 12:52:43
352
原创 Unity 好用的插件 汇总
ProGrid :插件附带网格,我们可以使物体像网格自动粘合。UniRx :一个很好用的插件。具体百度。ProBuilder :自带的建模插件CineMachine:一个Post Processing Stack:一个后期图像处理插件,可以改变图像的色彩冷暖(目前只知道这个功能),其实它的功能一定超级无敌爆炸强。TextMesh Pro :一个字体插件,...
2019-03-01 17:54:34
1851
原创 C# Reflection 反射 入门
在C#的using System.Reflection 中有反射这样一个东西。它可以获取一个程序集中命名空间,类,类成员的信息,就算是private的成员也会暴露出来(赤裸裸的~)。并且反射还可以使我们动态绑定对象(?应该是这样称呼),使得程序灵活性更大。 还可以结合工厂模式进行反射工厂模式的设计(这个是我一直想学习的,可以应用于游戏中的物品创建,技能创建)。好,讲了这么多,开始说反射。...
2019-02-27 19:36:20
217
原创 行为树
行为树有根节点,有控制流节点,处理节点。根节点没有父节点,只有一个子节点。控制流节点只有一个父节点,至少一个子节点。处理节点只有一个父节点,没有子节点。行为树的运行就是 从根节点以一定的频率发送tick给他的子节点。这个tick就是一个启用的信号,它允许子节点进行自己的处理。 当一个处理节点是是允许工作的时候,它向自己的父节点返回三种状态:如果工作完成了返回success,如果工作没有...
2019-02-26 18:37:11
1101
原创 Unity 2D 平台类游戏 人物移动 Rigidbody2D详解及其常用API
通常使用刚体与碰撞体共同构成人物移动的物理系统。有这么几点需要注意:1、动态刚体一旦与一个没有弹性的碰撞体碰撞了后,那么其速度立刻变为0,并且不会反弹回来,没有其他操作,其速度一直为0,并且只有动态刚体才能与其他的碰撞体发生反应,调用OnColliderEnter和OnTriggerEnter。2、动态刚体使用AddForce,它真的应用了物理模拟。也就是说,F*S=0.5*m*V^2...
2019-02-25 22:13:11
13514
原创 Unity RectTransformUtility 几个函数的详解
1、 RectTransformUtility.ScreenPointToLocalPointInRectanglepublic static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector3 worldPoint);根据屏幕坐标与相...
2019-02-24 15:46:26
9827
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人