unity打包web以使用连接的麦克风录制到AudioClip,从devices属性中获取已连接麦克风的列表,然后使用Start和End函数使用一个可用设备启动或结束录制会话。
1、Microphone类录取保存到AudioClip中的格式为PCM格式默认16000hz、16位、单通道,这些属性在转码时很关键。不管你是自己从Unity中拖音频文件到AudioClip中还是用Unity中Microphone类录制音频到AudioClip,一定要知道AudioClip中的音频编码格式。
2、使用时需要请求权限,特别是iOS,不然没有提示,就是不能使用,而且需要在PlayerSetting–>Configuration里填写权限申请的说明。
3、iOS上Unity勾选了PerparaiOSforRecording会导致录音功能失效。
Flash Player Setting即Flash播放器设置(选项管理)软件。
这个软件可以帮助用户对手机里的Flash播放器的存储、保密性和网络等进行设置。
这个给你参考吧,我从别的地方复制到自己电脑里的,什么地方复制的忘记了。
要想做更高级的地图,要下功能更全的地图编辑器,我自己有1个,加我吧,发给你:523615398。
层的介绍
现在来介绍层(layer)
层里面有好几个选项
其他的大家都知道
重点的是地点层(location)
这是RPG地图不可缺少的
选中地点层,你可以用鼠标拖一个框,里面就是地点了。
你可以给这个地点改名
比如改成学校,家里。。。
这对后面要讲的触发器是有很大联系的。
有的触发必须依赖地点而存在
接着讲Force,玩家组队
你可以把8个玩家分成4队
还可以给每个队改名
联盟的相关介绍
结盟就是这组玩家是盟友
结盟胜利就是但一个玩家胜利,全组胜利。
任意开始地点就是这组玩家的开始地点是随机的。
(其实是玩家随机)
第3个要讲的是 Player Setting(玩家设定)
它在player菜单下
在这里,你可以设定玩家由谁扮演。
是人(human),还是电脑(computer),还是中立的,(nautral)
或是走近就可以变成自己的兵的(resuable)
在unit的页面下,你可以设定那个玩家可以造什么兵。
不可以造什么兵
在upgrade下,你可以设定玩家的初始升级资料。
和允许/禁止玩家的某种升级
Speical Ablities就是魔法设定了。
Tirgger触发(板机)的介绍。
如果你理解了第一章的内容
已经有一定基础了
可以开始进阶内容了
现在讲的是RPG地图的核心内容--触发器(trigger)
触发器有人说很难
其实非常非常…………(此处省略N个非常)简单。
任何一个正常人都可以理解
Trigger的组成
触发器分3个部分
执行人,条件,结果
执行人随便写,只有一个触发和执行人有关(是结盟的触发)
注意,如果你写 force 4 (第4组)
而force 4你没有放一个玩家。
或有一个人类玩家,但他没加入游戏。
那么执行人为 force 4 的触发都不会执行。
(就是要有人或电脑来执行)
条件有很多种
ACCUMULATE Player accumulates quantity resources.。
该玩家积累多少资源时
ALWAYS Always.
总是
BRING Player brings quantity units to location.。
该玩家带多少单位到特定区域时
COMMAND Player commands quantity units.。
该玩家控制多少单位时
COMMAND THE LEAST Current player commands the least units.。
当前玩家最少控制多少单位时
COMMAND THE LEAST AT Current player commands the least units at location.。
当前玩家在特定区域最少控制多少单位时。
COMMAND THE MOST Current player commands the most units.。
当前玩家最多控制多少单位时
COMMAND THE MOST AT Current player commands the most units at location.。
当前玩家在特定区域最多控制多少单位时。
COUNTDOWN TIMER Countdown timer is duration game seconds.。
游戏时间倒数计时多少秒时
DEATHS Player has suffered quantity deaths of unit.。
该玩家损失多少单位时
ELAPSED TIME Elapsed scenario time is duration game seconds.。
游戏时间经过多少秒时(游戏时间)
HIGHEST SCORE Current player has highest score points.。
当前玩家得分最高时
KILL Player kills quantity units.。
该玩家杀死一定数量的单位时
LEAST KILLS Current player has least kills of unit.。
当前玩家杀死单位最少时
LEAST RESOURCES Current player has least resources.。
当前玩家积累资源最少时
LOWEST SCORE Current player has lowest score points.。
当前玩家得分最低时
MOST KILLS Current player has most kills of unit.。
当前玩家杀死单位最多时
MOST RESOURCES Current player has most resources.。
当前玩家积累资源最多时
NEVER Never. 从不。
OPPONENTS Player has quantity opponents remaining in the game.。
该玩家在游戏拥有多少对手时
SCORE Player score type score is quantity.。
该玩家得分是多少时
SWITCH Switch is set.。
开关被设置或清除时
结果也有很多种
CENTER VIEW Center view for current player at location.。
将画面转至某特定区域
COMMENT Comment: comment.。
对触发器加以说明,使之便于阅读。
CREATE UNITS Create quantity unit at location for player。
在特定区域为玩家创造一定数量的单位。
CREATE UNITS WITH PROPERTIES Create quantity。
unit at location for player. Apply properties。
在特定区域为玩家创造一定数量的具有一定属性(如隐形,钻地等)的单位。
DEFEAT End scenario in defeat for current player.。
当前玩家任务失败
DISPLAY TEXT MESSAGE Display for current player: text.。
为当前玩家显示一些交代文字
DRAW End the scenario in a draw for all players.。
所有玩家平手
GIVE UNITS TO PLAYER Give quantity units owned by player at location to player.。
将特定区域的一个玩家(前者)的一定数量的部队给另一个玩家(后者)
KILL UNIT Kill all units for player.。
杀死玩家的所有单位
KILL UNITS AT LOCATION Kill quantity units for player at location.。
杀死玩家的在特定区域的一定数量的单位。
LEADER BOARD (CONTROL ATLOCATION)。
Show Leader Board for most control of units at location. Display label: label。
显示目前特定区域里的单位控制情况。
LEADER BOARD (CONTROL)。
Show Leader Board for most control of unit. Display label: label。
显示目前单位控制情况
LEADER BOARD (GREED)。
Show Greed Leader Board for player closest to accumulation of number ore and gas.。
显示目前总的资源收集情况
LEADER BOARD (KILLS)。
Show Leader Board for most kills of unit. Display label: label。
显示目前杀死单位的情况
LEADER BOARD (POINTS)。
Show Leader Board for most points. Display label: label。
显示目前得分情况
LEADER BOARD (RESOURCES)。
Show Leader Board for accumulation of most resource. Display label: label。
显示目前资源收集情况
LEADER BOARD GOAL(CONTROL AT LOCATION)。
Show Leader Board for player closest to control of number of units at location. Display label: label。
显示还需在特定区域里控制多少单位可达目标。
LEADER BOARD GOAL(CONTROL)。
Show Leader Board for player closest to control of number of unit. Display label: label。
显示还需控制多少单位可达目标
LEADER BOARD GOAL (KILLS)。
Show Leader Board for player closest to number kills of unit. Display label: label。
显示还需杀死多少单位可达目标
LEADER BOARD GOAL (POINTS)。
Show Leader Board for player closest to number points. Display label: label。
显示距离目标得分还差多少
LEADER BOARD GOAL(RESOURCES)。
Show Leader Board for player closest to accumulation of number resource. Display label: label。
显示还需收集资源可达目标
LEADER BOARD COMPUTER PLAYERS Set use of computer players in leaderboard calculations.。
关闭或打开电脑的情况显示
MINIMAP PING Show minimap ping for current player at location.。
当前玩家的小地图显示警告框
MODIFY UNIT ENERGY Set energy points for quantity units owned by player at location to percent%.。
修改特定区域里一定数量的玩家控制单位的能量。
MODIFY UNIT HANGAR COUNT Add at most quantity to hangar for quantity units at location owned by player.。
修改特定区域里一定数量的玩家控制单位的弹药(如航母,金甲虫)
MODIFY UNIT HIT POINTS Set hit points for quantity units owned by player at location to percent%.。
修改特定区域里一定数量的玩家控制单位的生命值。
MODIFY UNIT RESOURCE AMOUNT Set resource amount for quantity resource sources owned by player at location to quantity.。
修改特定区域里一定数量的玩家控制单位的护盾。
MOVE LOCATION Center location labeled location on units owned by player at location.。
将一个特定区域移动到一个单位身上在一个特定区域内。
MOVE UNITS Move quantity units for player at location to destination.。
将玩家一定数量的单位由一个特定区域移动到另一个特定区域。
MUTE UNIT SPEECH Mute all non-trigger unit sounds for current player.。
关闭当前玩家所有非触发单位的声音。
ORDER Issue order to all units owned by player at location: order to destination.。
命令玩家的单位在从一个特定区域里移动.攻击.巡逻到另一个特定区域。
PAUSE GAME Pause the game.。
暂停游戏
PAUSE TIMER Pause the countdown timer.。
暂停倒计时
PLAY WAV Play WAV file。
播放一段声音
PRESERVE TRIGGER Preserve Trigger.。
循环执行当前触发
REMOVE UNIT Remove all units for player.。
移除玩家所有单位
REMOVE UNITS AT LOCATION Remove quantity units for player at location.。
移除玩家在特定区域里的一定数量的单位。
RUN AI SCRIPT Execute AI script script.。
运行一个人工智能
RUN AI SCRIPT AT LOCATION Execute AI script script at location.。
在特定区域运行一个人工智能
SET ALLIANCE STATUS Set Player to Ally status.。
设置当前玩家与另一个玩家同盟或敌对。
SET COUNTDOWN TIMER Modify Countdown Timer: Set duration seconds.。
设置倒计时时间
SET DEATHS Modify death counts for player: Set quantity for unit.。
设置玩家的死亡单位计数
SET DOODAD STATE Set doodad state for units for player at location.。
特定区域里小物件的设置
SET INVINCIBILITY Set invincibility for units owned by player at location。
设置特定区域里的玩家单位无敌
SET MISSION OBJECTIVES Set Mission Objectives to: text.。
设定本关任务
SET NEXT SCENARIO Load scenario after completion of current game.。
设定当前任务结束后读取的地图
SET RESOURCES Modify resources for player: Set quantity resource.。
为玩家设定一定数量的资源
SET SCORE Modify score for player: Set quantity points.。
设定玩家得分
SET SWITCH Set switch.。
开关设置
TALKING PORTRAIT Show unit talking to current player for duration milliseconds.。
为当前玩家显示单位肖像一段时间。
TRANSMISSION Send transmission to current player from unit at location.Play WAV file.Modify transmission duration: Set number milliseconds.Display the following text: Text。
设置一段对话。包括小地图上单位的地点显示,伴随的声音及文字。
UNMUTE UNIT SPEECH Unmute all non-trigger unit sounds for current player.。
解除当前玩家所有非触发单位的声音的关闭。
UNPAUSE GAME Unpause the game.。
解除游戏暂停
UNPAUSE TIMER Unpause the countdown timer.。
解除倒计时暂停
VICTORY End scenario in victory for current player.。
当前玩家任务胜利
WAIT Wait for duration milliseconds.。
等待一段时间(千分之一秒)
条件满足了就会执行结果
比如:
条件:我至少杀了一个人(player 1 kill at least one any unit)
结果:把我移动到监狱.
(Move all units for player 1 at anywhere to 监狱.)
---------------------------------------------------------------------------------------。
AI的使用
首先大家应该知道的是AI脚本有两大类:
1.是无分位置(Location,以下内容不作解释)的AI脚本。
2.是在指定位置运行的AI脚本。
先讲第一种吧:它的Actions是Run AI Script,其中有三项。
1.Send all unit on strategic suicide missions:是一种有计谋的杀戮行动!会把自己的兵力像是开扁似的全叫去打(只要去得到的地方),直至可能被杀到的敌人(包括以其敌对的电脑玩家!以下内容不作解释)全死或自己部队全死,否则就不停的杀杀杀!
2.Send all unit on random suicide missions:像是没用使用任何AI时一样,但警觉范围明显更大。
3.Switch computer player rescue passive:就是让该Player进入被缓救状态(就是你走前去就会加入的那种),简单地说该Player的Control(Player/Setting.....)变了Rescuable。
第二种的AI有很多!但其实大致分以下几类:
1.(种族省略)Custom level:星际旧版本(非血战)的建造基地AI,几乎没有进攻性。
2.还有Zerg/Terran/Protoss Campaign Easy/Medium/Difficult/Insane。
以下是各难度等级的介绍:
Easy:低级的发展和进攻AI,一般用来设计系列地图的初始关。
Medium:中等级别的发展和进攻AI,比Easy更晓得发展,会造更多的兵种,在系列地图中,头几关会用得着。
Difficult:一般与玩单人模式的AI差不了多少,大家心知,所以不作介绍。
Insane:有弱智和疯狂的意思,只会疯狂地造兵和发展,有频密的进攻而且所用兵种一次比一次高级的!但一般是以量取胜,且不死掉原有的低级兵种就不会想到去发展高级的,所以弱智,但当魔法和高兵种出现时异常难对付!有时还发傻似的乱打,如果基地大而又少防守公事的话,呵呵...等受罪吧。
还有一个特别的难度(其实不是难度等级):
Area town:只采矿,几乎不发展和造兵的AI!如果用于设置任务中电脑的分基地的AI的话就非常有用(这才是真正用途)。
注:加了Expansion字眼的AI是指以血战为基础的AI,若用没有Expansion一词的AI将不造血战的新兵种(如医生之类)和不升级新的科技(如大象的速度和皮+2的升级)!当然用来有Expansion字眼的AI文件会存为SCX文件。
设置联盟状态AI脚本:
Set player to(*状态)
*Enemy:以Player为敌;
*Ally:以Player为盟。
注:这种AI与Actaion中的Set alliance status有异曲同工之效(但是并非完全一样)!
value this Area higher:使电脑玩家在所用之处放兵力防守,一般是让电脑看守重要地方或建筑的AI。
Enter closest bunker:所用之处的Terran人自动进入最近的堡垒。
还有就是进出运输工具(各族的)
(*动作)Transport:
*Enter:陆地兵种们会进入该位置的运输工具;
*Exit:相反,这个AI会使运输工具里的东东出来。
注:Enter closest bunker和Enter/Exit Transport,还有Set player to Enemy/ally是可用在人类(Human)玩家上的。
怎样才能使电脑有好的作战AI呢?
注意以下几点:1.如果让电脑白手起家的话只是将位置放在总部上即可以,
但是要记住Zerg要给1个Overlord!
2.如果开头电脑玩家有相当范围的基地就把位置几乎覆盖整个基地较好。
3.如果要一个Super电脑,可帮它设一个作弊板机,例如:
Conditions:
-Alway
Actions:
-Modify resources for Current Player:Set 5000 Ore and Gas。
-Preserve trigger。
这样电脑就有用不尽的资源,呵呵.......。
4.别让电脑在Anywhere运行AI不然(发疯的采矿)......而且在运行AI的板机后面不要加Preserve trigger-狂造总部!!!还不能让一个电脑在二个有一定距离的地方用两个AI脚本!不然,它的工兵会跑个不停。呵呵,但可在分基地处用Campaign Area Town。
零升级,零造兵时间的制作
其实如果你以前游戏改多了就会了解“上限”,这一点当年我改仙剑是就发现了。星际同样,任何数据都有上限,要看它储存在内存中所占的16进制字节数,单字节储存的数据上限为255,(由此可只星际中是以单字节储存角色等级数的,所以人物最多只能升到255 级,想再高用什么修改器也是回天乏数了。除非联系“暴雪”请他们把游戏程序改写。:P) 双字节是65535 ,(举个例子,我的一张地图中升第 129 级时需要消耗 65500 水晶,而升第 130 级时忽然降为 436 个水晶,我们把这叫做升翻版了,当时我设置的升级基础是消耗 1000 水晶,每升一级多消耗 500 水晶,现在大家明白是什么原因了吧。)而升级时间比较特殊,经过我的多次测试,它的上限居然是 4369 !
好了,现在我们了解了数据的上限,也知道一旦超过这个上限,数值会返回原点,那么是不是说我们输入的数据正好超过上限加1,数据就会返回 0 呢?相信很多朋友在读到上段就想到了这点了吧,请相信你的推测,因为实际情况的确如此!
好了,如果你够聪明,下面的话就不用看了,和你心中想的是一样的。
为了避免在地图编辑器中升级时间累积那一项输入“0”后点确认时系统自动返回“1”,请输入数据“4370”后点确认〉存盘。下一步就去测试一下你心爱的地图吧~,要是你把升级基础时间也调成了“0”的话…… 呵呵~“operation cwal”的感觉知道吧~~~~。
爆炸与震动效果的实现
好莱坞的大片给我们带来的震撼效果少不了成吨的火药的铺垫。反观我们自己编的地图,怎么看怎么少了点火药味,不够刺激。
想让自己的任务火暴一点,同样少不了爆炸和震动的效果。怎么做?原理很简单: 产生一个Terran的机械单位并立刻杀死它。这样就有了爆炸效果了。不停地Center View 2个错开一点的区域(Location)就得到了震动效果。
1.爆炸效果
第一步 要定义一家电脑,并且和玩家属于不同的联盟。这样该电脑的隐型单位我们就看不到了。我们假设该玩家为Player8。
第二步 定义几个分布不规则的小区域,这些区域的位置就是爆炸火焰产生的位置。我们假设这些区域为Location1~7。
第三步 在满足某些条件后在每个区域里产生给我们事先定义的电脑玩家一个Terran的幽灵战机,并将该战机的属性里的“Cloaked”选项勾上,这样我们就看不到该单位了。
第四步 立刻跟上一个触发杀死该区域内的单位。注意,要用Kill,不是Rmove!否则你就看不到爆炸的硝烟。
这个触发的完整结构如下:
Players:
-Player8
Conditon:
-你自己的触发条件
Actions:
-Create 1 Wraith at ’Location1’ for Player 8. Apply properties.。
-Kill all Wraith for Player 8 at ’Location1’.。
依次将这样的触发应用在Location1~7上。这样我们就制成了爆炸的混乱局面。这种效果最好的应用之处就是在你的英雄功成身退,胜地大逃亡而敌方基地的狼狈不堪的时候了!
不过这里有个小小的问题。如果只用Terran的幽灵战机产生的爆炸效果单调了一点。其实Terran的不同机械单位和建筑爆炸的效果是不一样的。假如我们用不同的单位或建筑(使用那些可以飞的建筑,这样不会在地面上留下痕迹)来制作爆炸效果的话就更精彩了。但是它们不是隐形的,这些单位或建筑存在的时间虽然很短,但是我们仍然可以看得到。如果真的要实现,也许要单独提取这些爆炸画面了。
2.震动效果
震动效果就更容易了。先放置2个紧挨着的Location。相对位置可以参考右图。然后不停地交替Center View这两个Location。
Players:
-玩家
Condition:
- 你自己的触发条件
Actions:
-Center view for current player at ’Location 1’
-Center view for current player at ’Loaction 2’
这样不停地重复这个触发就可以做产生震动效果了。接着我们就可以把这两个效果结合起来,在震动的触发中间插入几个爆炸的触发动作。看上去就好象是因为震动引发了爆炸……
---------------------------------------------------------------------------------------。
RPG地图中的英雄配置
总体分四类:|战士|骑兵|射手|法师|(所有的最初级兵种都为火兵[FIREBAT])
(升级树带字母的表示分支)
名字()-[兵种]
一般兵[FIREBAT]
HP:200;DP:2;AP:16*2;UP(升级加的攻击):1*2。
战士类
火焰战士(FLAME WARRIOR)[FIREBAT(HERO)]。
HP:400;DP:4;AP:24*2;UP:2*2。
|a
血战士(BLOOD WARRIOR)[FENIX(ZEALOT)]。
HP:400+400;DP:10;AP:40*2;UP:4*2。
(特殊能力:敌人与自己贴身时吸血,其实是补满血,因为编辑器里没有每秒加几点血的动作)
|b
黑暗战士(DARK WARRIOR)[ZERATUL]。
HP:100+500;DP:2;AP:120;UP:10。
骑兵类
轻骑兵(LIGHT KNIGHT)[JIM(VULTURE)]。
HP:480;DP:5;AP:50;UP:5。
|a
圣骑兵(HOLY KNIGHT)[FENIX(DRAGOON)]。
HP:500+500;DP:12;AP:80;UP:10。
(特殊能力:不能升射程)
|b
龙骑兵(DRAGON KNIGHT)[Kukulza(MATULIST)
HP:720;DP:8;AP:100;UP:10。
射手类
浪人射手(ROGUE ARCHER)[JIM(MARINE)]。
HP:350;DP:3;AP:28;UP:1。
(特殊能力:已升射程和激素)
|a
幽灵射手(GHOST ARCHER)[GHOST(一般特种)]。
HP:520;DP:4;AP:48;UP:2。
(特殊能力:可投核弹)
|b
邪恶射手(INFERNAL ARCHER)[INFERST DUREN]。
HP:640;DP:5;AP:72;UP:3。
法师类
战斗法师(BATTLE MAGICIAN)[TASSDAR]。
HP:80+240;DP:3;AP:26;UP:1。
|a
邪恶法师(INFERNAL MAGICIAN)[INFERST KARRIGAN]。
HP:700;DP:6;AP:50;UP:2。
|b
幻影法师(INAGINARY MAGICIAN)[HIGH TEMPLAR“*2”]。
HP:80+320;DP:4;AP:\;UP:(特殊能力:1、可以合体;2、两个法师必须同时在同一较小范围内活动,任何一个离开都恢复到这个区域,只死亡其中一个时,重新创造一个在这个区域。只有两个同时死亡,才会彻底死亡)
|b合体
狂热法师(ZEALOUS MAGICIAN)[ARCHON(普通的)]。
HP:200+1000;DP:6;AP:100;UP:20。
Flash选项管理可以控制您的Flash播放器的存储,保密性和网络设置,使用Flash选项管理应用程序快捷方式。
1.首先呢,要确保你的 unity 是从官网上下载的,不然后面的操作你可能会卡住哦。(如果你的 unity 并不是从官网上下载的,那么你可以从 unity hub 中将你这个 unity 卸载,然后去官网下载一个新的 unity,在这里博主给大家提供一个unity下载所有版本的官网,找不到的小伙伴直接点击此链接去下载就好了) unity下载所有版本的官网。
https://unity.cn/releases/full/2019。
2.接下里就要看看你的 unity 安装的时候有没有选择 unity 自带的 Andriod Build Support、Android SDK & NDK Tools。
2.1 打开unityhub。
2.2点击你使用的 unity 版本的后面那个小齿轮,选择添加模块 。
2.3查看下方图片内的模块你是否安装,如果没有,选中并且安装到你的电脑上就可以了。
3.进入 untiy,点击 Edit 下的 Preference。
4.在Preference 的External Tools中 将下面的几个都选中。
5.接下来点击 File --> Build Settings。
6.找到 Android,将 Development Build 选中,点击Switch PlatForm按钮,最后点击左下角的 Player Settings...。
7.选中 Player 面板,点开 Publishing Setting,点击 Keystore Manager...。
8. 点击 Keystore...选中 Create New,我们选择在指定的路径下创建一个 Key,点击In Dedicated Location...之后选择你的任意磁盘上的任意路径下,只要你能记得住就可以。
9.Alias 是给你新建的 key 起一个别名,password 和 Confirm password 输入相同的你想要设置的密码,Organization 填上你组织的名称,可以先随便起一个,之后点击右下角的 Add Key。
10.点击 Select...选择你刚刚在指定的路径创建的 key ,在两个 password 后输入你设置的密码之后就可以了。
11.最后回到 Build Settings 面板,点击 Build 选择一个路径,起一个名字就大功告成了。
12.最后等待一段时间把生成的 apk 文件通过 QQ 等方式发送到自己的手机安装就可以了!