- 博客(10)
- 收藏
- 关注
原创 Bresenham算法--计算机图形学
Bresenham画线算法:在计算机中由像素构成的点很难直接画成直线,一般通过确定离散在直线附近的点来近似的确定直线。Bresenham算法可以通过确定直线附近的离散点来画线,同样可以运用于画圆。(1)具体例子解释:在这个例子中,我们以单位x间隔取样,需要确定每次取样时两个可能的像素位置中的哪一个更接近于线段的路径如图,从图6.4的左侧开始,第一个点如果是(10,11),那么下一个点可能是(11,11),也可能是(11,12),同理图6.5的左侧开始,第一个点如果是(50,50),那么下一个点可能是
2021-03-30 14:57:30
2645
1
原创 DDA算法--计算机图形学
DDA算法1.直线方程:笛卡尔斜率截距方程 y=mx+b。通过转换得到对于任何沿直线给定的x增量δx,对应的y增量δyδy=mδx(1.1)同样,可以得出对应于指定的δy的x增量δxΔx=δy/m(1.2)对于具有斜率绝对值|m|<1的直线,可以设置一个较小的水平偏转电压δx,对应的垂直偏转电压可以通过(1.1)来定;而对于斜率值|m|>1的直线,则设置一个较小的垂直偏转电压δy,对应的水平偏转电压则由(1.2)计算出来的δx来设定;对于斜率m=1的直线,δx=δy,因为水平偏转和垂
2021-03-29 14:36:37
7196
原创 Unity学习--动画系统DoTween
Unity学习–动画系统DoTween1.简单的数值改变来影响位置的改变(1)通过改变数值Value的值,从而影响附在物体的坐标值(2)脚本如下using System.Collections;using System.Collections.Generic;using UnityEngine;using DG.Tweening;public class GetStart : MonoBehaviour{ public Vector3 myValue = new Vector3(
2021-03-08 19:15:04
843
2
原创 Unity学习-导航寻路系统(Navigation)
Unity–导航寻路系统(Navigation)1.静态简单导航(1)不改变导航期间,路障的情况,并且不能进行跳跃类操作,即连续不跳跃类<1>首先建立如下模型,其中四周墙壁和中间的黄色墙壁为障碍物,胶囊和小球分别为起点和终点。要求:胶囊从起点位置出发,绕过四条黄色的柱子,到达小球位置。<2>选择地面和所有障碍物点开箭头。将这些调整为Naviagtion static类型<3>选择capsule,添加脚本和Nav Mesh Agent组件using S
2021-03-08 15:50:27
3770
1
原创 Tower Defense复习第三篇
UGUI学习1.Canvas--画布2.Canvas Scaler Mode3.Graphic Raycaster4.Text5.Image6.RawImage7.Button8.Toggle9.Slider10.Scrollbar11.Scroll View12.Dropdown13.InputField1.Canvas–画布Canvas画布是摆放所有UI的区域,场景中所有的控件都会转化成Canvas游戏对象的子对象,每次创建一个UI对象的时候,Canvas会自动创建,并且会自动创建一个EventSy
2021-03-02 20:17:27
570
原创 游戏编程模式学习 第二章:享元模式
享元模式: 换句话说就是共享对象,在某些对象需要重复创建,且最终只需要得到单一结果的情况下使用享元(Flyweight),顾名思义,一般来说当你有太多对象并考虑对其进行轻量化时,他便能派上用场。享元模式通常将对象数据切分成两种类型来解决问题。第一种是类型数据是那些不属于单一实例对象并且能够被所有对象共享的数据。GoF将其称为内部状态(the intrinsic state),其他数据便是外部状态。主要目的: 在程序设计时,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例数据除了几个参数外基
2020-11-28 20:40:22
201
2
原创 游戏编程模式学习:第一章命令模式
命令模式:将一个请求封装成一个对象,从而允许你使用不同的请求,队列或者日志将客户端参数化,同时支持请求操作的撤销与恢复;主要目的该设计模式主要是为了隔离请求和实际执行者之间接触,实现两者的解耦。所有的请求统一有一个类负责该类负责管理这些请求。这样命令对象和接收者之间的耦合度就会降低。命令对象不用直接施加命令到接收者上。而会通过施加命令到命令接口,通过命令接口实例化出来一个相应的命令,从而施加到接收者上。具体例子:1.我们去餐厅吃饭,我们是通过服务员来点菜,具体是谁来做这些菜和他们什么时候完成的
2020-11-22 16:18:59
150
1
原创 Tower Defense 复习第二篇
有关携程的学习协程:协同程序,在主程序运行的同时开启另一端逻辑处理,来协同当前程序的执行开启协同的两种方式:1.StartCoroutine(string methodName)注意:(1)参数是方法名,此方法可以包含一个参数(2)形参方法可以有返回值2.StartCoroutine(IEnumerator method)注意:(1)参数是方法名,方法中可以包含多个参数(2)IEnumerator 类型的方法不能含有ref或者out类型的参数,但可以含有被传递的引用(3)必须有返回值,
2020-11-18 21:43:47
164
1
原创 Tower Defense 复习第一篇
Tower Defense 复习第一篇碰撞器有关学习要产生碰撞必须为游戏物体添加刚体和碰撞器,刚体的作用是让物体能够在物理的影响下运动发生碰撞的的必要条件两个物体必须带有碰撞器(Colider),其中一个物体还必须带有Rigidbody刚体或者charactercontroller组件unity3d中的碰撞器和触发器的区别?碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnt
2020-11-17 20:53:08
177
原创 C#线程有关的学习
C#线程有关的学习1.线程线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。线程的生命周期线程生命周期开始于 System.Threading.Thread 类的对象被创建时,结束于线程被终止或完成执行时。未启动状态:当线程实例被创建,但Start方法未被调用就绪状态:当线程准备好运行并等待cpu轮转周期时的情况不可运行状态:已经调用Sleep方
2020-10-18 20:30:53
69
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人