unity3d
崚峰
这个作者很懒,什么都没留下…
展开
-
unity摄像机环绕物体旋转
最近做项目的时候遇到一个需求:需要环视某物体做360度展示 开始一直纠结,最终找到一个简单的解决方法实现原理:把摄像机作为一个空物体的子对象,空物体自旋,摄像机也会旋转,并且视角一直注释着物体具体实现:要环视的物体 新建一个空对象在空对象下新建一个相机旋转空对象即可Demo效果 如有大神请赐教gif图片的制作方法或软件 Demo链接 demo下载原创 2017-03-25 23:58:19 · 2209 阅读 · 0 评论 -
shader基础知识
shader中常用函数mul()函数 mul(M,N):计算两个矩阵相乘mul(M,v):计算矩阵和向量相乘mul(v,M):计算向量和矩阵相乘normalize():Cg语言标准函数库中的函数 函数功能:对向量进行归一化(按比例缩短到单位长度,方向不变)dot(A,B) 功能:返回A和B的点积参数:A和B可以使标量,也可以是向量原创 2017-11-05 21:40:25 · 1351 阅读 · 0 评论 -
shader学习之基础纹理透明效果
Shader学习之透明效果Cg语言 Cg语言(C for Graphics)是为GPU编程设计的高级着色器语言,由NVIDIA公司开发目前已没有积极开发与支持,更推荐使用GLSL或HLSL WindowsCg的设计考虑了GPU的体系结构,如可编程多处理单元(顶点处理器、像素处理器、外加不可编程单元)。Cg语言允许分别为顶点和像素写程序。Cg语言有6种数据类型: float:32位浮点数原创 2017-11-05 21:38:46 · 745 阅读 · 0 评论 -
Shader相关知识
顶点着色器的形参是gameObject的meshRenderer组件,将所有的mesh数据按每一帧一次传递给OpenGL。这个过程被称为一次drawcall。 顶点着色器可根据语义获取到的全部mesh信息有 float4 vertex:POSITION //顶点坐标 float4 tangent:TANGENT //原创 2017-08-29 21:05:01 · 196 阅读 · 0 评论 -
Ubuntu 16.04 安装 unity
1、下载unity某个版本的Linux版,网址如下 https://forum.unity.com/threads/unity-on-linux-release-notes-and-known-issues.350256/ 2、安装unbuntu系统,更新源 3、$sudo dpkg -i xxxxxx.deb如果中间报错出现依赖的问题,就是源的问题,更新其他源。安装过程中参考的文档 htt原创 2017-09-19 08:20:59 · 8190 阅读 · 0 评论 -
Shader学习——GPU流水线
GPU渲染的过程就是GPU流水线。 几何阶段和光栅化阶段可以分成若干更小的流水线阶段。GPU的渲染流水线的输入是定点数据,是在应用阶段加载到显存的。 顶点着色器 流水线的第一个阶段。输入进来的每一个点都会调用一次顶点着色器。顶点着色器完成的主要工作有:坐标变换和逐顶点光照。坐标变换是指把顶点坐标从模型空间转化到齐次裁剪空间。 裁剪 目的:把不在摄像机视野范围内的物体去掉。 屏幕映射原创 2017-08-27 22:12:35 · 376 阅读 · 0 评论 -
Shader学习——CPU与GPU之间的通信
应用阶段分为3个阶段: 1、把数据加载到显存中 把渲染所需的数据从硬盘加载到系统内存,再从内存加载到显存。显卡对显存的访问速度更快。 2、设置渲染状态 渲染状态定义了场景中的网格是怎样被渲染的。如设置使用哪个顶点着色器,材质等; 3、调用drawcall Drawcall是一个命令,发起方是CPU,接收方是GPU。当给定一个Drawcall时,GPU就会根据之前的定点信息和渲原创 2017-08-27 21:50:02 · 1466 阅读 · 0 评论 -
unity获取Camera类型的对象
Camera mainCamera;GameObject gameObject=GameObject.Find("MainCamera");mainCamera=gameObject.GetComponent<Camera>();原创 2017-06-04 12:11:07 · 23015 阅读 · 2 评论 -
unity Input.GetAxis()函数
开发手册上有相关解释,但说得很不清楚,看完也不懂,下面给出详细的解释。 根据输入设备,参数分为两类: 一、触屏类 1、Mouse X 鼠标沿屏幕X移动时触发 2、Mouse Y 鼠标沿屏幕Y移动时触发 3、Mouse ScrollWheel 鼠标滚轮滚动是触发 二、键盘类 1、Vertical 键盘按上或下键时触发 2、Horiz原创 2017-06-08 08:53:19 · 22819 阅读 · 1 评论 -
unity代码组件面板
之前一直疑惑于别人写的代码组件怎么有面板和可以编辑的参数,细看代码又没有例如board这样的语句,后来才发现原来很简单,只要把变量设置成public就可以在面板上编辑了public int speed=5;speed是属性名,5是默认值原创 2017-06-08 08:46:34 · 588 阅读 · 0 评论 -
unity响应键盘的组合键
响应组合键即判断两个按键是否同时被按下if(Input.GetKey("c")&&Input.GetKey("1")){ //do sth}这段代码就是在同时按下c键和1键是响应原创 2017-06-08 08:08:53 · 9869 阅读 · 7 评论 -
unity给localRotation赋值
transform.localPosition和transform.localScale都是直接赋值三元数,给旋转赋值需要用 transform.localEulerAngles = new Vector3 (0.0f,0.0f,0.0f);原创 2017-06-03 15:53:00 · 23040 阅读 · 0 评论 -
unity transform的position和localPosition属性的区别
position是世界坐标中的位置,可以理解为绝对坐标 localPosition是相对于父对象的位置,是相对坐标,我们在transform栏看到的是相对坐标 如果对象是一级对象,position和localPosition是相同的原创 2017-06-03 15:56:36 · 37159 阅读 · 0 评论 -
unity3D代码控制脚本的停止和启动
这个问题已经是我第三次在网上查资料了,同样的问题应该重复查询说明使用频率很高,就有理由应该记住。其实这个问题很简单,我认为可行的方法只有一种,就是获取脚本文件,然后把enable属性设置为true或者false就行了(ps:脚本文件可以堪称一个控件)。 c#:GameObject.Find("ObjectName").GetComponent<scriptName>().enabled=tru原创 2017-04-24 10:48:09 · 31528 阅读 · 0 评论 -
虚拟现实Unity提高速度问题
今天搞了一晚上,原以为旋转速度慢是因为界面上粒子数量太多,后来发现其实这也算是一个原因,总的原因应该有两个,一个是数据量的问题,另一个是update的原因,旋转时停止update也可以提高速度原创 2017-04-21 00:55:46 · 474 阅读 · 0 评论 -
unity多个相机实现切换
做项目的过程中遇到一个问题,有6个相机,需要实现点击按钮切换到某个相机,从网上看了一些文章,有些已经不再用了(比如说enable),做的过程中还遇到了找不到组件的情况,趁晚上有时间记录下这些。核心实现方法gameobject.setActive()整体思路:先用GameObject.Find()方法取到六个相机对象用gameobject.setActive()函数将其中五个设置为false通原创 2017-03-27 00:58:04 · 19426 阅读 · 6 评论 -
Shader基本语法
Shader基本语法顶点/片元着色器 使用Cg/HlSL语言编写Unity Shader是用ShaderLab语言编写的,但对于表面着色器和顶点/片元着色器,我们可以在ShaderLab内部嵌套Cg/HLSL语言来编写这些着色器代码。这些Cg/HLSL代码是嵌套在CGPROGRAM和ENDCG之间的。表面着色器 Unity自己创造的一种着色器代码类型。本质上和顶点/片元着色器一样。Un原创 2017-11-05 21:41:30 · 817 阅读 · 0 评论