3D

Unity 2018.2正式推出,带来一系列3D内容优化

Unity刚刚更新了他们的3D引擎,为今年年初推出的Scriptable Render Pipeline带来了一系列的优化。

Scriptable Render Pipeline(SRP)最初以预览功能的方式来到了Unity 2018.1,其可以帮助开发者根据硬件配置文件来优化应用程序的性能。Unity的Lightweight Render Pipeline(LWRP)专为在智能手机和平板电脑上运行高质量沉浸式内容而设计,而High Definition Render Pipeline(HDRP)则允许开发者利用高性能的游戏主机和PC。

Unity的高级产品市场营销经理Thomas Krogh-Jacobsen在博文中写道:“Unity 2018.2的目标之一是,在Scriptable Render Pipelines(SRP)的基础上进一步优化,从而实现新水平的渲染。我们的另一个重点是开发一系列的功能和优化,从而帮助你在移动领域取得成功。”

Unity3D VR 教程1:VR概述

Unity VR 入门

Unity加入了一些对VR的内置的支持,但是只针对几种特定的VR设备。这个指南会专注于Oculus 系列的VR设备, 特别是 Oculus Rift Development Kit 2 (DK2 ) 和 消费者版本的Gear VR(一种手机外设,需要三星Galaxy s6, s6 Edge, s6 Edge+, 或者 Note 5)。也许以后会有关于Note 4的内容,但是暂时不涉及。

其他 VR 头戴设备也能运行unity的项目,例如HTC Vive。如果将来新加入的一些VR平台的话,这个文档也会更新。

虽然这些内容对所有VR头戴设备都适用,但是请仔细阅读VR设备生产商的手册获取更多详细内容。

在Unity中启用VR

请确认你已经安装了Oculus runtime 0.8Unity 5.3以上的版本。

(原)[OpenGL ES 06]使用VBO:顶点缓存

罗朝辉 ( http://blog.csdn.net/kesalin )

本文遵循“署名-非商业用途-保持一致”创作公用协议

一,VBO简介
在前面几篇的示例中,都是通过类似如下代码直接从 CPU 主存中传递顶点数据到 GPU 中去进行运算与渲染的。

glVertexAttrib4f(_colorSlot, color[0], color[1], color[2], color[3]);
glVertexAttribPointer(_positionSlot, 3, GL_FLOAT, GL_FALSE, 0, vertices );
glEnableVertexAttribArray(_positionSlot);

glDrawElements(GL_LINES, sizeof(indices)/sizeof(GLubyte), GL_UNSIGNED_BYTE, indices);

(原)[OpenGL ES 04]3D变换实践篇:平移,旋转,缩放

罗朝辉 ( http://blog.csdn.net/kesalin )

本文遵循“署名-非商业用途-保持一致”创作公用协议

前言
前文《[OpenGL ES 03]3D变换:模型,视图,投影与Viewport》中已经详细介绍了3D变换相关的数学知识,也讲了基本的模型变换:平移,旋转与缩放,如果你还没有阅读前文或对这些知识还不够明白,务必先弄懂前文再继续。假如你已经准备好继续了,那么在接下来的内容中,我将介绍如何在 OpenGL ES 中运用这些知识,来渲染一个四棱锥,并对它进行平移,旋转与缩放操作,此外本文也演示了如何将 OpenGL View 与 UIView 结合在一起(注意:在实际运用中,不推荐这么做,混合使用 OpenGL View 和 UIView 对效率影响较大)。

本文代码可以从这里获得:点此下载(Tutorial03),最终效果图如下:

一,创建工程

用《捕鱼达人3》讲解Cocos引擎3D技术(三):闪电特效

(via:Cocos引擎中文站)

之前我们已经学习了《捕鱼达人3》中Cocos引擎3D技术的实现:加载鱼的模型和播放动画 和 鱼身上的波光处理,今天我们接着学习游戏中如何制作攻击时的闪电特效。

《捕鱼达人》中的闪电,是通过以下几个步骤来实现的:
一、构建三角形条带。
二、采用随机函数来扰动条带顶点。
三、快速反复循环一,二步骤。

这个过程主要使用到以下三个类:
(1)VertexVector:用于存储顶点和索引的类。
(2)Noise:噪音处理类,用于进行顶点扰动,使顶点不断的小幅变化。
(3)LightLineRender:实现闪电效果的类。

具体的代码实现,可以参看注释。我们要关心的是LightLineRender类,它封装了闪电效果,并提供了相应的参数调节选项,我们学会了使用它就可以做出闪电链的效果。

我们打开 cpp-empty-test ,在 HelloWorld::init 函数中加入以下代码:

//线条容器
std::vector lines;
//设置线条位置
//第一段闪电的起点和终点
Vec3 segStart = Vec3(-50,-50,-8);
Vec3 segEnd = Vec3(50,50,-8);

同步内容
--电子创新网--
粤ICP备12070055号