草庐IT

Unity-Terrain

全部标签

Unity Shader 水面、波浪、折射、反射(使用表面着色器)

各种功能实现的基本原理:水面运动的波纹:使用一张法线图:对其进行采样且使用的uv坐标随时间而偏离。但如果只采样一次,只会得到水面向一个方向流动的效果。因此进行2次不同uv坐标的采样并进行融合。为了让波纹更加混乱,这次融合的结果不是最终的法线,而只作为一个偏移值。再次进行2次采样,此时的采样的uv坐标加上了之前得到的偏移值,融合这2次的采样结果作为法线,这样就可以得到较为混乱的水面波纹。水边的波浪:需要的图片为一张波浪纹理和一张噪声图波浪纹理是一张细长的图片,如果拉宽了看,是这样的: 是不是有些像波浪?并且在纵向方向信息都是重复的,所以没必要用太宽的图片。噪声图的意思不是某种声音(我也不知道是不

Unity独立开发游戏之路

简单的介绍    本人本科是上海师范大学教育类的专业,由于对于计算机领域的兴趣考研考到了本校的计算机专业。对于跨考计算机的心路历程也许会专门写一篇文章。之所以会尝试自学unity独立开发自己的游戏,部分原因是因为自己对于计算机的领域的兴趣,也有自己喜欢自由自在的创造,还有部分原因是一位多年好友对开发游戏的执着。期间遇到的困难和压力也是非常具有挑战性,我们通过观看各种unity大佬的视频,搜集项目源码进行学习。实现了一个又一个功能,还是挺有成就感。我会挑选几个让我眼前一亮地代码和思路进行记录分享,也是对于自己小结。    我之后所提到的思路和代码并不适合unity初学者,尽管我也只是个初学者。因

Unity WebGL - Web与Unity交互方法

一般我们用UnityWebGL进行项目制作时会需要从Web发送数据到Unity,也会反过来从Unity调用Web方法以及发送数据,以下是一些技术点备注:1.Web向Unity发送数据:"ObjectName":场景内的一个物体名称"Method":物体上的脚本中的一个方法名称"Data":要从Web发送过去的数据gameInstance.SendMessage("ObjectName","Method","Data");2.Unity调用Web方法(只调用JS方法):"Function":Web端已加载或已引用的JS脚本中的方法名称//////发送消息-从Unity中发送消息到Web端(调用指

[Unity3D] C#脚本支持中文编码_VS编辑器

Unity大量使用脚本文件,并且自身的Inspector上支持直接预览脚本文件,这是非常好体验。但笔者遇到一个非常苦恼的事情,就是新建的脚本使用VS编辑输入中文之后,在Unity的Inspector上中文就显示成了乱码,笔者的强迫症实在无法忍受。于是乎开始寻找解决方法。第一阶段,从UnityC#Template模板上开始解决。通过搜索相关的信息,在百度上找到了一个似乎是解决方法的帖子。Unity-创建C#脚本默认编码格式为UTF8这篇文章通过在UnityC#Template上添加入中文字符来解决这个问题。如果在往常也许笔者就此停下来的,但由于目前在做框架方面的练习,立马就想到和如果笔者和他人合

Unity运用socket传输信息(同步)

客户端:在UGUI中创建两个Button,一个是连接服务器,一个是发送消息的按钮,分别绑定Connection和SendMessage两个函数并且创建一个InputField和一个Text文本,Text文本用于显示服务器回传的消息,InputField用于输入要发送的消息以下是代码:1usingSystem.Collections;2usingSystem.Collections.Generic;3usingSystem.Net.Sockets;4usingUnityEngine;5usingUnityEngine.UI;67publicclassClient:MonoBehaviour8{9

记录:Unity脚本的编写

目录前言添加脚本到unity编写c#脚本查看效果前言在学习软件构造这门课的时候,对unity和c#进行了一定程度的学习,包括简单的建立地形,添加对象,添加材质等,前不久刚好学习了如何通过c#脚本对模型进行操控,在此记录一下。使用的语言是c#,使用的工具是visualstudio添加脚本到unity首先创建一个c#脚本文件拖动文件到对应对象的状态栏的“添加组件上”这样就说明脚本已经被添加到对象上编写c#脚本添加完之后就可以对脚本进行编辑点击脚本旁边的三个点,点击编辑脚本,就会打开vs对脚本进行编辑一些基础的脚本代码usingSystem.Collections;usingSystem.Colle

Unity大面积草地渲染——1、Shader控制一棵草的渲染

目录1、Shader控制一棵草的渲染2、草地的动态交互3、使用GPUInstancing渲染大面积的草4、对大面积草地进行区域剔除和显示等级设置大家好,我是阿赵。这里开始讲大面积草地渲染的第一个部分,一棵草的渲染。按照惯例,完整shader在最后。前面是原理的介绍。一、准备的资源这里我自己随便做了一个草的模型,主要是用几个面片搭建的一个简单模型。然后我准备了一张草的贴图,带有透明通道的。把贴图赋予给模型后,在3DsMax里面草是这个样子,只是简单的几个直草。二、控制草的形态把草的模型和贴图放到Unity引擎里面,写一个最简单的漫反射加上Cutout的shader,会看到草是这个样子:这里我们需

【Unity ShaderGraph】| 如何快速制作一个炫酷 模型裁剪效果 实战

前言【UnityShaderGraph】|如何快速制作一个炫酷模型裁剪效果实战一、效果展示二、简易裁剪效果三、进阶裁剪效果四、应用实例前言本文将使用Unity的ShaderGraph制作一个模型裁剪的效果,可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章:【UnityShaderGraph】|ShaderGraph入门介绍|简介|配置环境|窗口介绍|简单案例下面就开始看一下具体的制作流程,然后自己动手制作一个吧!【UnityShaderGraph】|如何快速制作一个炫酷模型裁剪效果实战一、效果展示资源下载方式:ShaderGraph效果资源整合文件【其中内容持续

Unity地形系统Terrain

1.Terrain组件介绍2.RaiseorLowerTerrain介绍        按shift+鼠标左键,将抹平降低地形。3.SetHeight简单介绍    Height设置可升高地形的最大高度。        通过Flattenall可整体抬高地形,结合 RaiseorLowerTerrain降低地形,可以制作出洼地。再添加河流特效调整至洼地,河流就制作完成。 4.PaintTexture介绍    创建新图层将会平铺至整个地形,如泥土基础图层。

Unity使用微软SDK实现文字转语音

本文将通过使用微软语音服务SDK实现文字到语音的转换1、首先从微软官方网站现在SDK包,然后将SDK包导入新建的项目里 2、新建项目里添加一个InputField文本输入框和一个按钮即可,然后再新建一个脚本命名为TTSDemo,挂在一个物体上即可,如图3、TTSDemo代码如下:usingMicrosoft.CognitiveServices.Speech;usingMicrosoft.CognitiveServices.Speech.Audio;usingUnityEngine;usingUnityEngine.UI;publicclassTTSDemo:MonoBehaviour{publ