- 博客(24)
- 收藏
- 关注
原创 Shader 特效实例 --- 屏幕后期特效
波动实例 (shader2.0 顶点着色器) y=Asin(ωx+φ) φ:决定波形与X轴位置关系或横向移动距离(左加右减) ω:决定周期(最小正周期T=2π/∣ω∣) A:决定峰值(即纵向拉伸压缩的倍数) 模型波动(顶点卓思琪) 顶点着色器: 1, 计算顶点位置 2, 矩阵转换 片段着色器: 1, 纹理寻址 2, 灯光作用。 Shader 2.0 对property 变量需要引用。 float _Frenquncy ; float _Arange ; float _Speed
2021-07-17 18:04:29
736
原创 Shader 特效实例 --- Outline 边缘描边
Outline 边缘描边 轮廓: 1, 直接 渲染两个物体 。 一个大 一个小 。 大是轮廓 直接返回一个 颜色。 Pass{} 2, 渲染一个物体 1, 找到边缘 2, 给边缘着色 3, 非边缘地带正常纹理采样。 //多个pass渲染多次 边缘 Shader "Hidden/OutLine" { Properties { _MainTex ("Texture", 2D) = "white" {} _OutLineWidth("width",float) = 1.2//属性
2021-07-17 18:03:45
654
1
原创 Shader 特效实例 --- Loading UV
UV动画之旋转 Loading 做法: Cpu : 1, 多个图片切换。 GPU: 1,旋转图片。 Loading : 1, 纹理在旋转。 UV 旋转起来。 2, UV 用矩阵的方式旋转。 矩阵旋转注意事项: 1 , 物体平移到原点。 2, 实现旋转 3, 物体平移到原来的位置。 旋转公式: 横向 X Y Z 相乘响应的参数 ...
2021-07-17 18:02:54
263
原创 shader2.0 顶点着色器 片段着色器
波动实例 (shader2.0 顶点着色器) y=Asin(ωx+φ) φ:决定波形与X轴位置关系或横向移动距离(左加右减) ω:决定周期(最小正周期T=2π/∣ω∣) A:决定峰值(即纵向拉伸压缩的倍数) 模型波动(顶点卓思琪) 顶点着色器: 1, 计算顶点位置 2, 矩阵转换 片段着色器: 1, 纹理寻址 2, 灯光作用。 Shader 2.0 对property 变量需要引用。 float _Frenquncy ; float _Arange ; float _Speed
2021-07-17 18:00:24
355
原创 Photon Cloud
1 RealTime 更底层一点 Quantum 更专业更贵 Bolt p2p技术. 2 . photon Cloud 中国区申请 Realtime和PUN APPID 一样 3. 设置中国区ID LoadBalancingClient.cs //public string NameServerHost = “ns.exitgames.com”; public string NameServerHost = “ns.photonengine.cn”; ...
2021-07-03 17:18:04
444
原创 PhotonServer 私有化部署开发
Photon多人VRPhoton的组成 Photon的组成 Photon Server : Photon Cloud : 服务端引擎 windows 服务端
2021-07-03 14:43:05
506
原创 多人VR开发 Photon
@TOC# 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、多人VR 是什么?二、使用步骤1. 引入XR Interaction Toolkit2. 引擎设置VR3. 添加 xrrig --删除控制器Line4. 导入资源包---添加手模型到rig 下 https://drive.google.com/file/d
2021-06-05 15:22:06
681
原创 Quest2官方开发环境
Oringin 原生开发 版本 2019.3.4f 版本 2020.2.7f 暂时定版本为2020.2.7f “ XR Interaction Toolkit”软件包 “ XR Plugin Management”软件包 “Oculus XR Plugin” 安卓平台设置 ASTC Oculus XR Plugin(XR文件夹 )、 Oculus Interaction Toolkit (Oculus文件夹)、导入 handtarcking ...
2021-05-28 15:03:26
948
3
原创 Quest2开发问题集锦
官方手势追踪:https://developer.oculus.com/documentation/native/android/mobile-hand-tracking/ Demo手势追踪问题 :HandsInteractionTrainScene - “Controllers Required” in Oculus Quest The solution to the OP’s problem is as follows. On the OVRCameraRig prefab find the OVR
2021-05-21 17:45:59
1295
原创 Quest2开发方案
方案1 “ XR Interaction Toolkit”软件包 “ XR Plugin Management”软件包 “Oculus XR Plugin” 方案2 VRTK 3.3 VRTK v4 方案3 MRTK 方案4 PC串流
2021-05-20 18:20:54
824
原创 Unity安卓配置/Quest2配置
Quest2配置 :https://blog.csdn.net/weixin_43750989/article/details/114642711 安卓配置: Android Studio配置 以下步骤无需单独下载SDK配置文件 1.下载Android Studio安装(安装步骤:http://www.open-open.com/lib/view/open1466430392743.html ) 2.点击左下角:Launch Standalone SDK Manager 即可打开SDK下载工具 JDK配置
2021-05-19 14:26:44
728
原创 计算机图形学入门
为什么要学习图形学? 图形学: 1,知其然亦知其所以然。 比如:纹理寻址。 2,游戏开发中经常需要平衡CPU 和 GPU 性能消耗。 比如:loading . 伴随着请求资源(网络和本地资源) Loading 做法: 1,cpu 做若干张图交替 (播放若干张图片) 2,gpu 旋转一张图。 3,编写炫酷特效。 4,20K 以上高薪必备技能。 Opengl 渲染流程: Cpu: FBX -Meshrender Fbxobj : 模型文件里面包含了 uv 顶点位置,法线切线等渲染所需要的信息
2021-04-21 18:37:56
692
原创 C#文本操作
File.ReadAllLines File.WriteAllLines List lines = new List(File.ReadAllLines(“文件.txt”)); lines.RemoveAt(2);//删除第3行 File.WriteAllLines(“文件.txt”, lines.ToArray());
2021-03-04 18:02:12
287
1
原创 .Net 项目代码风格要求
PDF版下载:项目代码风格要求V1.0.pdf 代码风格没有正确与否,重要的是整齐划一,这是我拟的一份《.Net 项目代码风格要求》,供大家参考。 C# 代码风格要求 1.1注释 类型、属性、事件、方法、方法参数,根据需要添加注释。 如果类型、属性、事件、方法、方法参数的名称已经是自解释了,不需要加注释;否则需要添加注释。 当添加注释时,添加方式如下图所示: 1.2 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名 优先考虑英文,如果英文没有合适的单词描述,可以使用拼音,使用中文是不符合要求的
2021-03-03 14:51:58
170
1
原创 C#语言开发规范
命名规范 a) 类 【规则1-1】使用Pascal规则命名类名,即首字母要大写。 eg: Class Test { … } 【规则1-2】使用能够反映类功能的名词或名词短语命名类。 【规则1-3】不要使用“I”、“C”、“_”等特定含义前缀。 【规则1-4】自定义异常类应以Exception结尾。 eg: Class TestException { … } 【规则1-5】文件名要能反映类的内容,最好是和类同名。 b) 类字段(类成员) 【规则2-1】用camel规则来命名类成员变量名称,即首单词(或单词.
2021-03-03 14:48:28
201
1
原创 Unity GC 学习总结
整理参考:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games (只是看了这篇博客记录的笔记) 游戏运行时使用内存来存储数据,当这些数据不再被使用时,存储这些数据的内存被释放以便于之后这些内存可以被复用。 一 核心概念 垃圾:存储这些无用数据的内存的术语。 GC(Garbage Collection):使垃圾(无用内存)可以再次使
2021-02-03 14:42:35
487
原创 BurstCompile
对静态方法进行BurstCompile 需要导入Burst Package 添加命名空间相关引用 using Unity.Burst; using AOT; [BurstCompile] public class TT { [BurstCompile(CompileSynchronously=true)] [MonoPInvokeCallback(typeof(Process2FloatsDelegate))] public static float Cal(float a,floa
2021-02-02 18:10:08
1377
原创 对象池总结
using System.Collections.Generic; using UnityEngine; public class BulletsPool : MonoBehaviour { public static BulletsPool bulletsPoolInstance; //子弹池单例 public GameObject bulletObj; //子弹perfabs public int pooledAmount
2021-02-02 10:40:29
138
原创 Shader操作
Unity3D动态创建Material 1 Material mat = null; 2 mat = new Material(Shader.Find(“Sprite/Vertex Colored, Fast”)); 3 mat.SetTexture("_MainTex", Resources.Load(szResourceName) as Texture2D); 其中Shader.Find(“Sprite/Vertex Colored, Fast”)参数是编辑器中选择Material的Shader的那个字
2021-02-02 10:36:49
188
1
原创 Burst 总结
对静态方法进行BurstCompile 需要导入Burst Package 添加命名空间相关引用 using Unity.Burst; using AOT; [BurstCompile] public class TT { [BurstCompile(CompileSynchronously=true)] [MonoPInvokeCallback(typeof(Process2FloatsDelegate))] public static float Cal(float a,float b) { retur
2021-02-01 16:29:56
569
转载 ECS学习总结
转发自:https://blog.csdn.net/u010019717/article/details/80378385 Normal Mode - 传统的Untiy OOP Unity的GameObject和Component, 通过给GameObject 提供MonoBehaviour 来定义行为。有一种情况是使用一个Manager,并指示他们移动的功能 此外, 会有移动角色的组件。 例如,当一个名为Move的组件移动时,Move组件是通过GetComponent访问Transform得到并移
2021-01-30 11:34:33
477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅