unity

Unity VS脚本自动添加头部注释

♀尐吖头ヾ 提交于 2019-11-30 18:36:58
1.首先找到Unity的安装目录下文件夹ScriptTemplates:D:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates,Unity中的脚本创建使用的是模板拷贝,拷贝的就是这个文件夹下的脚本。 2.打开里面的 81-C# Script-NewBehaviourScript.cs,这个是创建C#脚本的模板,在里面添加注释内容: /** *Copyright(C) 2015 by #COMPANY# *All rights reserved. *FileName: #SCRIPTFULLNAME# *Author: #AUTHOR# *Version: #VERSION# *UnityVersion:#UNITYVERSION# *Date: #DATE# *Description: *History: */ using UnityEngine; using System.Collections; public class #SCRIPTNAME# : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } } 3.修改后保存

Unity 实现橡皮擦效果

本秂侑毒 提交于 2019-11-30 18:18:46
我所实现的橡皮擦效果是设置图片某点的像素的透明度为0,来简单实现擦除效果的; 下面是效果 首先需要注意两点:1:设置 Main Camera 的 projection 属性为Orthographic 2:设置Canvas 的Render Mode 为 Screen Space - Camera 然后找一张图片,导入Unity 中并修改它的读写权限,创建Raw Imager 这样启动之后就可以测试效果了。 附上代码:(代码中有解释) 1 using AYUI.UIFrame; 2 using DG.Tweening; 3 using System; 4 using System.Collections; 5 using System.Collections.Generic; 6 using UnityEngine; 7 using UnityEngine.EventSystems; 8 using UnityEngine.UI; 9 10 public class EraseMask : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandler 11 { 12 13 //是否擦除了 14 public bool isStartEraser; 15 16 //是否擦除结束了 17 public bool

【Unity Shader】---数据类型和关键字

吃可爱长大的小学妹 提交于 2019-11-30 18:03:34
推荐: https://www.cnblogs.com/nanwei/p/7277417.html 上面链接作者的整个系列都写的不错 https://www.cnblogs.com/nanwei/category/1025420.html 【Unity Shader】---数据类型和关键字 一、基本数据类型: Cg支持7种基本的数据类型 1、float,32位浮点数据,一个符号位。浮点数据类型被所有的图形接口支持; 2、half,16位浮点数据; 3、int,32位整形数据 4,fixed,12位定点数, 5、bool,布尔数据,被所有的图形接口支持; 6、sampler*,纹理对象的句柄,分为sampler、sampler1D、sampler2D、sampler3D、samplerCUBE和samplerRECT。 二、内置的数据类型 基于基础数据类型,如float3,表示float类型的三维向量;同理,bool2表示布尔类型的二维向量。 注:向量最长不能超过四元,如float5 vector;//编译错误 向量的赋值:     float2 a=float(1.0,1.0); //编译通过 float2 a=float(1.0f,1.0f); //编译错误 float3 b=float(a,0.0); //编译通过 矩阵数据类型:     float1X1 m1; /

Unity Awake与Start

三世轮回 提交于 2019-11-30 16:06:47
Awake:脚本加载的时候执行的代码(脚本挂载在场景内的物体这个物体必须是激活的挂在它身上脚本激活或者不激活都会被执行),也就是Awake只与挂载脚本的物体是否激活有关,并且在关闭激活的物体再次激活时并不会再次执行。 Start: 在脚本所挂载的物体被激活的情况下,脚本被激活Start开始执行,并且再次关闭已激活的脚本后再激活也不会再次执行Start。 如果有在物体关闭或打开所需执行的代码就放在OnEnable和OnDisable中执行。值得注意的是OnEnable和OnDisable都是响应于SetActive, SetActive(true),触发MonoBehaviour.OnEnable()事件,就算对象之前本就是activeSelf==true,事件依然会发生; SetActive(false),触发MonoBehaviour.OnDisable()事件,就算对象之前本就是activeSelf==false,事件依然会发生; 2019-09-28 来源: https://www.cnblogs.com/v5-otto/p/11603218.html

unity 打开指定路径文件夹

可紊 提交于 2019-11-30 15:53:53
public static void OpenDirectory(string path){ if (string.IsNullOrEmpty(path)) return; path=path.Replace("/", "\\"); if (!Directory.Exists(path)){ Debug.LogError("No Directory: " + path); return; } //可能360不信任 System.Diagnostics.Process.Start("explorer.exe", path); } public static void OpenDirectory(string path){ // 新开线程防止锁死 Thread newThread=new Thread(new ParameterizedThreadStart(CmdOpenDirectory)); newThread.Start(path); } private static void CmdOpenDirectory(object obj){ Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.Arguments = "/c start " + obj.ToString();

C# Ioc容器Unity,简单实用

会有一股神秘感。 提交于 2019-11-30 15:08:33
原文: C# Ioc容器Unity,简单实用 开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug 好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类。 首先我们需要通过nuget来安装unity 安装好后就可以写一个方法类去实现依赖注入 public class UnityIocHelper : IServiceProvider { private readonly IUnityContainer _container; private static readonly UnityIocHelper dbinstance = new UnityIocHelper("DBcontainer"); private UnityIocHelper(string containerName) { UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity"); _container = new UnityContainer(); section.Configure(_container, containerName); } public static

Unity AI 感知侦探

China☆狼群 提交于 2019-11-30 15:05:45
游戏中AI的感知用的最多的是看到或者听到,也就是: 1.视觉感知 2.听觉感知 视觉感知: 视觉感知一般会有一个视野范围,这个范围与角色的朝向有关,只有在视觉范围内角色才有可能感知得到,这个范围与一个扇形接近,可以直接用半径和角度来控制。 潜在目标除了需要在视视觉范围内之外,探索者的视线还不能被其他障碍物遮挡,这里可以用射线来检测——发出一条从探索者到潜在目标的射线,如果目标是这条射线撞到的第一个单位,则该单位可以被看到,否则被忽略。 1 using System.Collections.Generic; 2 using UnityEngine; 3 4 public class AIViewPerception : MonoBehaviour 5 { 6 //视野半径 7 public float radius=10f; 8 //视野的角度范围 9 public float angel=120f; 10 11 //侦察的结果 12 public List<GameObject> PerceptionResult { get; private set; } 13 14 /// <summary> 15 /// 进行一次侦察 16 /// </summary> 17 /// <param name="explorer">探索者</param> 18 /// <param name=

unity UTF8格式加载和保存xml

▼魔方 西西 提交于 2019-11-30 15:05:26
UTF8格式加载xml string xmlPath="D:/xxx.xml" FileLoader fileLoader=new FileLoader(); fileLoader.loadAsync(xmlPath); fileLoader.onComplete-=onloadXmlComplete; private void onloadXmlComplete(byte[][] bytesList){ fileLoader.onComplete-=onloadXmlComplete; byte[] bytes=bytesList[0]; if(bytes!=null){ string xmlString=System.Text.Encoding.UTF8.GetString(bytes); xmlDocument=new XmlDocument(); xmlDocument.LoadXml(xmlString); } } UTF8格式保存xml xmlDocument.Save("D:/xxx.xml"); FileLoader.cs using System; using System.IO; using System.Threading.Tasks; using UnityEngine; /// <summary> /// 文件加载器 /// </summary>

SreamVR与VRTK(VRTK基础使用)

走远了吗. 提交于 2019-11-30 13:22:54
1.首先SreamVR与VRTK版本要相互匹配,此案例中使用的时SreamVR1.2.3与VRTK3.3.0,unity版本2018.3.14,VRTK3.3.0不支持SteamVR2的版本。 SreamVR1.2.3版本下载地址 https://github.com/ValveSoftware/steamvr_unity_plugin/releases vrtk3.3.0版本下载地址 https://github.com/ExtendRealityLtd/VRTK/tree/3.3.0 来源: https://www.cnblogs.com/dream-seeker-201907/p/11592731.html

【Unity与Android】01-Unity与Android交互通信的简易实现

北城以北 提交于 2019-11-30 06:37:46
前言 使用Unity也有不短的时间了,安卓包也打过不少,但是对Unity与Android的交互却知之甚少。 因工作需求,需要在Android平台接一些sdk(扩展功能)。我就借此机会就了解了下Unity与Android交互的一些知识,并做了一个简易实现。 现将实现步骤记录下来以供日后查阅。 一、开发准备 Unity、Android Stuido以及JDK安装,这些都是基本操作了,网上也有很多教程,这里不细述。 本次开发所使用的软件版本如下: Android Studio 3.5 Unity 2018.3.10f1 Java 1.8.0191 二、要实现的功能 要在unity项目中进行安卓功能扩展,有两种方式: 1、Unity项目导出为Android工程,然后在Android Studio(后文简称为 AS )中进行二次开发,添加扩展功能。这样的方式开发起来很灵活,改动起来也很方便,但是就是很麻烦。 2、将扩展功能制作成Android库文件(jar包),然后将jar包导入到Unity中,直接使用。这样的方式,使用者无法修改这个库文件的功能,但也同时降低了使用成本 。 因为我将要做的功能可能会在团队内传播使用,也不需要每个人都去做改动。因此选择第二种方式。 所以本文的目的就是: 制作一个Android库文件(jar包),然后在Unity中使用它。 三、如何制作Android库文件 1