自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 unity四元数学习总结--FromToRotation

上节介绍了,算是LookRotation的内部实现,这一节来介绍下unity的FromToRotation函数。FromToRotation(from,to)这个函数主要的作用是计算将物体从一个旋转态转移到另一个旋转态的四元数,即将from旋转至to需要的四元数,与上一节不同的时,此时旋转对应欧拉角Z分量不一定为0了。(1)FromToRotation 计算公式主要计算思路是分别将两...

2019-08-11 23:51:01 5200

原创 unity四元数学习总结--LookRotation

最近工作内容主要是四元数方面,所以在此对unity的四元数做一个总结,也防止以后自己遗忘。在计算机图形学中,旋转的表示主要包括矩阵、四元数、欧拉角,当然还有轴角对的方式。这几种方式各有优劣,并且相互之间可以互相转化。矩阵形式主要是计算比较方便,直接使用矩阵的乘法就可以完成旋转操作,通常情况下使用其他形式描述旋转也是转换为矩阵的形式进行计算,矩阵的缺点是需要采用九个数字记录旋转状态,占用内存...

2019-08-11 19:07:10 1259 1

原创 方向向量转四元数

之前写过一篇方向向量转欧拉角的,相对来说欧拉角还是有一些限制,现在研究下方向向量转四元数公式。该四元数能够使方向向量从Z轴(0,0,1)旋转至(X,Y,Z)。四元数可以理解为绕某轴(x,y,z)旋转角度w,记为(cos(w/2),sin(w/2)x,sin(w/2)y,sin(w/2)z)。需要注意的是,对于四元数来说,如果对应的四个值都互为相反数,可以理解为这两个四元数对应的旋转相同。比...

2019-08-01 00:28:14 8368 3

原创 方向向量转欧拉角

最近需要通过方向向量转换为欧拉角,做个记录unity中,在世界坐标系下,物体的旋转次序是z x y,方向向量仅仅可以提供x和y方向的旋转信息。方向向量(X,Y,Z)对应的欧拉角为向量(0,0,1)即Z轴旋转到(X,Y,Z)方向对应的欧拉角。C#下计算代码为 public Vector3 LookRotation(Vector3 fromDir) { Vec...

2019-08-01 00:14:47 13106 6

原创 UE4学习(五)蓝图学习

主要学习了Event、Construction、变量、循环、宏、蓝图通信等。先放这,之后补充。

2019-06-13 14:47:01 480

原创 UE4学习(三)Action Rpg源码学习1

Action Rpg的学习需要有FPS基础,因此首先对之前了解过的FPS demo工程简要总结。(1)更改默认Maps加载,先将map存储在文件夹里,再将Maps更改为Editor startup map。(2)调试信息显示 GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World,...

2019-06-11 15:41:08 2091

原创 UE4学习(二)蓝图和C++的选择

平衡蓝图与C++一文中讨论了C++和蓝图的选择问题,对自己的理解做一定的记录。C++的优势:更快的运行时性能,C++逻辑比蓝图要快很多。显示设计,更易维护更广泛的访问:可以从其他系统访问C++函数和变量更强的数据控制网络复制:支持时序和带宽控制数学计算:相较于蓝图数学计算更方便也更快蓝图的优势:更快的创建和迭代:方便创建并且编译速度更快流程更直观:蓝图能很直...

2019-06-11 14:29:11 4323

原创 UE4学习(一)C++编程官方文档解读

文档地址:https://docs.unrealengine.com/zh-CN/Programming/Introduction/index.html文档详细介绍了C++编程的基础,一些宏和常用变量,做下总结(一)文档一开始介绍了Actor继承类编程的一些相关知识,以及一些有关UPROPERTY和UFUNCTION相关的简单介绍,之后简单介绍了蓝图。(二)之后就是深入介绍主要的类...

2019-06-10 20:41:00 1867

原创 UE4学习总结

最近在学习UE4,做一下总结。本次实现了一个小demo,demo的网址如下https://docs.unrealengine.com/zh-CN/Programming/Tutorials/UMG/index.html主要实现了UE4的虚幻运动图形UMG,可以实现button一类的UI。本次demo学习的总结如下:(1)UMG依赖于一些模块,为了使用UMG需要添加一些模块到*_Buil...

2019-06-09 19:44:49 2684

原创 算法(第四版)读书笔记--排序(5)优先队列

优先队列主要用来处理部分有序的问题,例如N个元素抽取M个最小元素,堆是可以处理有限队列的一种方式,需要注意的是堆有序不等同于数据有序。二叉堆可以保证每个节点的数据都大于或者小于他的子节点,前者叫做最大堆,后者叫做最小堆,可以分别处理抽取出最小值和最大值的问题。以最大堆为例,如果要从M个数据中抽取N个最小的,每次新数据和堆顶最大值进行交换,然后采用下沉的方式保证堆有序,可以获取N个最小值。最大堆实现...

2019-03-25 22:12:11 188

原创 算法(第四版)读书笔记--排序(4)快速排序

快速排序比归并排序稍快,但是不需要辅助栈,普通的快速排序实现如下 /// <summary> /// 快速排序 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="v"></param> ...

2019-03-22 19:41:43 219

原创 算法(第四版)读书笔记--排序(3)归并排序(自顶向下)

归并排序的主要算法为将两段有序数据合并为一段有序数据,通过递归调用的方式可以实现归并排序。归并排序的复杂度为6NlogNusing System;using System.Collections.Generic;public class Sort_Merge{ /// <summary> /// 归并排序 /// </summary>...

2019-03-22 11:31:44 225

原创 算法(第四版)读书笔记--排序(2)希尔排序

希尔排序是基于插入排序的快速的排序算法,中心思想是一个h有序数组就是h个互相独立的有序数组组成的。代码如下public class Sort_Shell{ public static void Sort<T>(List<T> v) where T : IComparable { int N = v.Count; in...

2019-03-21 23:21:38 111

原创 算法(第四版)读书笔记--排序(1)API的定义以及选择排序、插入排序

最近在看算法第四版,做一个读书笔记,本文的所有实现基于C#书中对排序的主要分类为初级排序算法归并排序、快速排序、优先队列,本节主要介绍API以及选择排序、插入排序。一、API定义利用面向对象编程的思想,我们可以定义一个类,仅向外部提供少量接口,复杂的内部实现由我们完整,使用时他人只需要知道每个结构的功用,不需要知道内部实现,并且以后优化也较为方便。排序算法的模板:publi...

2019-03-21 20:11:18 216

原创 unity 代码更改图片配置

/// &lt;summary&gt; /// texture格式设置 /// &lt;/summary&gt; void FormatTexture(Texture2D texture) { //拷贝配置文件时会自动更改配置 return; if (texture == null) retu...

2018-09-11 16:56:40 2691

原创 Unity NPOI读写2003

#region Excel2003 public static void CreatExcel2003() { HSSFWorkbook hssfworkbook = new HSSFWorkbook(); ////create a entry of DocumentSummaryInformation DocumentSum...

2018-09-11 14:48:21 799

原创 Unity Excel读写效率优化

在我的上一篇博文: unity Excel读写 实现了unity下的Excel读写,但是这种读写方式在大规模读写的情况下,比方说次数过万的情况下,时间会很糟糕,所以本文提出了一种优化方法做优化,不多说,先放优化结果可以看到,30万次的写入总共花费时长5s,没有改进的话写入几百次花费的时间就会超过这个时间。30万次读取总共花费7s。大概的思路就是之前的读写每次都会New很多类出来,new...

2018-09-07 10:45:47 916 1

原创 unity Excel读写

最近项目 需要用到Excel读写相关的功能,这里做一些记录。写入Excel: using System.IO; using OfficeOpenXml; /// &lt;summary&gt; /// 写入excel /// &lt;/summary&gt; /// &lt;param name="text"&gt;要写入的文本&lt;/pa...

2018-09-06 21:38:37 1147

原创 Unity学习笔记-shader基础学习(一)

最近在看一个大佬的知乎专栏,并且自己跟着大佬的代码做了一遍,文章主要是关于图文混排的,所以写下这篇文章做个笔记。代码主要包括两部分,一部分是shader的,用来生成材质,另一部分是C#代码,使用shader,做一定修改之后,两者结合能够在屏幕上生成任意颜色、任意大小的纯色区域。首先是生成纯黑区域:shader部分:Shader "Custom/Learn" { Properties { _...

2018-06-04 15:26:13 387

原创 代码整洁之道-读书笔记(三)第三章 函数

本章主要从函数的角度讲述如何写出整洁的代码。短小        函数应该不多余20行,函数的缩进层级不应该多于一层或者两层。这样的函数便于阅读和理解。只做一件事        为了保证短小,保证易于理解和阅读,函数应该只做一件事,做好一件事。每个函数一个抽象层级        为了确保函数只做一件事,函数中的语句要在同一个抽象层级上。        为了搞清楚抽象层级,我们需要明白一个概念。   ...

2018-06-01 11:27:10 278

原创 代码整洁之道-读书笔记(二) 第二章 有意义的命名

    第二章主要讲述的是命名的技巧和重要性。    文中提到的好名字的几条规则: 1、名副其实:每个名字都和他具体实现的功能有关,做到看到这个名字就能知道它是用来做什么的。 2、避免误导:避免使用与本意相悖名字以至于对读程序的人造成误导。还有一个误导的典型例子是字母l和O作为变量名,会与数字1和0混淆从而造成误导。3、作出有意义的区分:a an 的区分就没有意义,如果两个变量或者函数的功能不同,...

2018-06-01 10:28:08 425

原创 代码整洁之道-读书笔记(一):第一章 整洁代码

开篇主要讲了一些简单的思想,以及一些整洁代码的必要性

2018-06-01 09:55:26 204

空空如也

空空如也

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

TA关注的人

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