UNITY - 技术教程文章

Unity周记: 2020.06.29-07.05

1. YouTube - Unity a. Boat Attack and Universal RP in Unity! (Overview) (YouTube) b. Powerful libraries for high fidelity visualization applications | Unite Now 2020 (YouTube) c. Creating a Physics Sandbox | Beginner Prototype (YouTube) d. How to work with multiple scenes in Unity (YouTube) (Bilibili) e. Custom Pass Framework in HDRP (Tutorial) (YouTube) (Bilibili)2. Unity Tech...

关于Unity实现AR功能(二)进阶触发及手势【图】

一. 图片识别触发与图片移出视角触发ImageTarget身上“Default Trackable Event Handler”脚本中“OnTrackingFound”方法:图片识别触发“OnTrackingLost”方法:图片移出视角触发根据需要自定义重写该方法二. 对应的手机操作手势1. Input.touchCount==1 //操作的手指数量2. Input.GetTouch(0).phase==TouchPhase.Begin/Stationary...或者其他 //手指的操作类型(刚按下,静止持续按,移动持续按,取消按等等操作)3. Input.GetTou...

unity3d在ubuntu下安装及以前没注意到的细节问题【代码】

1.问题描述首先,今天(2021-5-10)在ubuntu下面安装unity3d软件发现了自己对linux仍然有一些不熟悉的操作之处1.软件安装的权限问题,2.软件要创建目录时,引起的权限问题 (以前没注意到,今天突然间想起来的) 2.ubuntu下untiy3d的安装简介(软件安装不是今天重点)本来是不想写这个模块的,但是看了看网络上这方面的教程实在是少之又少,特此,谨以此片文章送给广大学习者们.1.由于unity3d在今年刚发布不久,linux版本所以可能不太稳定 3.安...

Unity3D 实现简单的语音聊天 [iOS版本]【图】

现在很多手机游戏中的聊天系统都加入语音聊天的功能,相比于传统的文字聊天,语音聊天在MMORPG中显得尤为重要,毕竟直接口头交流总比你码字快得多了,也更直观些。实现语音聊天的方法很多,U3D中有不少第三方的插件,提供了很多功能强大的语音功能,具体有哪些我就不一一举例了(其实我都没用过- -!),本文想从一个原生开发的角度去实现一个简单的语音聊天功能。 语音聊天大概流程如图: 上图中可以看到,客户端录制语音数据,并进行...

Unity 代码规范(PlateFace)1.0版本【代码】【图】

PlateFace Unity开发规范(1.0)1.项目都采用英文名命名,图片,音频,资源都不能采用中文. 2.方法名: 帕斯卡命名(所有单词首字母大写) 3.字段: 在Unity中组件字段名第一个字母小写,其他字母大写(骆驼命名法) 4.注释: 所有公开的字段, 属性,方法, 采用文档注释, 只有私有字段,方法,可以选择注释///<summary>/// 文档注释///</summary>//普通注释 5.所有类都已LY命名空间向后扩展(建议修改Unity C#模板方便以后开发) 实体类: n...

Unity3D LuaComponent(基于ulua)【代码】

LuaComponent可以支持配一个需要执行在这个gameObject上的lua脚本,并且每个gameObject上的lua都是一个实例 using UnityEngine; using LuaInterface; using System.Collections.Generic;//Lua组件 publicclass LuaComponent : MonoBehaviour {//lua环境,需要在使用前给其赋值publicstatic LuaState s_luaState; //函数名字定义protectedstaticclass FuncName{publicstaticreadonlystring Awake = "Awake";publicstaticreadonlyst...

Unity入门

Unity入门用unity做一个最简单的交互。(相当于Hello World)只要最后能运行就算入门了。第一步,要先用三维制作软件制作出我们需要的场景。这儿使用的是Max2012(软件大小3.09G)。首先设置一下在max使用的长度单位,选择使用米为单位。设置步骤是Customize---->Units Setup---->System Unit Setup---->下拉选择Meters先用max里的平面几何体制作一片地面,操作非常简单,步骤如下:点击平面按钮,然后在三维窗口中拖动鼠标左键就可以...

跨平台c++ Coroutine,仿unity3d实现【代码】

不多说,贴代码: 4 #include "stdafx.h" 5 #include <list>6 #include <thread> 7 #include <chrono>8 9struct ICoroutine10{11virtualvoid reset(){}12virtualbool move_next(int & r, float & fv) { returnfalse; }13virtual ~ICoroutine() {}14public:15float mWaitSeconds;16};17 18 template<typename T>19struct _IGenerator : public ICoroutine20{21 T* _stack;22int _line;23 _IGenerator() :_stack(0), _li...

Photon + Unity3D 在线游戏开发 学习笔记(两)【图】

本文和大家 和大家说说 Photon 解压后的目录结构 这里面最基本的我们 以后开发要用到的目录 就是 deploy目录,这个目录里 放的是要挂载的 server 当然我们的 server端也要放在里面,它里面有自带的一些server端应用doc 顾名思义 帮助不大lib 我们开发server 时候在 Visual Studio 要引用的库文件src-server 我们可以顾名思义哈萨克斯坦这里这个权利哈版权声明:本文博客原创文章,博客,未经同意,不得转载。原文:http://www....

unity5, 在mac下多开【图】

mac上app的多开与app本身无关,而是系统本身的功能,使用命令 open -n 就可以实现打开某应用程序的一个新实例(自行输入man open查看含义)。 参考:http://mac-how-to.wonderhowto.com/how-to/run-multiple-instances-same-app-mac-os-x-0140144/用这个方法可以实现unity的多开。我的mac上unity.app的路径如下:所以:1,打开终端。2,cd ~ 进入用户目录,然后运行命令:open -n /applications/Unity/Unity.app则弹出一个unity启动对...

Unity相机的跟随、拉进拉远、 旋转的效果实现

将脚本挂到相机上private Transform player;//角色 private Transform tran;//相机 private Vector3 offsetPoint;//位置偏移 private bool isRotate = false;//是否旋转 public float distence = 0;//相机与角色的距离 public float scrollSpeed = 10f;//拉进拉远速度 public float rotateSpeed = 2f;//视野旋转速度 void Start(){ tran = transform; player = GameObject.FindGameObjectWithT...

Unity3d通过脚本生成apk【代码】

参考链接:http://www.jianshu.com/p/a9261113b4ac照着链接的方法并没有正确生成APK,IPA没有测试过,不过大致的方法是正确的,修改如下: Environment.bat:: set your own Unity path set unity="D:\Program Files\Unity\Editor\Unity.exe" :: -debug or -release set debugParam=-releaseset projectPath="E:\mycode\test\testpro" UnityToApk.batcall Environment.batecho "Start Build Unity to Apk"%unity% -batchmode -projec...

Unity日志工具——封装,跳转

Unity日志工具——封装,跳转By D.S.Qiu尊重他人的劳动,支持原创,转载请注明出处:http://dsqiu.iteye.com? ? ? ?? ? ? ? 好久没有写博客分享了,主要有三个原因:1.iteye博客不支持公式等高级特性的支持(不知道iteye的产品经理是怎么想的),就一直想自己搭建一个类似stackedit.io编辑器的博客站点,一直没有憋出来就一直没继续写了;2.自己想做的事情太多了(比如像写一个Visual Studio MFC的那种界面一样的Unity UGUI编辑工具...

Unity3D 5.0版本 加载dll报错, 换用4.5 版本可以正确运行与导出(x86版本)

在Unity3D环境下测试UnityWebCore和awesomium等用来在Unity中显示网页的插件时, 发现总是不能加载dll文件.Win64环境, Unity5.0(64bit)报错内容如下:Failed to load ‘Assets/Plugins/awesomium.dll‘, expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386.网上的回答都是说该dll为32bit的, 换用64bit的就可以了.但是插件官网只提供了一个Demo, 所以应该是通用的.最后的解决办法是换用4.6版...

Unity中屏幕坐标、视图坐标和世界坐标的相互转换【代码】

我们在设计游戏的时候,经常会进行坐标系的变换,Unity为我们提供了多个变换的API,这里主要对它们的使用做一个总结整理!在Unity中我们通常会用到以下几个坐标系下的点:世界坐标系:World Space简单来讲,我们通过 transform.position | transform.rotattion 获取得到的位置和旋转信息都是基于世界坐标系的,可以说,我们的很大一部分操作都是基于世界坐标系。观察坐标系:Eye Space我们在Unity的Game视图中观察的画面始终是由摄...

Unity3D 通用提示窗口实现分析(Inventory Pro学习总结)【代码】【图】

背景游戏中的UI系统或者叫做GUI窗口系统主要有:主要装备窗口(背包,角色窗口也是一种特殊窗口)、确实提示窗口(如购买确认)、信息提示窗口(一遍没有按钮,ContexntMenu)和特殊窗口(聊天记录或者技能树),前篇已经介绍分析了Inventory Pro确认提示窗口的设计和实现方式,这篇主要讲一下信息提示窗口的实现。本以为提示窗口是比较简单的,毕竟没有按钮事件交互的问题,但是分析了下源代码还是让我有些惊讶,插件作者在提示窗口...

C# Unity游戏开发——Excel中的数据是如何到游戏中的 (二)【代码】【图】

本帖是延续的:C# Unity游戏开发——Excel中的数据是如何到游戏中的 (一) 上个帖子主要是讲了如何读取Excel,本帖主要是讲述读取的Excel数据是如何序列化成二进制的,考虑到现在在手游中应用很广泛的序列化技术Google的ProtoBuf,所以本文也是按照ProtoBuf的方式来操作的。ProtoBuf是一个开源库,简单来说ProtoBuf就是一个能使序列化的数据变得更小的类库,当然这里指的更小是相对的。好了ProtBuf的东西就不在多说,以后会专门写一...

解决Unity的 The file &#39;MemoryStream&#39; is corrupted! Remove it and launch 崩溃问题

孙广东 2015.7.30问题: 在项目平时删除资源或者脚本资源时产生的prefab的脚本引用丢失,特别是在场景scene中丢了解决方式/// 1、又一次Clone项目/// 2、删除项目的 Library 目录(推荐、解决紧急问题)/// 3、使用这个脚本解决全部问题(这个当然推荐了)http://forum.unity3d.com/threads/editor-want-to-check-all-prefabs-in-a-project-for-an-attached-monobehaviour.253149/#post-1673716using UnityEngine; using Unity...

unity web 自适应屏幕代码

<style type="text/css"> <!--html, body { width: 100%; height: 100%; overflow: hidden; padding: 0px; margin: 0px; border: none; } body { width: 100%; height: 100%; overflow: hidden; font-family: Helvetica, Verdana, Arial, sans-serif; /*background-color: white; ...

Unity3D获取当前键盘按键【代码】

获取当前键盘按键,代码如下:using UnityEngine; using System.Collections;publicclass GetCurrentKey : MonoBehaviour {KeyCode currentKey;void Start (){currentKey = KeyCode.Space;}void OnGUI(){if (Input.anyKeyDown){Event e = Event.current;if (e.isKey){currentKey = e.keyCode;Debug.Log("Current Key is : " + currentKey.ToString());}}} } 原文:http://www.cnblogs.com/JMcc020/p/4953580.html

Unity客户端架构设计视频教程

Unity客户端架构设计视频教程 课程讲师:海洋 课程分类:游戏开发 适合人群:中级 课时数量:20(42节)课时 更新程度:完毕 用到技术:Unity客户端,UI设计框架,Avatar换装,Protobuf-net等 涉及项目:搭建Unity客户端 UI设计框架以及Avatar换装和移动端热更新技术实现以及Protobuf-net在Unity中运用 咨询QQ:1609173918 下载链接:http://down.51cto.com/data/2037002 1.课程研发环境 开发工具:Unity4.6和VS2008 2.内容...

Unity_UGUI翻译(3)Visual Components【图】

Visual Components(可视化组件) There are new components and gameObjects that have been added with UI that allow for ease of creation and GUI specific functionality. This section will cover the basics of the new gameObjects that can be created.在UI系统中添加了一些新的组件和游戏物体,它们的创建非常简单,而且也可以使用特定的GUI功能.在这一节中将介绍一些新添加的游戏物体的基本功能.TextThe Text component, w...

Android开发 Unity3D基础 Android Development

开发环境Window 7Unity3D 3.3.0MB525 defy Android 2.1-update1本次学习:1.认识Unity2.Unity3D环境搭建与Android软件生成3.Unity3D基本使用方法1.认识Unity3DUnity3D是一个让开发者能够在多平台制作同一款游戏的游戏开发工具,有专业的图像处理和游戏引擎,能做出各式各样的游戏。羽化以前认为Android游戏开发只能在Eclipse里面死活敲代码,也许是自己阅历不够,不知道游戏引擎能给游戏开发带来如此大的便利,无论是3D 游戏还是2...

Program community index

原文:http://www.cnblogs.com/root-wang/p/3873866.html

Unity ShaderLab 学习笔记(一)

因为项目的问题,有个效果在iOS上面无法实现出来~因为shader用的HardSurface的,在android上面跑起来没有问题~以为在iOS上也不会有问题,但是悲剧啊,技能效果一片漆黑~而且之所以在iOS上面跑6.8FPS,就是因为HardSurface造成的~没办法临时抱佛脚,一边看视频教程,一边看着圣典的翻译,学一下吧~但愿能学会......哎...... ShaderLab语法:Properties Properties { Property [Property ...] }定义属性块,其中可包含多个属性,...

Unity中的全局坐标系和局部坐标系

全局坐标系描述游戏场景内所有物体位置和方向的基准,也称为世界坐标系。在Unity场景中创建的物体都是以全局坐标系中的坐标原点(0,0,0)来确定各自的位置的。局部坐标系每个物体都有其独立的坐标系,并且随物体进行相同的移动或者旋转,也称为模型坐标系或物体坐标系。模型mesh的Transform保存的Position、Rotation和Scale都是相对于父类GameObject,父子物体的坐标系是关联的,此时子物体会以父物体的坐标点为自身的坐标原点。原文...

Unity 简易聊天室(基于TCP)(2)【图】

客户端用Unity开发,主要就是搭建一下聊天室的UI界面:输入框,聊天内容显示框,发送按钮 灰色背景的就是Message,也就是聊天内容的显示框,是一个Text类型,这里创建UI方面就不多讲了 在Canvas下挂一个ChatManager脚本 using System;using UnityEngine;using System.Net.Sockets;using System.Net;using UnityEngine.UI;using System.Text;public class ChatManager : MonoBehaviour {   private Socket clientSocket;  ...

Unity3D研究院之在开始学习拓展编辑器(一)【代码】【图】

Unity拥有非常丰富的拓展编辑器接口,如果是在网上下载过别人写的插件,你会发现为什么它的监测面板视图和普通的不一样?其实是他通过代码自己绘制的监测面板,这篇博文MOMO带大家来学习编辑器。如下图所示,这是我通过代码拓展的面板视图。 下一条简单的脚本,绑定挂在摄像机上。using UnityEngine; using System.Collections;public class Test : MonoBehaviour {public Rect mRectValue ;public Texture texture; } 如图所示,在...

Unity3D 面试ABC

最先执行的方法是:1、(激活时的初始化代码)Awake,2、Start、3、Update【FixUpdate、LateUpdate】、4、(渲染模块)OnGUI、5、再向后,就是卸载模块(TearDown),这里主要有两个方法OnDisable与OnDestroy 高频问答的问题:1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照...

关于Unity中摇杆的操作【代码】

之前在解决摇杆控制角色的时候使用的是RPG游戏中主角的运动方式,有八个方向,最近找到一个新的方法,可以比较流畅地控制角色各个方向的移动步骤1.Easy Touch插件,角色控制器组件 2.在控制角色运动的脚本的Update方法中float x = this.joystick.JoystickTouch.x;//摇杆坐标系的X坐标float y = this.joystick.JoystickTouch.y;//摇杆坐标系的Y坐标if (y != 0 || x != 0) {//设置角色的朝向(朝向当前坐标+摇杆偏移量) transform....