在Unity3D里使用WinForm】的更多相关文章

之前给一个游戏写过MOD,功能大概是在游戏里可以打开一个编辑器,然后可以直接在编辑器里修改到游戏数据. 编辑器UI的实现部分,一开始用的是原生GUI,即OnGUI部分,这种方式虽然最简洁,也不用引用任何外部库,但是功能实在太少太局限, 很多UI组件都要自己手动去实现. Unity内部虽然有完善的UGUI系统,但是UGUI的布局,是放在prefab上的(虽然也可以直接代码写UI,但是比较蛋疼),这样的结果就是,你必须要 将UI布局打包为一个bundle,然后再加载它,也比较麻烦. 最后想,微软自己…
注意: sendmessage只可以从网页发信息到unity游戏里,但是没有返回值 只可以发布三种类型的data,不可以其他复杂的强类型 发信息的时不会做编译检测 SendMessage Workflow Implement UnityObject2.js var u = new UnityObject2; u.GetUnity(); sendmessage(): 注意:sendmessage是blocking call,call sendMessage在Mono里的一个function是一个死…
记载一个简单的  天空盒子  的制作方法 第一步: 在 assets 文件夹下新建一个文件夹, 随便取个名字, 不过最好是用来专门管理场景游戏对象的文件夹,    例如放在这个 Skybox 里:    右键 Skybox ----> Create  ----> 选择 materia  这样, 就创建了一个材质球 第二步: 设置 材质球的属性为天空盒子   将  Shader 里的属性改为   点击下拉框  ---->  选择 Skybox -----> 再选择  6 sided…
方法很多: 1.改position,移到视野外,推荐,最节省 2.gameObject.SetActive (false); //要提前引用,要不你就改不回来了... 3.renderer.enabled = false; //多个渲染器的话,遍历 4.Destroy//假如你不再用的话 5.改透明度renderer.material.color = new Color (1,1,1,0); //如果shader支持透明通道的话 6.遮罩mask来隐藏 7.关闭单独渲染次物体的相机 8.改lay…
现开源一个项目 OEIP 项目实现的功能Demo展示 这个项目演示了在UE4中,接入摄像机通过OEIP直接输出到UE4纹理上,并直接把UE4里的RenderTarget当做输入源通过OEIP里GPU管线处理后推流出去,而另一边Unity3D也是把RenderTarget当做输入,用OEIP处理后推流,经过OEIP封装signalR技术的直播SDK通知,二边各自拉另一边的流并通过OEIP相应管线直接输出到Texture2D并显示出来.演示的机器配置是i5-7500,8G内存,有二个推1080P,拉…
不是什么技术文章,纯粹是我个人学习是遇到一些觉得需要注意的要点,当成笔记. 1.关于调试,在Android下无法断点,Debug也无法查看,查看日志方法可以启动adb的log功能,或者自己写个GUI控件直接在屏幕上显示Info 2.所有自定义的编辑器扩展插件脚本必须放在Editor文件夹里,不然会导致编译程序时出错,放到Editor文件下,编译成游戏时才会忽略这些脚本 3.打包资源时,假设是在移动设备上使用,打包方式务必选择成:BuildTarget.AndroidBuildPipeline.B…
支持插件化应用的开发框架能给程序带来无穷的生命力,也是目前很多系统.程序追求的重要方向之一,插件化的模块,在遵循一定的接口标准的基础上,可以实现快速集成,也就是所谓的热插拔操作,可以无限对已经开发好系统进行扩展,而且不会影响已有的功能,不在需要的模块,通过修改配置移除即可.我的Winform开发框架一直以来,来源于多年的项目积累以及客户的反馈,已经具备了众多很好的特性以及相关的模块组合,为了更好拥抱变化,提高基于Winform开发框架基础上开发新系统的效率,以及为框架融入更多好的特性,故此把我的…
Before 一开始知道Unty3D引擎,貌似还是大一或者大二,那时Unity3D还是收费软件,不像现在Personal Version免费. XNA|MonoGame 再后来,在Coursera上发现一门课Beginning Game Programming with C#,科罗拉多大学的课,总共12周,不过,最终却没拿到认证,因为中间有段时间公司安排出差.时间上错过了,不过,我还是完成了这门课,虽然时间已经晚了,Cousera和科罗拉多大学不会在颁发认证,但我还是看完了所有视频课程.完成了所…
目前写的独立游戏是一个沙盒类型的游戏.游戏DEMO视频如下: 提到沙盒类型的游戏,就有人给出了这样的定义: 游戏世界离现实世界越近,自由度.随机度越高才叫沙盒游戏.所谓自由度,就是你在游戏里想干啥就干啥,想开车就开车,想走路就走路.想盖房子就盖房子,没有城管来找你麻烦.那么随机度,就是每天发生的事情不能一样,做的任务也不会就一条线路可走. 在我的沙盒游戏里,地形上的树木,岩石等都是随机生成的,这样不同的人玩的地图都会不一样.当然如果最后能做到地形也随机生成那就更完美了. 下面我就讲下树木随机生成…
原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundl…
Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问题就可以解决了.(只限c#,Unity3D里的js不是原生的js,不建议在Visual Studio中编辑) 在Unity3D 4中关联Visual Studio 2012的步骤: 1.在Unity3d中选择菜单Edit->Preferences 2.在弹出窗口点击External Tools->…
Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Studio代替MonoDevelop这个问题就可以解决了.(只限c#,Unity3D里的js不是原生的js,不建议在Visual Studio中编辑) 在Unity3D 4中关联Visual Studio 2012的步骤: 1.在Unity3d中选择菜单Edit->Preferences 2.在弹出窗口点击External Tools->…
http://blog.csdn.net/myarrow/article/details/42709113 1. 简介 1.1 TerrainComposer(TC) 一个Unity扩展工具,可用于创建AAA质量的Unity地形. 1.2 WorldComposer 是Unity3d扩展工具,可从现实世界中提取数据.它可以单独运行或作为TerrainComposer的扩展. WorldComposer有一个独一无二阴影删除工具.卫星图像(它使用Microsoft卫星地图,因为Google卫星地图…
该系列笔记基于Unity3D 5.x的版本学习,部分API使用和4.x不一致. 目前在Unity3D中,除了新的UGUI部分控件外,所有的物体(GameObject)都必带有Transform组件,而Transform组件主要是控制物体在3D空间中的位置.旋转以及缩放. 学习和掌握物体的变换是Unity3D开发者必备的基础知识. 基础变换 最基础的变换就是通过脚本直接对物体的位置旋转缩放等进行变换. 匀速移动 我们下面实现一个匀速移动物体的效果,我们在场景中添加一个Cube物体,把下面的脚本绑定…
可能出现的原因: 1.项目太大了2.项目坏了3.资源坏了4.单个资源定点数超了e.   解决办法:删除了一些模型.是模型太大,面数.顶点数太多的原因.   Unity3d里查看模型的顶点数 展开fbx模型,点击里面的mesh文件,就能看到顶点数.比如下面的:1052 verts,1471 tris,uv,skin.  …
原地址:http://www.360doc.com/content/14/0120/14/11670799_346638215.shtml 篇展示在Unity3D中调用友盟SDK的实现方法. 首先附上项目源代码地址:https://github.com/hiramtan/unity3d_test_umeng SDK下载及使用方法说明见官方开发文档:http://dev.umeng.com/doc/document_ana_android.html 打开eclipse新建一个android工程:…
刚刚接触Unity3D游戏引擎,这里做点学习笔记.下面是我建立的简单场景,左侧的Hierarchy(层次)视图里显示了场景中所有游戏对象,这些基本对象可以从Create下拉菜单里创建.当你点击某个对象,比如立方体Cube时,在右侧Inspector(监视)中可以看到Cube对象的详细信息,比如它的位置信息.表面材质信息,然后可以在其中修改.下方的Project视图中的Assets(资源)里显示了游戏中所有资源,这里注意与Hierarchy视图里对象的区别,我们的游戏脚本放在Assets里.刚开始…
unity3d是支持vs2010的,但是有很多开发者反应,unity3d中的C#脚本不能用vs2012打开.我想了一下,先进入存放C#脚本的目录,在设置里面C#文件的打开方式,选择用vs2012打开,这样就可以了.不过可能稍稍有一丝麻烦,每次都要进入C#脚本目录.如果有更好的方法,可以交流. 另外,还有一种方法,大家可以试一试行不行. Unity3D自带的MonoDevelop编辑器无论是js还是c#代码提示都很差,很诡异的就是变量名和方法名有的时候提示有的时候不提示.不过用Visual Stu…
Unity3d 播放高质量视频解决方案~ 最近在折腾一个视频游戏.真的是一个视频游戏,游戏主背景是个大视频.可能切换三四个视频,而且需要无缝切换. 平台是安卓,蕊片是rockclip.找了各式各样的插件. movietexture,只能播放OGG和OVG,而且质量比较低.如果要转成高质量的视频,文件尺寸比较大. 放弃,继续找. easymovietexture, 某些机子上黑滴-兼容性不好,继续找. avipro 额,是这个名字么,最后发现只能在IOS上使用.继续找. Vuforia video…
Unity3D内存释放 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一个加载过程,只…
第二章 Unity3D的简单预览 每个Unity3D版本都会自带一个Demo源文件.在3.0的正式版中,自带的Demo就是网上展示的那款强大的射击游戏.在一般情况下,您只要第一次 打开Unity3D v3.0就会看见自带的那个Demo项目文 件了.但如果Unity3D并没有打开这个项目文件,你也可以在Unity3D里面的“File”菜单下点击“Open Project”选项,在“C:\Documents and Settings\All Users\Documents\Unity Project…
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/6505561.html 一.换装原理 游戏角色换装分为以下几步: 1.替换蒙皮网格 2.刷新骨骼 3.替换材质 上面这种是比较简单的换装,可以实现,但是一般我们为了降低游戏的Draw Call会合并模型的网格,这就需要我们重新计算UV,还要合并贴图和材质.这种复杂的实现分为以下几步: 1.替换蒙皮网格(或者直接替换模型换装部位的GameObject,因为合并的时候会合并所有的蒙皮网格,而不会关心它是否属于原来角…
WeTest 导读 做了大概半年多VR应用了,VR由于双眼double渲染的原因,对性能的优化要求比较高,在项目的进展过程中,总结了一些关于移动平台上Unity3D的性能优化经验,供分享. 一.移动平台硬件架构 移动平台无论是Android 还是 IOS 用的都是统一内存架构,GPU和CPU共享一个物理内存,通常我们有“显存”和“内存”两种叫法,可以认为是这块物理内存的所有者不同,当这段映射到cpu,就是通常意义上的内存:当映射到gpu,就是通常意义上的显存.并且同一段物理内存同一时刻只会映射到…
本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity3D,并且要CPU要占用小,以便在UE4/Unity有大的余地做更多的事件. 市面上一般1080p后的摄像头,在20桢以上都不会提供原生的rgba32数据,一般常见的有压缩格式mjpg,末压缩的一般是nv12,牛点的会提供yuv2,正常的实现会把内存流里的数据提供给对应的UE4/Unity3D,然后…
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_06.html 一.引入LibNoise 虽然Unity3D里也有一个Mathf.PerlinNoise,但是只能是2D的,这个可以生成3D的柏林噪音 https://github.com/ricardojmendez/LibNoise.Unity 二.创建GameManager对象 这个对象很简单,就是用来管理随机数种子 using System; using UnityEngi…
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_03.html 一.引入int类型的Vector3 我们都知道Unity3D里Vector3的xyz都是float类型的,但是我们的每一个Block的坐标都应该是int类型,这样在进行转换和存储的时候会有一定的消耗,所以我们先自己写一个xyz都是int类型的Vector3i类,它拥有所有Vector3的属性和方法,只是xyz都换成了int. using UnityEngine; u…
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_02.html 这一篇的内容比较简单,因为所有理论内容都在上一篇中讲到了.但有两点需要特别注意一下 第一点:我们在确定面的4个点的时候,一定要面朝它,跟它面对面. 第二点:你的四边面划分2个三边面,无论是从左上到右下划分,还是从左下到右上划分都可以.我是全部参照Unity3D中cube的各个面的划分方式来的. 贴代码↓ using System.Collections; using…
在之前版本的代码生成工具Database2Sharp中,由于代码生成都是考虑Winform和Web通用的目的,因此Winform界面或者Web界面都是单独生成的,在工具中生成相应的界面后,复制到项目里面去使用即可.由于我们Winform的界面是模块化的方式独立开发,因此对某些表来说,我们可以独立开发模块,那么它的Winform窗体界面也应该是在独立的项目上,开发完毕后,我们在主体框架里面通过菜单动态配置即可加入到系统中使用的. 1.框架插件化回顾 在Winform开发框架的程序中,实现基于插件化…
1.轴向偏转 MAX模型导入Unity3D后,X轴会自动偏转-90度.是因为Unity3D采用的是左手坐标系,而3DMax采用的是右手坐标系.无奈啊,这是很多游戏引擎跟Max结合后都会产生的问题.兼容性问题!!傻X啊MAX.这世界上绝大多数三维软件都TMD的是左手,你非要右手..主流啊主流... 也就是说MAX进入Unity3D后,Z轴就会向上,而空间坐标是Y轴向上.别认为是什么小问题..如果用程序控制物体指向时,麻烦就大了.妈逼.. 解决方案:把模型导3DS文件,再进Unity3D就不会有问题…
自:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文…