- 博客(17)
- 收藏
- 关注
原创 unity 实现Android端视频在UI上播放
之前unity实现在RawImage上播放视频主要是通过movieTexture,而现在这个方法已经被抛弃,采用VideoPlayer来实现,实现的原理是将VideoPlayerd的视频渲染到UGUI的RawImage上。private VideoPlayer videoPlayer;private RawImage rawImage;void Start(){ //获取场景中对应的组件 videoPlayer = this.GetComponent<VideoPlayer&
2021-08-15 21:21:47
796
原创 Shader入门(一):渲染流水线
渲染流水线:渲染流水线的最终目的是生成或者说是渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果,它的输入是一个虚拟摄像机、一些光源、一些shader以及纹理等。什么是渲染流水线?渲染流程分为3个阶段:应用阶段,几何阶段,光栅化阶段,其中,应用阶段是在CPU上进行,其他两个是在GPU上进行,每个阶段的输入输出信息如下图:如何减少Draw Call?运用批处理的思想:把很多小的Draw Call合并成一个大的Draw Call。由于在CPU中合并网格是需要耗费时间的,所以,批处理更加适合那些静
2021-07-14 10:06:00
779
原创 数据结构与算法(二):数据结构基础
1、数组数组的英文是array,是有限个相同类型的变量所组成的有序集合,数组中的每个变量都被成为元素,一旦创建,数组的长度是固定的,不能更改。数组是最简单、最常用的数据结构。**特点:**在内存中顺序存储,可以很好的实现逻辑上的顺序表,元素之间紧密排列,既不能打乱元素的存储顺序,也不能跳过某个存储单元进行存储**数组的基本操作:**读取元素、更新元素、插入元素、删除元素**数组的优势和劣势:**高效随机访问,只要给出下标,就可以用常量时间找到元素。二分查找就是利用了数组的这个特性。但是在插入和删除
2021-07-12 23:23:47
205
1
原创 数据结构和算法(一):时间复杂度和空间复杂度
算法是一系列程序指令,用于处理特定的运算和逻辑问题,衡量一个算法是好是劣,一般是看这个算法的时间复杂度和空间复杂度。时间复杂度决定了算法运行的时间长短。空间复杂度决定了计算时所需的资源多少,一般量着难兼顾,大多数情况下会优先缩短运行时间。1、时间复杂度一个算法执行的时间,从理论上是不能算出来的,只能运行测试出来,但是我们并不需要对每个算法都测试一遍来判断好坏,只需要知道哪个算法花费时间多还是少就行了。算法运行的时间于算法中的语句执行次数成正比,执行的次数越多,花费的时间就越长。时间复杂度一般记作O。
2021-07-12 14:42:45
785
1
原创 Unity 静态烘培 自动寻路,人物移动至鼠标点击位置
1、建立导航地图,将场景设置为navigation static进行烘培,人物不用烘培2、人物身上挂上compenent-navigation-navi mesh agent组件3、编写导航脚本,可以实现鼠标点击哪里人物就走到哪里。部分代码如下:Using UnityEngine.AI;//引入AI算法模块//Public Transform goal;Private NavMeshAgent agent;Void Start(){Agent=GetComponent();//Agent.
2021-07-09 11:40:50
1293
2
原创 关于Unity使用ARKit打包ios出错,无法switch platform
第一次使用ARKit时,发现切换平台时switch platform是灰色的,无法点击,当时尝试了旁边的open download page也不行,发现是没有ios支持工具。点击unity版本上的小点点,应该会有添加模块的选项,但是我是在unity官网直接安装的,不是通过hub安装,所以缺少相应模块。从hub上重新下载unity后,选择想添加的ios模块,就能转换到ios平台。...
2021-03-20 22:46:58
969
原创 unity中移动部件靠近时触发动画,模型替换特效演示
前的游戏项目,需要找到正确的榫卯部件,移动到靠近正确拼接的部件时,触发模型的拼接动画,榫卯物品开始拼接,动画开始4s后触发“变身”特效,模型替换,拼接完成后会有指示的游戏UI提示出现。演示过程如下图所示:实现代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class Pig2 : MonoBehaviour{ public GameObject cube1;
2021-01-24 21:21:59
1320
1
原创 Unity3D安卓打包时报错解决方法
UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errorsat UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0020e] in D:\unity\Editor\Mono\BuildPlayerWindowBuildMethods.cs:181at UnityEditor.BuildPlayerWind
2020-09-11 16:09:03
3688
2
原创 unity 2019安装PostProcessing-2方法
PostProcessing是一款后期滤镜插件,可以轻松实现画面风格的转换,化腐朽为神奇PostProcessing现在有三个版本,每个版本的安装方式都有点不一样,PostProcessing最初的版本是需要在main camera添加PostProcessingBehaviour脚本的,后面的PostProcessing-2,PostProcessing-3则不需要,已经经过封装使用,需要注意的是,之前PostProcessing-2是可以在GitHub下载安装包导入使用,但是现在导入时会shade
2020-07-31 03:11:32
6310
原创 unity鼠标控制第一人称相机旋转,稳定控制
经历了几个版本的修改,终于拥有了一份很适合自己使用的第一人称控制脚本了,是在网上教程上修改的,之前借鉴的版本是鼠标移动能控制视野各种方向旋转,但是我不需要实时旋转。有时候会移动鼠标点击物体,视野跟随鼠标动就很麻烦。以下脚本实现的功能是按WASD控制前后左右移动,鼠标左键点击可以进行操作,按下鼠标右键可以进行视野旋转,且相机一直是处于水平,不会倾斜。move脚本,控制前后左右移动public class Move : MonoBehaviour{ public CharacterControl
2020-07-27 22:25:53
1699
1
转载 unity实现鼠标拖拽物体,保持在地面以上位置移动
在项目中需要实现鼠标拖拽物体移动,按照网上一些大佬的教程可以实现鼠标拖拽,但是在项目中需要保持被拖拽的物体时刻保持在地面以上,不然就会被地形掩盖,找不到物体了,于是将代码进行了修改。using System.Collections;using System.Collections.Generic;using UnityEngine;public class ModelDrage : MonoBehaviour{ private Camera cam;//发射射线的摄像机 priva
2020-07-25 11:38:22
2090
原创 unity中实现智能开关灯交互,靠近开灯远离关灯
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Lighton : MonoBehaviour { public GameObject light1; public GameObject camera; public double distance; // Use this for initialization void Start () {.
2020-06-08 09:21:43
4313
原创 Unity 3D建筑内部第一人称漫游,房间切换漫游
在Unity中经常用到第一人称漫游,比较常用的是用Unity Assets中导入的Charaters包,里面包含第一人称控制器和第三人称控制器,将第一人称控制器拖入场景中就可以用AWSD实现前后左右移动,控制器自带脚步声音效,在一些游戏场景中经常使用。但是如果需要在场景中来回切换位置,第一人称似乎比较难实现,比如我们经常看到的VR看房中的样板间展示,点击房间的缩略图就会进入到该房间进行漫游,要实现这种效果,我采用的是在场景中布置了多个摄像机,放在合适的位置。接着给这几个摄像机和鼠标添加移动的脚本,
2020-06-05 11:29:52
11780
4
原创 unity 3D中EventTrigger和EventSystem的对比
EventSystem在两个地方出现:1、在场景中创建了UI物体后,比如button,场景中会自动创建一个EventSystem,该EventSystem对象负责管理所有事件相关对象,挂载了EventSystem组件和StandaloneInputModule组件,前者为管理脚本,后者为输入模块。使用事件系统可以根据输入(即键盘、鼠标、触摸或自定义输入)将事件发送到应用程序中的对象。事件系统包含...
2020-05-07 11:05:15
887
原创 Unity GoogleVR第一人称游戏视角环境搭建
googlevr资源链接:[https://developers.google.cn/vr/develop/unity/download]1、进入网站后,找到支持unity模块,在下图所示位置勾选同意,就能弹出下面的下载区域,下载google vr sdk。2、新建unity工程,将下载的资源包导入场景中,保存场景。3、现在构建平台环境:点击file-build setting,将场景...
2020-04-16 17:33:11
1961
原创 java面向对象 成员内部类、静态内部类、匿名内部类、成员内部类总结
Java类的一般组成是类中包含成员属性和成员方法,但是,在特殊情况下,一个类的内部也会有另一个类的存在,这种类就叫内部类。一、静态内部类特点:1、静态内部类可以等同看作静态变量2、内部类可以访问外部类中私有的数据3、静态内部类可以用访问控制权限的修饰符4、静态内部类可以访问外部类中的静态数据(变量,方法),无法直接访问成员数据/*1、静态内部类可以等同看作静态变量2、内部类可以访...
2020-04-10 08:51:58
168
原创 不需代码 open pose多人动态人体骨骼识别,面部,手部,姿势识别
最近在学open pose相关的东西,OpenPose是卡内基梅隆大学的开源项目,它能支持2D和3D的多人关键点识别,支持手部、面部、脚部识别,单人运动姿势估计。用官方提供的案例实现识别图片和视频中多人,实现动态的人体骨骼模型捕捉,不需编程,不需安装CMake,cuda等。地址:https://github.com/CMU-Perceptual-Computing-Lab/openpose/r...
2020-03-31 10:30:13
6864
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人