unity

Unity c3版本下载方法

删除回忆录丶 提交于 2020-02-24 21:19:00
c3版本为中国增强版 1、打开Unity下载官网 https://unity.cn/download 2、点击界面右上角的下载Unity蓝色按钮 3、下拉界面,找到你所需要的版本即可,我是window,所以下载的win 来源: CSDN 作者: yyyyygq 链接: https://blog.csdn.net/y18771025420/article/details/104478253

unity 教程Tanks中的Transform.InverseTransformPoint理解

半世苍凉 提交于 2020-02-24 15:23:34
Tanks教程中在处理摄像机缩放的时候使用了下面的函数,取两个坦克的中心点之后,根据两个坦克之间的距离,保证两个坦克都在屏幕中,然后进行缩放。 1 private float FindRequiredSize() 2 { 3 Vector3 desiredLocalPos = transform.InverseTransformPoint(m_DesiredPosition); 4 float size = 0f; 5 for (int i = 0; i < m_Targets.Length; i++) 6 { 7 if (!m_Targets[i].gameObject.activeSelf) 8 continue; 9 10 Vector3 targetLocalPos = transform.InverseTransformPoint(m_Targets[i].position); 11 Vector3 desiredPosToTarget = targetLocalPos - desiredLocalPos; 12 size = Mathf.Max (size, Mathf.Abs (desiredPosToTarget.y)); 13 14 size = Mathf.Max (size, Mathf.Abs (desiredPosToTarget.x) / m

[Unity] A* pathfinding project integrated with influence map

一曲冷凌霜 提交于 2020-02-24 06:06:46
简介 最近一阶段重温了一些关于游戏人工智能方面的书籍。 加强了对influence map的认知。想要亲自动手实现一下。 正如文章标题所示,这篇文章讲的是:如何将influence map的机制融入到当前较火的unity寻路插件A* pathfinding project里。 先科普一下Influence Map基本概念: influence map中文名:势力图或影响图。以下称势力图。 势力图是基于空间的,某些空间归属A,另外一些空间归属B,等等。 把问题规模缩小到一场游戏战役,每个兵种单位都占据并影响着一定的空间,且相同势力的单位对同一空间的影响可以叠加,影响值随传播距离递减。 势力图除了告诉我们某块空间的归属之外,还能告诉我们什么呢? 1,进攻方,可以根据势力图选择率先攻击敌人薄弱的地方.防御方,可以根据势力图选择一个较为安全的撤退地点。 2,进一步,统计分析,比如采取某种战略之后,观察势力图变化,可以分析之前战略效果。 3,更进一步,通过对一段时间的势力图进行对比,可以大致预测敌军的部署动向。 实现InfluenceMap 的要点 1,定义各单位的势力值传播范围,形状,特性(这是Gameplay)由于每个兵种的特性和能力值不同,故每个兵种单位的影响半径与程度不尽相同。 比如:一个坦克可以影响3km之内空间,3km之内都保持较高的影响。而一个机枪兵只能影响1km以内的空间

翻译11 Unity 透明渲染

空扰寡人 提交于 2020-02-23 20:15:14
溶解/挖孔 渲染队列 半透明材质 合并反射和半透明 Unity 5.6.6f2 1.1 如何抠掉轮廓外区域(不显示)? Unity渲染顺序 所有不透明物体优先渲染,同时开启深度测试和深度写入。 带有透明效果的物体根据摄像机距离远近,从后(远)往前(近)渲染,并开启深度测试关闭深度写入 Unity渲染模式:RenderMode Opaque - 默认, 适用于所有没有透明区域的固体物体. Cutout - 创建透明效果(挖孔掏边效果),但该效果在不透明和透明之间过渡具有硬边。 在此模式下,没有半透明区域。 当使用Cutout来创建任何带孔效果(树叶或带有孔和破烂物的布料)。 Transparent - 适用于渲染逼真的透明材料,例如透明塑料或玻璃。 材质本身将具有透明度值(基于纹理的Alpha通道和色调的Alpha),反射和照明高光将保持完全清晰可见。 Fade - 允许透明度值完全淡出对象,包括对象可能具有的任何镜面反射高光或反射。 如果要对淡入或淡出的对象设置动画,此模式很有用。 它不适合渲染逼真的透明材料,因为反射和高光也会由淡出效果。 队列RenderOrder :“Queue”=”Geometry”或“Queue”=”Geometry±1”。指示物体所在的渲染顺序层级 Background -1000 最先渲染。通常是地面 Geometry (default) – 2000

Unity发布版读取中文乱码

倾然丶 夕夏残阳落幕 提交于 2020-02-23 18:33:54
今天使用Unity读取网页数据的时候,有时候是好的,有时候显示乱码。 var request = UnityWebRequest.Get(url); // Wait for the response and then get our data yield return request.Send(); var data = request.downloadHandler.text; 后来发现网页数据写的格式是gbk,于是使用Encoding进行转换读取倒是成功了,不是乱码。 Encoding encoding =Encoding.GetEncoding("gbk"); var data=encoding.GetString(request.downloadHandler.data); 在编辑器运行没问题,但是发布出exe却发现读取的时候会报错: Unsupported encoding 'GBK': Encoding name 'GBK' not supported 后来查找才知道,因为打包出来的版本没有带dll,而编辑器带了dll,解决方法如下: 将Unity安装目录中的\Editor\Data\Mono\lib\mono\unity 目录下的 I18N.dll 和 I18N.CJK.dll 复制到Assets/Plugins目录下,打包的时候会一起打包出去就行了。 来源:

UnityYAMLMerge

你说的曾经没有我的故事 提交于 2020-02-23 00:10:59
unity的.unity和.prefabp这两种yaml资源文件是可以自动合并的,使用自带的YAMLMerge工具,还有mergespecfile.txt可以配置fallback merge tool。 另外,还有第三方可视化工具,UniMerge,比较prefab或场景之间的不同并提供简单的修改。 Ref: Smart Merge Unity项目对 git版本控制库扩展插件 Unity Git 项目解决合并冲突 Unity3D - How to Merge Scenes in GIT unity prefab差异对比插件UniMerge 来源: CSDN 作者: winzjqwin 链接: https://blog.csdn.net/winzjqwin/article/details/102999400

Unity API Mathf的使用

*爱你&永不变心* 提交于 2020-02-22 16:27:12
Mathf里面的静态常量 Deg2Rad 角度转为弧度(角度 * Mathf.Deg2Rad) Rad2Deg 弧度转为角度(弧度 * Mathf.Rad2Deg) Infinity 表示一个无限大的数字 NegativeInfinity 表示一个无限小的数字 PI Epsilon 表示一个非常小的小数 print("Mathf.Deg2Rad:" + Mathf.Deg2Rad);//角度转为弧度(角度 * Mathf.Deg2Rad) print("Mathf.Rad2Deg:" + Mathf.Rad2Deg);//弧度转为角度(弧度 * Mathf.Rad2Deg) print("Mathf.Infinity:" + Mathf.Infinity);//表示一个无限大的数字 print("Mathf.NegativeInfinity:" + Mathf.NegativeInfinity);//表示一个无限小的数字 print("Mathf.PI:" + Mathf.PI); print("Mathf.Epsilon:" + Mathf.Epsilon);//表示一个非常小的小数 Mathf中的Clamp限定方法 Abs 取绝对值 Ceil 向上取整 CeilToInt 向上取整返回int类型 Clamp 把一个值限定在一个范围之内 Clamp(float value,

Unity声音管理

和自甴很熟 提交于 2020-02-22 07:25:58
一、问题 原先写了一个 播放背景音乐的类 存在的问题是,只能播放单一的背景音乐,没法播放多个背景音乐。 二、搜索 关键词“unity3d multi audio manager” http://www.blog.silentkraken.com/2010/04/06/audiomanager/ 三、代码 using UnityEngine; using System.Collections; /// <summary> /// Filename: AudioManager.cs /// Description: Manager of ground music /// Author: Star /// Date: [12/4/31] /// </summary> public class AudioManager : MonoBehaviour { private static AudioManager instance = null; public AudioSource m_AudioMgr; private AudioClip m_PlayClip; private string m_CurMusicName = ""; public static AudioManager Instance { get { return instance; } } void Awake() {

主角场景Shader效果:光影

拟墨画扇 提交于 2020-02-21 07:06:14
基本思路:unity有一种很容易实现光影效果的神器,那就是unity自带的projector。 首先需要用到两张贴图: 一张投影需要的光圈贴图,如下: 一张根据远近距离显示暗淡的贴图(左至右,白渐变黑),如下: 主要用到两个参数:_Projector 和 _ProjectorClip mul(_Projector, vertex):用于计算要投影的图片正确的显示到场景上接受投影的位置 mul(_ProjectorClip, vertex)://用于计算投影位置和投影器之间的距离 1 Shader "xj/ModelEffect/ProjectorLight" { 2 Properties { 3 _Color ("Main Color", Color) = (1,1,1,1) 4 _ShadowTex ("Cookie", 2D) = "" {} 5 _FalloffTex ("FallOff", 2D) = "" {} 6 _intensity ("Intensity", float) = 1.0 7 } 8 9 Subshader { 10 Tags {"Queue"="Transparent"} 11 Fog {Mode Off} 12 13 Pass { 14 ZWrite Off 15 //Fog { Color (0, 0, 0) } 16 ColorMask RGB

Unity3D连接Mongodb数据库

♀尐吖头ヾ 提交于 2020-02-21 01:59:33
第一步:在Assets中新建 Plugins 文件夹。 第二步:通过DOS安装Mongodb.Driver, dotnet add package MongoDB.Driver --version 2.7.0 第三步:找这几个动态链接库。将其放到 Plugins 文件夹中,给大家一个链接,里面有动态链接库你链接:https://pan.baidu.com/s/1iWKFgIL7lApcJ-IvOK129g 提取码:yrdd 第四步:写脚本,挂在游戏对象上即可。 using System.Collections; using System.Collections.Generic; using UnityEngine; using MongoDB.Bson; using MongoDB.Driver; public class MongodbTest : MonoBehaviour { // Start is called before the first frame update void Start() { InsertData(); } private IMongoCollection<BsonDocument> DatabaseConn() { var client = new MongoClient("mongodb://localhost"); var database =