unity

unity--跟随

纵饮孤独 提交于 2020-01-02 21:43:24
https://blog.csdn.net/u011484013/article/details/53931181 玩家: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { float h = Input.GetAxis ("Horizontal"); float v = Input.GetAxis ("Vertical"); if(h!=0 || v!=0){ transform.LookAt (transform.position+new Vector3(h,0,v)); transform.Translate (transform.forward*Time.deltaTime*5f,Space.World); } } } 宠物“: using System.Collections; using System.Collections.Generic; using UnityEngine;

Unity报错:This MeshCollider requires the mesh to be marked.....

拈花ヽ惹草 提交于 2020-01-02 13:40:07
运行或者打包时候报错:This MeshCollider requires the mesh to be marked as readable in order to be usable with the given transform. 解决方法:开启mesh的读写 可以写一个批量处理的脚本: using UnityEngine; using UnityEditor; using System.IO; public class FixModel { [MenuItem("Tools/FixModel")] static void Fix() { var fs = Directory.GetFiles(Application.dataPath, "*.FBX", SearchOption.AllDirectories); foreach(var f in fs) { var path = f.Replace(Application.dataPath, "Assets"); var imp = AssetImporter.GetAtPath(path) as ModelImporter; if(null == imp) { Debug.LogError(Path.GetFileName(f) + " is not a Model"); } else { if(!imp

UNITY->(width*height)style Inventory

烂漫一生 提交于 2020-01-01 12:24:34
项目过后对项目功能进行记录,(width*height)风格背包实现细节,包含对物体的存放,装备,替换,对未知装备的鉴定,物体前缀的获取,项目类型为tcg+rpg,背包的作用主要为游戏中的物品的获取存放,卡牌的获取管理,对可叠加物品的存放,(width*height)的目的为对物品的存放管理,其效果如下 基础物品 (width*height)      物品的创建通过ScriptObject进行创建,根据物品类型设计相关的尺寸(width*height),利用deepcopy创建实体存放如背包,项目的物品管理通过一个独立的类 ItemDatabase进行管理,在玩家获取一个新物品(未鉴定),通过一个随机生成类来产生词缀和属性     本项目物品的生成通过deepcopy生成物品并添加进itemdatabse,Itemdatabase的作用对游戏物品资产的管理以及生成,有利于未知装备的生成,在对商品商管理上,添加未知随机的装备可以为游戏的物品提高游戏性      public static ItemClass DeepCopy(ItemClass obj) { GameObject oj = obj.worldObject; //ItemClass is item base class ItemClass i = (ItemClass)Process(obj); i

Unity Shader中两种模拟瓶中液体的方法

别来无恙 提交于 2020-01-01 10:42:26
前言 作为一个没有什么实际项目可以让我去操作练手的shader新手,只能在网上看看别人的一些想法并学习一下。我之前通过科学上网在推特上看到了Joyce[MinionsArt]@minionsart大神(有条件的朋友可以关注一下他,真的很有帮助)的用shader模拟液体晃动的效果,便尝试写了写,大体思路总归是那个思路,但是具体实现还是很有我个人风格的,与他的并不完全一致,可以说是简单了很多。写这篇博客是因为并没有在国内网站上找到类似的实现,所以给大家分享一下。 两种方法介绍 第一种方法是用 片元裁剪 控制水面高低,然后用背面渲染模拟水面(这是上面提到的Joyce的想法,这种方法实现简单且对液体形状要求比较灵活,但是因为没有水面,所以有些后续效果实现不了)。第二种就是 顶点动画 ,知乎上已经有人实现了一些基本效果,想看具体的实现可以 点击这里 ,也可以继续看我的这篇博文(实现方法类似但是我的在某些细节处理上比较简单)。 最终效果 首先话不多说,上效果图 上面这张图片是第一种方法的最终效果图,第二种方法是一样的,所以我就只写了Shader,没有脚本去控制动画。 第二种方法的效果图如下 具体实现方法 片元裁剪 这种方法对于外面的罩子可以用一个稍大于液体的同样形状的物体来模拟,也可以把罩子和液体当作一个物体渲染,就是在液体的基础上按法线方向挤出一定距离来渲染罩子

快速查找Unity中的死循环

懵懂的女人 提交于 2020-01-01 04:41:42
1、编写一个死循环方法,然后运行调试vs 2、运行Unity执行到死循环的时候,Unity编辑器会卡死 如图: 3、切换到vs界面,点击调试-窗口-线程 如图: 4、出现线程窗口,并暂停调试 5、双击调试窗口中的方法,这时就会自动定位到死循环位置 来源: CSDN 作者: wotingdaonile 链接: https://blog.csdn.net/wotingdaonile/article/details/103772863

打造lua组件化开发模式 37

◇◆丶佛笑我妖孽 提交于 2019-12-31 02:10:37
1)笔记 1:lua启动脚本开发入口 Update: FixedUpdate,LateUpdate-->进入进来; main.lua加上这些入口,xLuaMgr-->调用这些接口,Mono机制-->lua脚本里面; 2: lua组件化开发模式理念: lua脚本也做组件化开发? (1)大家习惯了; (2)lua调用unity接口,非常方便: 组件化 + 真正的在Unity添加组件-->再装载Lua脚本; !!!组件化 + 不通过Unity + 纯Lua组件开发的模式(选择这个); 我们自己定义Lua组件,自己"添加"Lua组价到gameObject; 我们在Lua脚本层驱动update, fixedupdate, lateUpdate-->绕开Unity组件实例; 3:Lua组件类基类的设计; (1)所有的Lua组件类都继承自LuaBehaviour; (2)扩展函数-->定义一个新的类-->继承基类 (3)组件实例2个成员: transform, gameObject,进来和Unity习惯保持一致; (4)类和类的实例继承-->前面xlua语法; 4:Lua组件化与GameObject的管理; (1)GameObject与纯Lua组件实例的管理; (2)LuaGameObject模块, GameObject.init, ; 5:Lua MonoBehaviour的开发的入口; 6

Unity 平台相关宏定义

孤人 提交于 2019-12-29 01:18:18
Platform Defines Macros The platform defines that Unity supports for your scripts are: UNITY_EDITOR Define for calling Unity Editor scripts from your game code. UNITY_STANDALONE_OSX Platform define for compiling/executing code specifically for Mac OS (This includes Universal, PPC and Intel architectures). UNITY_DASHBOARD_WIDGET Platform define when creating code for Mac OS dashboard widgets. UNITY_STANDALONE_WIN Use this when you want to compile/execute code for Windows stand alone applications. UNITY_STANDALONE_LINUX Use this when you want to compile/execute code for Linux stand alone

unity圆形Slider

风流意气都作罢 提交于 2019-12-28 02:36:42
如题 Runtime using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; /// <summary> /// 环状进度条 /// </summary> public class CircleSlider : Selectable , IDragHandler , IEndDragHandler , IBeginDragHandler { [SerializeField] private RectTransform m_HandleRect; public RectTransform handleRect { get { return m_HandleRect; } set { if(SetPropertyUtility.SetClass(ref m_HandleRect, value)) { UpdateCachedReferences(); UpdateVisuals(); } } } [SerializeField] private RectTransform m_FillRect; public RectTransform

一、Unity 3D入门之--面板介绍

。_饼干妹妹 提交于 2019-12-27 20:26:22
Unity 3D入门之--面板介绍 1. 面板布局 2. Project 面板 3. Hierarchy面板 4. Inspector 面板 5. Scene 面板 6. Game 面板 1. 面板布局 打开Unity新建项目之后,可以看到如下界面,这是默认的面板布局。 当然,可以在右上角 Layout 下拉选择框选择自己喜欢的面板风格。可以看到我选择的是 2 by 3 布局。 2. Project 面板 Project面板是 项目面板 ,用于存放游戏的所有资源,对应游戏的资源目录结构,也就是项目文件夹中的Assets目录,例如场景、脚本、音频等。 可以通过点击主菜单上的 Assets 创建资源,也可以通过点击Project 面板上的 Create 来创建游戏资源。 3. Hierarchy面板 Hierarchy面板是 层次面板 ,用于显示当前场景中所有游戏对象(GameObject)的层级关系,例如一些3D模型,组件实例等。 可以通过主菜单创建游戏对象,也可以通过点击Hierarchy面板上的 Create 来创建游戏对象。 4. Inspector 面板 Inspector面板是 检视面板 ,用于显示当前选中的资源或游戏对象的附加组件和属性信息,并可以在此面板中对组件和属性进行修改,例如位置、大小、重力等,可将其理解为属性编辑器。 5. Scene 面板 Scene面板是*

使用IntelliJ Idea调试unity项目中lua代码

﹥>﹥吖頭↗ 提交于 2019-12-27 14:26:03
本文参考了 https://blog.csdn.net/Admin_Jhon/article/details/76593887 ,感谢! 因为游戏需要热更新,所以用了lua的框架,但是unity和vs搭配可以调试C#代码,lua代码就捉急了,之前用vscode调试过,后来发现有人说IntelliJ Idea可以调试,网上搜罗一番,终于搞好了。 下载安装好IntelliJ Idea后(这个软件需要购买激活码,但是网上也能搜到好多,不提倡盗版哈【手动滑稽】) 创建一个空项目: 然后下载emmyLua插件,在Plugins中直接搜就可以,搜不到的话就点Search in repositories搜,找到之后点Install安装。 1-> 2-> 3-> 安装好后添加项目lua文件夹,要包含lua框架文件, 1-> 2-> 3-> 选择自己的项目目录就可以了 4-> 一路next就可以了 最后呢,就是在附加到unity进程就可以调试lua代码了 来源: CSDN 作者: 我还可以再学一点 链接: https://blog.csdn.net/shuai1210/article/details/103728416