草庐IT

Unity Sprite 切割图集并且获得任一子图(sprite/Texture)

首先,Unity中的SpriteEditor可以将一张大图切割成多个sprite。然而如果想要从这么多切割好的子sprite获取某一个sprite要如何操作呢?本篇文章总结了两个方法以获取图集中的某个子图。一.切割图集这一步,使用Unity的SpriteEditor切割你的图集,如果不会使用SpriteEditor请参考这篇文章:Unity的2D图集处理,并切割出一张张小图片_0完美对称0的博客-CSDN博客_unity裁剪图片在我们找资源的时候,有时候会遇到那种把一堆图片放进一张png图片里面的情况,在做2D游戏的时候,我们往往需要将里面的一块块小图片切割出来使用,那么问题就来了,怎么切割呢

【Unity】OpenCV Plus Unity 获取Unity中摄像机并调用opencv使其灰度化实例

前言OpenCVPlusUnity有关的教程实在很难找到,Opencv的有很多,但是在Unity上应用的相关教程很少,比如付费的OpenCVForUnity,就已经很少了,目前经济有限,只能选择更加小众的OpenCVPlusUnity国内甚至搜不到相关的概念,更别提学习教程了。真的就是纯靠自己一点点摸索尝试出来的。很不容易,不过成功之后也是成就感满满。其OpenCV的写法和C++版本的差不太多,也有些许不同之处,可以参考OpenCVforUnity的语法格式写,并在写的过程看函数的参数说明。1、导入OpenCVPlusUnity包2、创建摄像机纹理创建摄像机纹理并将其拖放到需要读取的摄像机上边

【Unity】OpenCV Plus Unity 获取Unity中摄像机并调用opencv使其灰度化实例

前言OpenCVPlusUnity有关的教程实在很难找到,Opencv的有很多,但是在Unity上应用的相关教程很少,比如付费的OpenCVForUnity,就已经很少了,目前经济有限,只能选择更加小众的OpenCVPlusUnity国内甚至搜不到相关的概念,更别提学习教程了。真的就是纯靠自己一点点摸索尝试出来的。很不容易,不过成功之后也是成就感满满。其OpenCV的写法和C++版本的差不太多,也有些许不同之处,可以参考OpenCVforUnity的语法格式写,并在写的过程看函数的参数说明。1、导入OpenCVPlusUnity包2、创建摄像机纹理创建摄像机纹理并将其拖放到需要读取的摄像机上边

[CG从零开始] 6. 加载一个柴犬模型学习UV贴图

在第5篇文章中,我们成功加载了fbx模型,并且做了MVP变换,将立方体按照透视投影渲染了出来。但是当时只是随机给顶点颜色,并且默认fbx文件里只有一个mesh,这次我们来加载一个柴犬模型,并且给模型贴图,模型可以从sketchfab下载。本文没有涉及到理论解释,更多的是代码实践。完整代码在https://github.com/MangoWAY/CGLearner/tree/v0.3tagv0.31.创建纹理,加载图片我们来封装一个Texture类用来加载图片,创建、bind纹理,加载图片我用的是pillow库。fromOpenGLimportGLasglfromPILimportImageim

[CG从零开始] 6. 加载一个柴犬模型学习UV贴图

在第5篇文章中,我们成功加载了fbx模型,并且做了MVP变换,将立方体按照透视投影渲染了出来。但是当时只是随机给顶点颜色,并且默认fbx文件里只有一个mesh,这次我们来加载一个柴犬模型,并且给模型贴图,模型可以从sketchfab下载。本文没有涉及到理论解释,更多的是代码实践。完整代码在https://github.com/MangoWAY/CGLearner/tree/v0.3tagv0.31.创建纹理,加载图片我们来封装一个Texture类用来加载图片,创建、bind纹理,加载图片我用的是pillow库。fromOpenGLimportGLasglfromPILimportImageim

Opengl ES之RGB转NV21

前言在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用OpenglES做个实践,将一张RGB的图片通过Shader的方式转换YUV格式图,然后保存到本地。可能有的童鞋会问,YUV转RGB是为了渲染显示,那么RGB转YUV的应用场景是什么?在做视频编码的时候我们可以使用MediaCodec搭配Surface就可以完成,貌似也没有用到RGB转YUV的功能啊,硬编码没有用到,那么软编码呢?一般我们做视频编码的时候都是硬编码优先,软编码兜底的原则,在遇到一些硬编码不可用的情况下可能就需要用到x264库进行软编码了,而此时RGB

Opengl ES之RGB转NV21

前言在上一篇理论文章中我们介绍了YUV到RGB之间转换的几种公式与一些优化算法,今天我们再来介绍一下RGB到YUV的转换,顺便使用OpenglES做个实践,将一张RGB的图片通过Shader的方式转换YUV格式图,然后保存到本地。可能有的童鞋会问,YUV转RGB是为了渲染显示,那么RGB转YUV的应用场景是什么?在做视频编码的时候我们可以使用MediaCodec搭配Surface就可以完成,貌似也没有用到RGB转YUV的功能啊,硬编码没有用到,那么软编码呢?一般我们做视频编码的时候都是硬编码优先,软编码兜底的原则,在遇到一些硬编码不可用的情况下可能就需要用到x264库进行软编码了,而此时RGB

Vulkan的VkImage和OpenGL的Texture2D互转的3种方法

Vulkan的纹理和OpenGL的纹理之间共享的解决方案,因为项目的功能需要同时引入OpenGL和Vulkan,又因为效率的影响必须想办法优化,两者之间需要互相访问互相转换的高效方案。Vulkan的纹理图像类型是:VkImage,OpenGL的纹理类型是:Texture2D此文原创,收集和编写不易,望能珍惜。1.NVIDIAGPUOnly的方案在OpenGL4.5规范(简介)第1章的补充中新增了一个扩展GL_NV_draw_vulkan_image有提供如下函数glDrawVkImageNVglGetVkProcAddrNVglSignalVkFenceNVglSignalVkSemaphor

Vulkan的VkImage和OpenGL的Texture2D互转的3种方法

Vulkan的纹理和OpenGL的纹理之间共享的解决方案,因为项目的功能需要同时引入OpenGL和Vulkan,又因为效率的影响必须想办法优化,两者之间需要互相访问互相转换的高效方案。Vulkan的纹理图像类型是:VkImage,OpenGL的纹理类型是:Texture2D此文原创,收集和编写不易,望能珍惜。1.NVIDIAGPUOnly的方案在OpenGL4.5规范(简介)第1章的补充中新增了一个扩展GL_NV_draw_vulkan_image有提供如下函数glDrawVkImageNVglGetVkProcAddrNVglSignalVkFenceNVglSignalVkSemaphor

OpenGL实现GPU体渲染

之前完成了利用OpenGL实现GPU体渲染的实验,现在把完成的工作做一个总结。本实验demo的完成主要参考了《OpenGL–Buildhighperformancegraphics》这本书的体渲染部分和其中的代码,也参考了体绘制光线投射算法这篇博客。关于体渲染的ray-casting光线投射算法原理这里不再介绍,本文主要讲述实现过程。p{text-indent:2em}以下是具体实现过程:一、三维体数据手动生成并传入三维纹理1.1三维体数据生成体数据可视化如图所示,产生体数据的代码如下:点击查看代码intDim[3]={200,200,200};//体数据维度大小int*Data=(int*)