Joker's Blog 
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •     

对Unity3D进行版本管理(一)

零,前言版本管理很常见,git也很常见,这其实都没啥好说的。我之前实习的时候也是用git管理的Unity项目。但是毕竟Unity存在许多的二进制文件,和很多大文件(github不允许超过100m的单个文件上传,超过50m就会警告)。每次更改一多,比方说导入什么3D模型之类的,就会合并很慢,而且仓库太大了,push和pull的速度也会大幅度下降。 因此我们需要用到Git LFS这个有趣的东西。 一,关于Git LFSGit LFS是一个git的拓展,在前几年的git版本中已经整合进去了。 其基本原理如下图所示,就是把一些大文件标记,然后单独的上传到一个服务器上。主仓库中只留下一个指向该文件的指针文件。这样可以避免主仓库过大。 二,实践基本上分为几步, 第一,先初始化我们的git repo,然后使用git lfs的初始化指令 git lfs install 然后可以使用该命令加上标记大文件 git track 比方说如下命令就是把当前目录下的所有的gif文件标记为大文件 git lfs track "*.gif" 当然我们也可以直接在项目的根目录下编辑
 2020-03-02   git    Unity  版本管理  git  git lfs 

CS61B第三周总结

第三周总结笔记CS61B的第三周主要是关于Java的单元测试,双向链表这两个部分 一,Java的单元测试与JunitJunt的一些基本用法。没啥好说的。详细的内容之后才有。 二,Java的接口,实现接口以及动态静态类型(1)接口实现interface implement和默认方法default关键字简单来说就是接口原先不能有方法体,但是从Java8开始接口可以先实现一个默认的方法体。采用default关键字。 (2)Static Type和Dynamic Type以及Dynamic Method Selection如下所示的一个例子。可以看到最后 a.flatter(d); 输出的是”u r cool animal”。这就涉及到所谓的Static Type和Dynamic Type以及Dynamic Method Selection。 Static Type和Dynamic Type定义如下 声明的类型是Static Type,而实例化的时候的类型是Dynamic Type 然后我们明确一下overriding重写和overload重载 overriding重写指的是子类或者接口
 2020-01-06   CS61B    总结  CS61B 

双端队列

双端队列的两种实现方式零,前言CS61B第三周的Project1A: 内容是实现Deque这种双向链表数据结构,底层的实现方式分别是基于内存不连续的链表和内存连续的数组 作业链接 一,基于链表的Deque:LinkedListDeque实现要求 public void addFirst(T item): Adds an item of type T to the front of the deque. public void addLast(T item): Adds an item of type T to the back of the deque. public boolean isEmpty(): Returns true if deque is empty, false otherwise. public int size(): Returns the number of items in the deque. public void printDeque(): Prints the items in the deque from first to last, sep
 2020-01-06   CS61B    CS61B  数据结构  链表 

计算机体系计划

计算机知识体系1,概述本文档是一个目录页,用于构建我个人的计算机知识体系,我将把计算机的各个领域相关的资料链接都放在这个页面上,同时我会写上一些自己的学习心得和如何使用这些资料。注意:我只放上链接,而不实际存储任何的内容。(本博客将会持续的更新) 2,Awesome list Github链接 点评:这个链接包含所有的你能想到的计算机领域的项目,非常推荐去看一看。 3,算法与数据结构 3.1 课程 伯克利CS61B (非常推荐,适合入门以及深入数据结构,spring2019版本较易入门,fall2019会难一些) 普林斯顿算法(老爷子是高德纳的弟子,讲的很好,也有assignment和project可以练习) 3.2 书籍 算法(第4版) (豆瓣) 算法导论(原书第3版) (豆瓣) 算法图解 (豆瓣) 4,编程语言 4.1 C/C++ 书籍 C++ Primer 中文版(第 5 版) (豆瓣) Effective C++ (豆瓣) 深度探索C++对象模型 (豆瓣) Effective Modern C++ 简体中文版 (豆瓣) 课程 4.2 Java 书籍 Java
 2020-01-03   计划    计划  计算机 

CS184 Project2总结

Project2 前言本次是CS184的第二个project,主要内容是贝塞尔曲线和曲面,样条和曲面细分。包含了CS184 Spring2019课程第八节和第九节。Section1 是关于贝塞尔曲线和曲面的,Section2 是关于三角形mesh的曲面细分。涉及实现贝塞尔曲面的de Casteljau’s 算法。曲面细分需要用到一种图形学相关数据结构,主要是halfedge mesh这种数据结构。参考这篇文章本次所有需要需改的代码均在student_code.cpp这个文件里。 Section I: Bezier Curves and SurfacesPart 1: Bezier curves with 1D de Casteljau subdivision题目介绍第一部分关于1D de Casteljau算法的实现,这个算法是比较常见的找到贝塞尔曲面上一点的方法。需要修改 BezierCurve::evaluateStep 这个函数,BezierCurve 这个类有一个控制点的vector ,提前会把控制点加载进来。 实现原理这个算法的原理参见下图,比方说一开始四个控制点(我称
 2019-04-17   计算机图形学    图形学  计算机课程  项目总结 

CS184 Project1总结

Project 1: Rasterizer 前言第一个project的内容覆盖CS184从spring2019第一课到第五课的内容,包含了三角形光栅化绘制,基本的矩阵变换和采样。总共是两个Section,七个part,由于第七个part属于个人自由发挥选做内容。。本人由于懒没有做,因此只有前六个part。Project1采用了CS184教学团队自己开发的GUI和图形库CGL,貌似是在OpenGL上封装了一层。详细的初始化说明请参考README.md。完整的参考实现请访问我的git repo。 Section I: RasterizationPart 1: Rasterizing single-color triangles题目介绍第一部分是光栅化三角形。这貌似是每个图形学入门课程开始必做的一个练习。在开始之前,建议先看一下这篇文章,讲述了图片如何以数据形式存在于计算机中。本题的目标是给定每个像素点,判断是否在三角形之内,如果是则将传入的颜色赋值给该像素点。只需要修改两个函数。(1)SampleBuffer::fill_color in drawrend.h (2)DrawRend
 2019-03-18   计算机图形学    图形学  计算机课程  项目总结 

2019年的展望

新年展望2019年的第一天,写一写对于新的一年的期望。距离我从伯克利(UC Berkeley)回到杭州已经过去了一个礼拜。接下来一月中下旬,面临两场考试,分别是软件工程和工程经济这两门水课。软件工程讲道理应该是一门挺融汇贯通的课程,奈何我们代码量太少,老师教的也不太行,就变成了比较水的课。对于我来说,应付应付考试就好啦。工程经济就更水了,都不想提。明天会去一家小公司面试游戏客户端的开发,希望能够成功。如果成功了,接下来的时间里就可以好好的做游戏开发,学学unity引擎的使用,了解了解游戏公司的开发流程。同时自己也尝试做自己的小游戏demo。说完了流水账的话,回到正题,来说说自己新的一年的展望和计划。 关于技术和理论知识(1)首先,是学习游戏开发,尤其是客户端这一块,对于unity引擎的使用,做几个自己的小demo,结合几本书。看《游戏编程模式》学学游戏开发中的设计模式。(2)把算法捡起来,用C#刷leetcode的题目,目标是在暑假再次找实习前做完300到400到题目,并且要做好个人的总结。(3)恶补数学,主要是为自己学图形学做准备。打算看完MIT的线性代数视频,并且做一些笔记和习题。
 2019-01-01   计划    杂谈 

Search

Hexo Fluid
 总访问量 次   总访客数 人