摘要: 【Unity3D】动画混合 1 简介 ​ 2D动画、人体模型及动画、人物跟随鼠标位置中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识及人体动画的应用,本文将进一步介绍动画混合。 ​ 实现动画混合有混合树(Blend Tree)和动画图层(Layers)两种方式: 混合树:将多个动画片段以位 阅读全文
posted @ 2023-03-20 21:33 little_fat_sheep 阅读(511) 评论(0) 推荐(0)
摘要: 【Unity3D】动画回调函数、动画事件、动画曲线 1 动画回调函数 ​ 动画回调函数是指动画在开始时、执行中、结束时回调的函数,主要有:OnStateEnter、OnStateUpdate、OnStateExit、OnStateMove、OnStateIK。 ​ 1)动画状态判断 Animator animator = GetComponent<A 阅读全文
posted @ 2023-03-20 21:08 little_fat_sheep 阅读(556) 评论(0) 推荐(0)
摘要: 【Unity3D】AudioSource组件 1 简介 ​ 1)AudioSource 与 AudioListener 简介 ​ AudioSource(音频源)组件用于控制播放 AudioClip(音频片段),能够控制 2D 和 3D(距离越远,声音越小)声音播放,它一般挂在产生声源的游戏对象上。 ​ AudioListener (音频监听器 阅读全文
posted @ 2023-03-20 21:01 little_fat_sheep 阅读(412) 评论(0) 推荐(0)
摘要: 【Unity3D】人物跟随鼠标位置 1 游戏对象 ​ 2D动画和人体模型及动画中介绍了 Aniamtion、Animator、人体模型、人体骨骼、人体动画等基础知识,本文将通过 “人物跟随鼠标位置” 案例加强对 Unity3D 动画的理解。 ​ 1)游戏界面 ​ 2)游戏对象 ​ 由于 Unity3D 官方人体模型(Ethan)皮肤是 阅读全文
posted @ 2023-03-20 20:58 little_fat_sheep 阅读(396) 评论(0) 推荐(0)
摘要: 【Unity3D】人体模型及动画 1 前言 ​ 2D动画 中初步了解了 Animation 和 Animator,本文将进一步学习 3D 动画,并介绍 人体模型相关内容。 ​ 模型制作软件主要有:3DMax、Maya,模型存储格式主要有:.max、.fbx、.obj,动画存储格式:.fbx,Unity3D 只支持 fbx 格式。 ​ 阅读全文
posted @ 2023-03-20 20:57 little_fat_sheep 阅读(1395) 评论(0) 推荐(0)
摘要: 【Unity3D】2D动画 1 图片处理 ​ 通过 PS 软件将以下 gif 文件中的黑色背景删除,并将其中的 18 个图层分别保存为 png 格式图片。 2 游戏对象 ​ 1)游戏对象层级结构 ​ 2)Transform组件参数 | Name | Type | Position | Rotation | Scale | Co 阅读全文
posted @ 2023-03-20 20:55 little_fat_sheep 阅读(361) 评论(0) 推荐(0)
摘要: 【Unity3D】场景切换、全屏_恢复切换、退出游戏、截屏 1 前言 ​ 1)场景切换 ​ 场景切换可以使用 SceneManager 的 LoadScene 和 LoadSceneAsync 方法,如下: public static void LoadScene(string sceneName) public static void LoadScene( 阅读全文
posted @ 2023-03-20 20:54 little_fat_sheep 阅读(1134) 评论(0) 推荐(0)
摘要: 【Unity3D】相机 1 简介 ​ 相机用于渲染游戏对象,每个场景中可以有多个相机,每个相机独立成像,每个成像都是一个图层,最后渲染的图层在最前面显示。 ​ 相机的属性面板如下: Clear Flags:设置清屏颜色,Skybox(天空盒)、Solid Color(纯色)、Depth Only(仅深度,画中画效果)、Do 阅读全文
posted @ 2023-03-20 20:54 little_fat_sheep 阅读(277) 评论(0) 推荐(0)
摘要: 【Unity3D】Tank大战 1 需求实现 ​ 项目代码见→坦克大战1.1.0 ​ 1)人机交互 玩家通过 ↑ ↓ ← → 键(或 W、S、A、D)键控制己方坦克平移; 玩家通过滑动鼠标右键控制己方坦克左右旋转; 玩家通过鼠标左键(或空格键)控制己方坦克发射炮弹; 玩家通过 ESC 键控制窗口全屏和恢复; 玩家通过 Q 键控制退 阅读全文
posted @ 2023-03-20 20:54 little_fat_sheep 阅读(511) 评论(0) 推荐(0)
摘要: 【Unity3D】角色控制器(CharacterController) 1 简介 ​ 控制角色移动的组件主要有:Transform 组件、Rigidbody 组件、CharacterController 组件。Transform 组件通过控制角色位置实现移动,Rogidbody 组件通过控制角色速度实现移动,CharacterController 组件通过控制角色速度和 阅读全文
posted @ 2023-03-20 20:52 little_fat_sheep 阅读(836) 评论(0) 推荐(0)
摘要: 【Unity3D】血条(HP) 1 需求实现 ​ 人机交互Input 中实现了通过键盘控制坦克运动,通过鼠标控制坦克发射炮弹,本文将在此基础上,增加血条(HP)功能。炮弹命中后,HP 值会减少,因此需要应用到 刚体组件Rigidbody 和 碰撞体组件Collider;从不同角度攻击敌人时,敌人的血条始终朝向相机,因此需要用到 相 阅读全文
posted @ 2023-03-20 20:52 little_fat_sheep 阅读(663) 评论(0) 推荐(0)
摘要: 【Unity3D】摇杆 1 需求实现 ​ 1)需求实现 鼠标拖拽摇杆球控制坦克移动; 上下左右按键也可以控制坦克移动,并且摇杆球也同步移动; 鼠标右键滑动,控制坦克转向; 相机在玩家后上方的位置,始终跟随玩家,朝玩家正前方看; 单击鼠标左键或按空格键控制坦克发射炮弹。 ​ 2)涉及技术栈 Transform组件 人机交互I 阅读全文
posted @ 2023-03-20 20:52 little_fat_sheep 阅读(400) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI回调函数 1 简述 ​ UGUI 回调函数主要指鼠标进入、离开、点下、点击中、抬起、开始拖拽、拖拽中、拖拽结束 UI 控件触发的回调。使用 UGUI 回调函数时,需要引入 UnityEngine.EventSystems 命名空间。 ​ 1) 回调函数 | 回调函数 | 接口 | 说明 | | | | | | 阅读全文
posted @ 2023-03-20 20:52 little_fat_sheep 阅读(354) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之布局组件 1 概述 ​ 布局组件主要有:水平布局(HorizontalLayoutGroup)、垂直布局(VerticalLayoutGroup)、网格布局(GridLayoutGroup),用于约束子控件的布局方式,这些布局都有以下共同属性: Padding:边距,父控件向内收缩的空间,子控件只能在此收缩空 阅读全文
posted @ 2023-03-20 20:51 little_fat_sheep 阅读(305) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之InputField 1 InputField 属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 InputField(输入框)控件,即可创建 InputField 控件,选中创建的 InputField 控件,按键盘【T】键,可以调整 InputField 控件的大小和位置。 ​ 创建 InputF 阅读全文
posted @ 2023-03-20 20:50 little_fat_sheep 阅读(456) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Slider 1 Slider属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Slider 控件,即可创建 Slider 控件,选中创建的 Slider 控件,按键盘【T】键,可以调整 Slider 控件的大小和位置。 ​ 创建 Slider 控件时,系统会自动为其创建 3 个 Image 阅读全文
posted @ 2023-03-20 20:50 little_fat_sheep 阅读(449) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Toggle 1 Toggle属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Toggle 控件,即可创建 Toggle 控件,选中创建的 Toggle 控件,按键盘【T】键,可以调整 Toggle 控件的大小和位置。 ​ 创建 Toggle 控件时,系统会自动为其创建 2 个 Image 阅读全文
posted @ 2023-03-20 20:50 little_fat_sheep 阅读(630) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Dropdown 1 Dropdown属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Dwondown (下拉列表)控件,即可创建 Dwondown 控件,选中创建的 Dwondown 控件,按键盘【T】键,可以调整 Dwondown 控件的大小和位置。 ​ 创建 Dwondown 控件时,系统 阅读全文
posted @ 2023-03-20 20:50 little_fat_sheep 阅读(499) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Image和RawImage 1 纹理(Texture) ​ Image 控件和 RawImage 控件都是承载渲染图片的控件,都需要指定一个纹理(Texture)图片。在 Assets 窗口选中一张图片,在 Inspector 窗口的参数设置面板可以查看和编辑图片属性。图片属性中最重要的是图片类型(Texture Type), 阅读全文
posted @ 2023-03-20 20:49 little_fat_sheep 阅读(490) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Button 1 Button属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Button 控件,即可创建 Button 控件,选中创建的 Button 控件,按键盘【T】键,可以调整 Button 控件的大小和位置。创建 Button 控件时,系统会自动给其创建一个 Text 子控件,用于 阅读全文
posted @ 2023-03-20 20:49 little_fat_sheep 阅读(429) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI之Text 1 Text 简介 ​ UGUI概述 中介绍了Canvas 渲染模式、RectTransform 组件、锚点(Anchor)等,本文将介绍 UGUI 中的 Text 控件。 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Text 控件,即可创建 Text 控件,选中创建的 Text 控 阅读全文
posted @ 2023-03-20 20:48 little_fat_sheep 阅读(355) 评论(0) 推荐(0)
摘要: 【Unity3D】UGUI概述 1 UGUI 与 GUI 区别 ​ GUI控件 在编译时不能可视化,并且界面不太美观,在实际应用中使用的较少。UGUI 在编译时可视化,界面美观,实际应用较广泛。 2 Canvas 渲染模式(Render Mode) Screen Space - Overlay:画布自动适应屏幕尺寸,不能调整 Re 阅读全文
posted @ 2023-03-20 20:48 little_fat_sheep 阅读(497) 评论(0) 推荐(0)
摘要: 【Unity3D】相机跟随 1 前言 ​ 相机跟随是相机指始终跟随特定游戏对象,有以下 2 种跟随效果: 位置跟随:相机指向目标游戏对象的向量始终不变 位置和姿态跟随:相机在目标游戏对象的坐标系下的坐标和朝向始终不变 ​ 实现相机位置和姿态跟随最简单的方法是:将相机游戏对象拖拽到目标游戏对象下,即相机作为目标游戏对象的子对象, 阅读全文
posted @ 2023-03-20 20:47 little_fat_sheep 阅读(175) 评论(2) 推荐(0)
摘要: 1 前言 ​ Unity 3D 提供了 GUI、NGUI、UGUI 等图形系统,以增强玩家与游戏的交互性。GUI 在编译时不能可视化,在运行时才能可视化。GUI 代码需要在 OnGUI 函数中调用才能绘制,布局分为手动布局(GUI)和自动布局(GUILayout)。 手动布局:需要传人Rect 参数 阅读全文
posted @ 2023-03-20 20:47 little_fat_sheep 阅读(678) 评论(0) 推荐(1)
摘要: 【Unity3D】发射(Raycast)物理射线(Ray) 1 前言 ​ 碰撞体组件Collider 中介绍了 2 个碰撞体之间的碰撞检测,本文将介绍物理射线与碰撞体之间的碰撞检测。物理射线由 Ray 定义,通过 Physics.Raycast / Physics.RaycastAll 发射射线,返回 RaycastHit 碰撞检测信息。 ​ 射线仅用于检测 阅读全文
posted @ 2023-03-20 20:46 little_fat_sheep 阅读(793) 评论(0) 推荐(0)
摘要: 【Unity3D】碰撞体组件Collider 1 前言 ​ Unity3D 中碰撞体(Collider)组件用于检测运动的物体之间是否发生碰撞,也可以作为触发器使用。产生碰撞的条件是: 2 个游戏对象都有 Collider 至少有一个游戏对象有 Rigidbody 2 个游戏对象保持相对运动(一个 Cube 放在 Plane 上,不会产生碰撞, 阅读全文
posted @ 2023-03-20 20:46 little_fat_sheep 阅读(479) 评论(0) 推荐(0)
摘要: 【Unity3D】刚体组件Rigidbody 1 前言 ​ 刚体(Rigidbody)是运动学(Kinematic)中的一个概念,指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体。在 Unity3D 中,刚体组件赋予了游戏对象一些运动学上的属性,主要包括 Mass(质量)、Drag(阻力)、Angular Drag(角阻 阅读全文
posted @ 2023-03-20 20:42 little_fat_sheep 阅读(780) 评论(0) 推荐(0)
摘要: 【Unity3D】Transform组件 1 前言 ​ 每个游戏对象有且仅有一个 Transform 组件,Transform 组件保存了游戏对象的位置信息,用户可以通过操作 Transform 组件实现对游戏对象的平移、旋转、缩放等变换。每个 Script 组件需要继承 MonoBehaviour,MonoBehaviour 中有 Tra 阅读全文
posted @ 2023-03-20 20:42 little_fat_sheep 阅读(407) 评论(0) 推荐(0)
摘要: 【Unity3D】人机交互Input 1 前言 ​ Input 是 Unity3D 中用于人机交互的工具类,用户可以调用其 GetKey、GetMousePosition、GetMouseButton、GetAxis、GetButton 等方法获取键盘和鼠标的状态信息,再通过这些状态信息控制游戏对象,从而实现人机交互。 ​ 1)键盘输入 阅读全文
posted @ 2023-03-20 20:41 little_fat_sheep 阅读(410) 评论(0) 推荐(0)
摘要: 【Unity3D】MonoBehaviour的生命周期 1 前言 ​ Unity3D 中可以给每个游戏对象添加脚本,这些脚本必须继承 MonoBehaviour,用户可以根据需要重写 MonoBehaviour 的部分生命周期函数,这些生命周期函数由系统自动调用,且调用顺序与书写顺序无关。 ​ MonoBehaviour 的继承关系:MonoBehavi 阅读全文
posted @ 2023-03-20 20:41 little_fat_sheep 阅读(699) 评论(0) 推荐(0)
摘要: 【Unity3D】地形Terrain 1 前言 ​ Terrain 是 Unity3D 提供的用于绘制地形的游戏对象,可以在其上绘制山地、江海、池塘、草树等。 ​ 用户可以通过【GameObject → 3D Object → Terrain】新建地形,主要有如下6个功能菜单: Raise / Lower Terrain:升高 / 降低 阅读全文
posted @ 2023-03-20 20:40 little_fat_sheep 阅读(1107) 评论(0) 推荐(0)
摘要: 1 单键 Q:扒手拖动(Scene) W:移动(GameObject) E:旋转 R:三维缩放(GameObject 不会变形) T:单维缩放(GameObject 会变形) Y:平移、旋转、缩放 F:将选中的对象放在屏幕中心(双击 GameObject 同效果) Z:游戏对象以本地坐标系中心 / 阅读全文
posted @ 2023-03-20 20:39 little_fat_sheep 阅读(1158) 评论(0) 推荐(0)
摘要: 【OpenGL ES】渲染管线 1 前言 ​ 渲染管线是指图形渲染流程,涉及到的概念非常多,主要包含图元、片段、光栅化、空间、变换、裁剪、着色器、片段测试、混合等。渲染管线主体流程如下: ​ 为方便读者理解渲染管线,本文将先介绍顶点数据、图元与片段、空间与变换、着色器等渲染管线基础概念,再介绍渲染管线、片段测试、混合等内容。 2 阅读全文
posted @ 2023-03-20 00:43 little_fat_sheep 阅读(448) 评论(0) 推荐(0)
摘要: 【OpenGL ES】光影(光照与阴影)效果 1 前言 ​ Blinn改进的冯氏光照模型 中只展示了光照效果,本文将进一步展示阴影效果。 ​ 绘制阴影,需要用到深度纹理,即从光源角度看模型并绘制一张纹理图,纹理图的颜色代表了模型上的点离光源的深度,只有离光源较近的点才会绘制到深度纹理图中,被遮挡的点不会被绘制到深度纹理图中。判断地平面中的点是否 阅读全文
posted @ 2023-03-20 00:41 little_fat_sheep 阅读(454) 评论(0) 推荐(0)
摘要: 【OpenGL ES】Blinn改进的冯氏光照模型 1 前言 ​ 光照元素主要有环境光(ambient)、漫反射光(diffuse)、镜面反射光(specular),光照模型主要有冯氏模型和 Blinn 改进的冯氏模型,两者区别在与镜面反射光的计算,冯氏模型根据反向量和观察向量计算镜面反射光,Blinn 改进的冯氏模型根据半向量和法向量计算镜面反射光 阅读全文
posted @ 2023-03-20 00:40 little_fat_sheep 阅读(363) 评论(0) 推荐(0)
摘要: 【OpenGL ES】EGL+FBO离屏渲染 1 前言 ​ FBO离屏渲染 中使用 GLSurfaceView 来驱动 Renderer 渲染图片,为了隐藏 GLSurfaceView,将其设置为透明的,并且宽高都设置为1。本文将使用 EGL 代替 GLSurfaceView 生成 OpenGL ES 的渲染环境,实现离屏渲染,将渲染后的图片显 阅读全文
posted @ 2023-03-20 00:38 little_fat_sheep 阅读(586) 评论(0) 推荐(0)
摘要: 【OpenGL ES】FBO离屏渲染 1 前言 ​ OpenGL 默认把 framebuffer 当作渲染目的地,它由窗口系统创建并管理。应用程序也可以创建额外非可显示的 framebuffer object(FBO),以区别窗口系统提供的 framebuffer。OpenGL 应用程序可以重定向渲染目的地,让它输出到 FBO 而不是窗 阅读全文
posted @ 2023-03-20 00:37 little_fat_sheep 阅读(822) 评论(0) 推荐(0)
摘要: 【OpenGL ES】基于ValueAnimator的旋转、平移、缩放动效 1 前言 ​ ValueAnimator 基于 Choreographer 的 frame callback 机制,周期性(约16.7ms,与屏幕帧率相关)执行其 doAnimationFrame() 方法,回调监听器中相应方法,刷新 UI 实现动画效果。 ​ ValueAnimator 是 And 阅读全文
posted @ 2023-03-20 00:36 little_fat_sheep 阅读(408) 评论(0) 推荐(0)
摘要: 【OpenGL ES】渐变凸镜贴图 1 前言 ​ 正方形图片贴到圆形上 中将正方形图片上的纹理映射到圆形模型上,凸镜贴图 中介绍了将圆形图片上的纹理映射到凸镜模型上。如果将原图片逐渐变为凸镜效果,中间的变化过程又是什么样的? ​ 图片的纹理中心为 tc,图片中任意一点记为 t,tc 和 t 映射到凸镜模型中的坐标分别为 vc 和 v, 阅读全文
posted @ 2023-03-20 00:34 little_fat_sheep 阅读(287) 评论(0) 推荐(0)
摘要: 【OpenGL ES】透视变换原理 1 前言 ​ MVP矩阵变换 中主要介绍了模型变换(平移、旋转、对称、缩放)和观测变换基本原理,本文将介绍透视变换的基本原理。 ​ 如下图,近平面和远平面间棱台称为视锥体,表示可见区域范围,视锥体以外的空间将被裁剪丢弃,视锥体内的模型通过透视变换投影到近平面上,近平面上得到的平面图形就是屏幕上要显示 阅读全文
posted @ 2023-03-20 00:32 little_fat_sheep 阅读(609) 评论(0) 推荐(0)
摘要: 【OpenGL ES】凸镜贴图 1 前言 ​ 正方形图片贴到圆形上 中将正方形图片上的纹理映射到圆形模型上,同理,也可以将圆形上的纹理映射到凸镜的球形曲面上。如下图,最左边的竖条是原图片的截面(纹理坐标),最右边的竖条是变换后的顶点模型截面(顶点坐标)。 ​ 原图如下: ​ 读者如果对 OpenGL ES 不太熟悉,请回顾以下内容 阅读全文
posted @ 2023-03-20 00:29 little_fat_sheep 阅读(319) 评论(0) 推荐(0)
摘要: 【OpenGL ES】正方形图片贴到圆形上 1 前言 ​ 纹理贴图 中介绍了将矩形图片贴到矩形模型上,本文将介绍:在不裁剪图片的情况下,将正方形的图片贴到圆形模型上。 ​ 思考:实数区间 [0, 1] 与 [0, 2] 的元素可以建立一一映射关系么?答案是肯定的,如:y=2x、y=2x^2、y=2e^x/e^2、y=2ln(x+1)/ln2、 阅读全文
posted @ 2023-03-20 00:27 little_fat_sheep 阅读(322) 评论(0) 推荐(0)
摘要: 【OpenGL ES】立方体手动旋转 1 前言 ​ 本文主要介绍使用 OpenGL ES 绘制立方体,并实现手动触摸事件控制立方体旋转。 ​ 为方便控制触摸旋转,假设旋转轴始终在 xoy 平面上,设 z 轴的方向向量 u = (0, 0, 1),触摸方向向量为 v(起点为ACTION_DOWN 时坐标,终点 ACTION_MOVE 时坐 阅读全文
posted @ 2023-03-20 00:26 little_fat_sheep 阅读(471) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制魔方 1 前言 ​ 在立方体贴图(6张图)中,绘制了一个立方体,贴了 6 张图,本文的魔方案例,将实现绘制 27个立方体,贴 162 张图。贴图图片如下: ​ 说明:inside.png 为魔方内部色块,用粉红色块代替白色块是为了凸显白色线框。 ​ 读者如果对 OpenGL ES 不太熟悉,请回顾以下内容 阅读全文
posted @ 2023-03-20 00:24 little_fat_sheep 阅读(431) 评论(0) 推荐(0)
摘要: 【OpenGL ES】立方体贴图(6张图) 1 前言 ​ 本文通过一个立方体贴图的例子,讲解三维纹理贴图的应用,案例中使用 6 张不同的图片给立方体贴图,图片如下: ​ 本文涉及到的知识点主要包含:三维绘图、MVP 矩阵变换、纹理贴图,读者如果对 OpenGL ES 不太熟悉,请回顾以下内容: 绘制三角形 绘制立方体 MVP矩阵变换 纹理贴图 阅读全文
posted @ 2023-03-20 00:23 little_fat_sheep 阅读(417) 评论(0) 推荐(0)
摘要: 【OpenGL ES】纹理贴图 1 前言 ​ 纹理贴图是指:将图片贴在模型的表面。 ​ 纹理贴图的本质是:将图片划分为一系列三角形,使得图片顶点序列与模型顶点序列中的顶点一一对应,对于模型中任意三角形内部的坐标和图片中对应三角形内部的坐标,可以通过插值,建立一一对应关系,模型中任意位置的颜色由其对应的图片位置的颜色填充。 ​ 本文 阅读全文
posted @ 2023-03-20 00:20 little_fat_sheep 阅读(359) 评论(0) 推荐(0)
摘要: 【OpenGL ES】MVP矩阵变换 1 前言 ​ 本文主要介绍 MVP 矩阵变换,其本质是线性变换,应用见→绘制立方体。 Model:模型变换,施加在模型上的空间变换,包含平移变换(translateM)、旋转变换(rotateM)、对称变换(transposeM)、缩放变换(scaleM); View:观测变换,施加在观测点上的变换 阅读全文
posted @ 2023-03-20 00:18 little_fat_sheep 阅读(606) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制立方体 1 前言 ​ 本文主要介绍使用 OpenGL ES 绘制立方体,读者如果对 OpenGL ES 不太熟悉,请回顾以下内容: 绘制三角形 绘制彩色三角形 绘制正方形 绘制圆形 ​ 在绘制立方体的过程中,主要用到了 MVP (Model View Projection)矩阵变换。 Model:模型变换, 阅读全文
posted @ 2023-03-20 00:16 little_fat_sheep 阅读(461) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制圆形 1 前言 ​ 【OpenGL ES】绘制三角形 中介绍了绘制三角形的方法,【OpenGL ES】绘制正方形中介绍了绘制正方形的方法,本文将介绍绘制圆形的方法。 ​ OpenGL 以点、线段、三角形为图元,没有提供绘制圆形的接口。要绘制圆形边框,必须通过割圆法逼近圆形;要绘制圆形的内部,必须通过三角形 阅读全文
posted @ 2023-03-20 00:11 little_fat_sheep 阅读(604) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制正方形 1 前言 ​ 【OpenGL ES】绘制三角形 中介绍了绘制三角形的方法,本文将介绍绘制正方形的方法。 ​ OpenGL 以点、线段、三角形为图元,没有提供绘制正方形内部的接口。要绘制正方形内部,必须通过三角形拼接而成,如下图,是通过GL_TRIANGLE_FAN 模式绘制正方形。 ​ 绘制的坐标点 阅读全文
posted @ 2023-03-20 00:10 little_fat_sheep 阅读(436) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制彩色三角形 1 前言 ​ 【OpenGL ES】绘制三角形 中介绍了绘制普通三角形的方法,本文将介绍绘制彩色三角形的方法。 ​ 本文完整代码资源见→【OpenGL ES】绘制彩色三角形 ​ 项目目录如下: 2 案例 ​ MainActivity.java package com.zhyan8.triangle; 阅读全文
posted @ 2023-03-20 00:10 little_fat_sheep 阅读(373) 评论(0) 推荐(0)
摘要: 【OpenGL ES】绘制三角形 1 前言 1.1 设置顶点属性 ​ 顶点有位置、颜色等属性,可以通过 glVertexAttribPointer 设置顶点的属性。 void glVertexAttribPointer( int index, //顶点属性的索引值,如:位置属性索引为0,颜色属性索引为1 int size, //每个 阅读全文
posted @ 2023-03-20 00:09 little_fat_sheep 阅读(507) 评论(0) 推荐(0)
摘要: 【OpenGL ES】第一个案例 1 前言 ​ OpenGL(Open Graphics Library)是由 SGI 公司开发的一套 3D 图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL 迅速成为一种 3D 图形接口的工业标准,并陆续在各种平台上得以实现。 ​ OpenGL ES(Open 阅读全文
posted @ 2023-03-20 00:07 little_fat_sheep 阅读(378) 评论(0) 推荐(0)