- 博客(34)
- 收藏
- 关注
原创 升级unity版本到2020.3.32
PS:安装Unity的时候最好把杀毒软件关一关,报了很多错误。360等关掉1、下载unity hub2、开始安装Unity窗口列举的unity版本没有你所需要的,则点击左下角Beta 打开网页去下载。安装完毕:3、许可证在管理许可证后时,发现界面未显示出许可证,解决方案:将C:\ProgramData\Unity中的文件全部删掉(如果Unity文件夹没有文件,则直接删除Unity文件夹),重启Unity Hub原...
2022-04-20 11:28:33 5040
原创 OpenGL之光照
1:颜色RGB:世界上有无数种颜色,每一个物体都有它们自己的颜色。眼里看到的颜色:物体可以吸收一些颜色,被拒绝的颜色反射出来就是我们感知到的颜色。OpenGL中怎么计算物体所反射出的颜色?将光源的颜色 * 物体的颜色值相乘 = 反射的颜色glm::vec3 lightColor(1.0f, 1.0f, 1.0f);glm::vec3 toyColor(1.0f, 0.5f, 0.31f);glm::vec3 result = lightColor * toyColor; .
2021-11-18 16:02:01 174
原创 OpenGL之坐标练习
1:对GLM的projection函数中的FoV和aspect-ratio参数进行实验。看能否搞懂它们是如何影响透视平截头体的。glm::mat4 model = glm::mat4(1.0f); // make sure to initialize matrix to identity matrix first glm::mat4 view = glm::mat4(1.0f); glm::mat4 projection = glm::mat4(1.0f); model = gl...
2021-11-16 19:50:26 752
原创 OpenGL之坐标系统练习
/************************************************************//***************in cpp***************************************//************************************************************/ // build and compile our shader zprogram // -------------------.
2021-11-16 17:16:35 2283
原创 OpenGL之坐标系统
大纲:将坐标变化为标准化设备坐标,接着再转化为屏幕坐标的过程通常是分布进行的,如下图。过程中需要用到最重要的几个矩阵:Model matrix,View matrix,Projection matrix投影矩阵:包含正射投影矩阵和透视投影矩阵正射投影矩阵:(glm::ortho)定义了一个类似立方体的平截头箱,定义一个裁剪空间,空间之外的顶点会被裁剪掉。通过width,height,近(near),远(far)平面框定了一个立方体,出现在这个立方体之外的坐标都会被...
2021-11-16 15:53:24 2632
原创 OpenGL纹理练习题
1)修改片段着色器,仅让笑脸图案朝另一个方向看。这里我用男神 木村拓哉示例效果为:标准答案:#version 330 coreout vec4 FragColor;in vec3 ourColor;in vec2 TexCoord;// texture sampleruniform sampler2D texture1;uniform sampler2D texture2;void main(){//修改片段着色器,仅让笑脸图案朝另一个方向看...
2021-11-12 14:46:26 215
原创 OpenGL之纹理
1)纹理环绕方式:2)纹理过滤:GL_NEAREST:邻近过滤GL_LINEAR:线性过滤邻近过滤方式的图像会出现大颗粒状,这种在8-bit风格的游戏里常见。3)多级渐远纹理MipMap距观察者的距离超过一定的阈值,OpenGL会使用不同的多级渐远纹理,即最适合物体的距离的哪个。生成纹理...
2021-11-11 19:39:21 731
原创 着色器练习
1.修改顶点着色器让三角形上下颠倒即修改坐标y为-y2.使用uniform定义一个水平偏移量,在顶点着色器中使用这个偏移量把三角形移动到屏幕右侧我的解答是:通过向量之间相加来达到平移坐标。标准答案:可以设置一个float变量,单独改变x的偏移量...
2021-11-10 17:08:11 376
原创 着色器类之uniform
之前的示例,如果要改变三角形的颜色,是通过顶点着色器的输出的颜色传递给片段着色器,从而改变三角形生成的颜色。顶点着色器作为中介。现在通过uniform来改变三角形颜色在片段着色器中声明了一个ourColor的uniform变量,并赋值给输出变量FragColor。然后通过找到uniform属性的索引,再对它赋值更新。...
2021-11-09 19:57:59 450
原创 着色器类之输入输出
如果需要从一个着色器向另一个着色器发送数据,必须在发送方着色器中声明一个输出,在接受方着色器中声明一个类似的输入。类型和名字都一样的情况,OpenGL会把两个变量链接到一起,它们之间就能发送数据了。eg:...
2021-11-09 19:22:34 240
原创 我们的着色器类
着色器Shader是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。是把输入转化为输出的程序,着色器之间的唯一沟通就是通过输入和输出。着色器是使用一种叫GLSL(OpenGL Shader)的类C语言写成的。典型的结构in_variable_name:输入变量叫做顶点属性,顶点属性是有上限的,这点是由硬件决定。至少会有16个包含4分量的顶点属性可用。...
2021-11-09 17:48:44 437
原创 OpenGL:第一个三角形
写在前面,参考:你好,三角形 - LearnOpenGL CN (learnopengl-cn.github.io)记住:OpenGL中,任何事物都是3D,屏幕和窗口是2d,大部分工作是关于把3D坐标转化为适应你屏幕的2D像素。Graphics pipeline图形渲染管线:1、把3D坐标转为2D坐标(精确表示一个点在2D空间中的位置)2、把2D坐标转变为实际有颜色的像素(这个点的近似值,受屏幕/窗口分辨率的限制)着色器图形渲染管线接受一组3D坐标,然后把它们转变为你屏幕上的..
2021-10-19 14:17:47 103
原创 OpenGL第一个窗口
Code Viewer. Source code: src/1.getting_started/1.2.hello_window_clear/hello_window_clear.cpp (learnopengl.com)参考:你好,窗口 - LearnOpenGL CN (learnopengl-cn.github.io)
2021-10-19 11:32:29 108
原创 OpenGL创建工程
1)visual studio 新建一个vc++项目 ,空的项目2)链接对该项目右键-->属性配置库文件和include文件路径,这样项目可以找到配置的路径里的c文件和lib在链接器,配置libWindows平台,opengl32.lib已经包含在Microsoft SDK里了,它在Visual Studio安装的时候就默认安装了。...
2021-10-15 11:23:23 163
原创 CMake使用碰到的问题
打开CMake,设置了源码路径和build的路径。点击Configure按钮,选择对应的visual studio版本。参考:(99条消息) 完美解决CMake时“could not find any instance of Visual Studio”的问题【每天一个小技巧】_腿足机器人领域-CSDN博客打开visual studio installer修改完毕后,重启CMake 通过菜单栏File->Delete cache删除之前configure的设置。...
2021-10-15 10:47:08 662
原创 本地坐标VS世界坐标
做互动表情的时候,效果为点击某个玩家A的头像,会从我这个头像飘一个特效到对方A的头像上。做法1:把两个头像的坐标里的Image的本地坐标转为世界坐标,再将该世界坐标转为某个父节点的本地坐标通过Transform.TransformPoint 将本地坐标转为世界坐标 通过Vector3 InverseTransformPoint 将世界坐标转为本地坐标 结果:得出的坐标是8000多。显然是
2017-08-07 21:48:22 1127
原创 Unity-android/iOS自动设置ProjectSetting
工作中碰到由同一个项目,打包中不同包名的游戏apk或ipa的需求,比如项目Trunk1.0,需要打出一个包名为com.xx.xx.a的包,之后可能又需要打出包名为com.xx.xx.b的包。而每切换打新的包,就需要更改 Product Name,Default Icon,Icon,BundleId,等等(如下图 所示) 所以为了更有效率打包,写个编辑器一键设置这些参数势在必行。 写工具前先明白
2017-05-12 18:04:47 6089 2
原创 Ant批量打apk包
2016.11.5~2016.11.6令人难忘的周末,四个前端同事徒手将游戏打出了将近100个安卓apk包,还不包括打包中途替换渠道名失误,或者AndroidManifest.xml配置错误而返工的包,一个包不超过5min耗时,这感觉多么酸爽。于是乎,需要研究下自动打包怎么实现。在网上搜了蛮多资料,无外乎Ant打包,美团批量打包(http://tech.meituan.com/mt-apk-pack
2016-11-09 17:26:12 725 1
原创 InputField 限制字数
问题:游戏中输入角色名字不能超过一定字节数,记作n组件InputField里 Character Limit:限制字符长度(0表示不限制),比如:设置只能输入3个字符(中文,英文,数字,符号都按1个字符来算) 当设置为5, 输出结果: 中文或者英文,均只能输入五个。 明显不满足,十个字节=5个中文=10个英文 所以,需要添加额外代码检测,判断是否超过了n个字节。在此之前,
2016-10-31 19:37:15 9153 3
转载 事件派发,监听
using System;using System.Collections.Generic;using System.Linq;using System.Text;public class EventDispatch{ [SLua.DoNotToLua] public delegate void OnNotificationDelegate(Notification note
2016-10-28 10:26:27 492
原创 Selection.GetFiltered
SelectionSelection是编辑器类,需要放在在Assets/Editor目录下。SelectionMode (摘自:https://docs.unity3d.com/412/Documentation/ScriptReference/SelectionMode.html) [MenuItem("Assets/SelectionMode/SelectionMode.Unf
2016-10-27 16:04:53 6648
原创 Lua 常用
table.inserttable.insert 不指定插入到标的哪一行,可以保证 table中连续行都不为nil table.insert 指定了插入到表的哪一行,要注意,可能位置pos可能不是连续的 table.getn(t) 、#t、 table.maxn(t) :获得table里的长度将最后一个赋值为nil,长度变为4。说明这是获得table里一直到非nil的长度 当把第倒数第2个赋
2016-10-27 14:43:44 384
原创 lua-luaStudio安装
http://www.luastudio.net/download.htm 在网站下载luaStudio 开始学习lua啦~~~
2015-12-12 16:28:45 1139
原创 检测prefab身上关联的shader
public static void GetShaderInfo() { UnityEngine.Object[] arr = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.TopLevel); if (arr.Length <= 0) {
2015-12-12 16:13:05 442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人