unity animationcurve怎么判断使用

聊聊状态机——Unity探索笔记之动画解决方案(一) - 知乎专栏
{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"contributes":[{"sourceColumn":{"lastUpdated":,"description":"豆狸小盆友的笔记本","permission":"COLUMN_PUBLIC","memberId":1131861,"contributePermission":"COLUMN_PUBLIC","translatedCommentPermission":"all","canManage":true,"intro":"","urlToken":"doulinote","id":20364,"imagePath":"v2-4c75bd1b0ccce6c49e4e78a38495d4da.jpg","slug":"doulinote","applyReason":"0","name":"程序媛豆狸的笔记本","title":"程序媛豆狸的笔记本","url":"/doulinote","commentPermission":"COLUMN_ALL_CAN_COMMENT","canPost":true,"created":,"state":"COLUMN_NORMAL","followers":461,"avatar":{"id":"v2-4c75bd1b0ccce6c49e4e78a38495d4da","template":"/{id}_{size}.jpg"},"activateAuthorRequested":false,"following":false,"imageUrl":"/v2-4c75bd1b0ccce6c49e4e78a38495d4da_l.jpg","articlesCount":20},"state":"accepted","targetPost":{"titleImage":"/v2-5d40222afe5c047f344a499c_r.jpg","lastUpdated":,"imagePath":"v2-5d40222afe5c047f344a499c.jpg","permission":"ARTICLE_PUBLIC","topics":[6199],"summary":"1. 总体介绍要做个Demo,结果又碰到个比较生的领域——怎么做出我想要的动画状态机,这里面包括了几个我不是很懂的方面:如何划分动作使用情形?需不需要用Blend Tree及怎么使用?动作间的过度怎么搞?变量的一些细微区别? 2. 拿到一些Animation Clip,如…","copyPermission":"ARTICLE_COPYABLE","translatedCommentPermission":"all","likes":0,"origAuthorId":0,"publishedTime":"T18:42:06+08:00","sourceUrl":"","urlToken":,"id":1917561,"withContent":false,"slug":,"bigTitleImage":false,"title":"聊聊状态机——Unity探索笔记之动画解决方案(一)","url":"/p/","commentPermission":"ARTICLE_ALL_CAN_COMMENT","snapshotUrl":"","created":,"comments":0,"columnId":20364,"content":"","parentId":0,"state":"ARTICLE_PUBLISHED","imageUrl":"/v2-5d40222afe5c047f344a499c_r.jpg","author":{"bio":"努力当个程序媛里长的最可爱的","isFollowing":false,"hash":"162cb71c258d70a1475e","uid":44,"isOrg":false,"slug":"sakura3301","isFollowed":false,"description":"","name":"豆狸","profileUrl":"/people/sakura3301","avatar":{"id":"c11c25af841accd2a449d51fcf5a53bb","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"memberId":1131861,"excerptTitle":"","voteType":"ARTICLE_VOTE_CLEAR"},"id":494028}],"title":"聊聊状态机——Unity探索笔记之动画解决方案(一)","author":"sakura3301","content":"1. 总体介绍要做个Demo,结果又碰到个比较生的领域——怎么做出我想要的动画状态机,这里面包括了几个我不是很懂的方面:如何划分动作使用情形?需不需要用Blend Tree及怎么使用?动作间的过度怎么搞?变量的一些细微区别?2. 拿到一些Animation Clip,如何在不知道游戏规则的前提下,分门别类?\n\n下图是我拿到Animation Clip,开始看到它们的时候我的内心是崩溃的(此处应有表情包,可惜我没有……)。(图1)我感觉这些应该是在某种游戏规则下才能搞定的分类,如战斗或非战斗两大类,可我目前还没确定游戏规则(希望在做出最小系统的情况下,用系统套规则,而不是直接上特定的系统,这样的好处是将来换个规则我还能用大部分系统)。所以目前情况是没有策划案就要写代码,怎么办?运用“奥卡姆剃刀”原理(如无必要,勿增实体),首先分为人是生是死两大类,在生的情况下,再根据传统游戏经验,分为持续动作和非持续动作两大类,分到这里就可以了,再下去就是具体游戏规则的调用了。注意:1) 这里写的很简略,但当时做的时候非常纠结,心里老是预设游戏规则,一直陷在战斗和非战斗两大类里,折腾来折腾去没有头绪。2) 我也找了教程看其他人怎么做的,可惜那些动作都非常有自我针对性,一般都是拿对称动作举例,如向左跑、向右跑,后来只好请教别人,知道了“奥卡姆剃刀”后,才想出这个分类法。3.
\n知道分类后,判断需不需要Blend Tree?\n\n\n\n\n\n\n\n\n\n\n\n\n\n下图是我提出的分类法实例展示。(图2)虽然在网上找的资料对我分类动作没有帮助,不过倒把Blend Tree给学习了一下。持续性动作包括很多:Walk,Run,Dash很明显是因为速度不同(典型的控制单一变量)而产生的不同动作,所以非常适合用Blend Tree(1D)来实现,最终我又把持续性的动作分为了Stay和Move两种,一种保持在原地,一种需要移动。注意:1) 究竟要不要把Idle算到Move这个Blend Tree里?纠结这点是因为很多视频教程都算进去了,但是他们和我的动作区别是,我这边除了速度为零的Idle,还有Defend等这些动作,这些速度也为零,但除此之外和Walk就没有共同点了,我尝试了硬把Defend放进去,把Blend Tree Type设置为2D Freeform Cartesian(横纵坐标不代表方向,而是自设的变量),结果复杂无比不说,动画也很奇怪,最后就把Defend、Upset、Victory、Idle放到Stay这个子状态机里。2) 关于Blend Tree Type的一些解释1D——只根据一个变量就能改变的几种动作,通常是速度或角度。2D Simple Directional——可以在众多方向上设置动作,但是每个方向只能代表一个动作,另外千万不要认为只能在横纵坐标上设置动作。2D Freeform Directional——也可以在多方向上设置动作,但每个方向可以代表多个,就是说每个方向是一个1D。2D Freeform Cartesian——横纵坐标的意义可以自己设置,也可以有多方向,当时我为了把Idle、Defend合进去,就把横纵标设为speed,纵坐标设为StayType。Direct——首先每个动作要设置一个变量,每个动作根据这个变量的权重来互相影响。注意一个小问题:设置的变量只能用float型,我也不知道为什么。4. 子动作状态机之间的变量设置及连接\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n变量设置如下图(图3)解释(从上到下):根据人物是否活着分类,肯定需要个布尔值来判断;图2中,Stay子状态机里有多个动作,要区分只能用一个int型了;不能持续的动作,只触发一次用trigger,区别触发哪个也是用int;最后一个speed用来在Blend\nTree里控制不同的移动。1) 动作之间的连接从图2大方面说:一开始必定是触发Stay里的默认状态Idle;任何状态都会触发Die或OnceAction里的动作,都需要两个条件(isLive和triggerOnceAction),它们只是isLive条件不同;Stay和Move里动作的切换通过判断speed是不是为0.001;最后Die和Stay直接一定要连接(isLive==true),否则从复活后就回不到默认Idle了。注意:a)
\n从Any State到Die,除了判断isLive==FALSE之外,一定要加上triggerOnceAction这个条件,否则人物死亡会一直重复动作Die,因为Any State状态里也包括Die,就是说死亡后又判断条件,结果符合就继续死亡动画,用trigger来控制,我的理解是trigger能保证动作只能执行一次。b)
\n为什么speed==0.001,而不是0?因为误差,这个小数点后几位是自己调出来的。2) 从小的方面来说(图4)(图5)为什么有的动作用橘色表示?首先整个状态机必须只有个一个默认状态,这个默认状态用橘色表示,图2中,这个动作在Stay-Idle上,所以图5中,就算动作通过trigger触发了一次后也可以自动回到Idle上。为什么图4,图5中有的transition的线是深橘色,并且有多个箭头?深橘色表示连接到默认动作,但是如果外部有变量控制得话,默认会不起效果,如图5中的状态;多个箭头表示这上面有多个transition或有transition脚本。图4中,从Entry到每个动作、每个动作间的transition就是stayState的切换;从每个动作到Exit,条件就变为speed&0.001。为什么图4出Stay状态机的条件仅仅是速度?因为这个圈子包括了整个状态机的默认状态,打破这个平衡就两个条件:要不去执行OnceAction里某个动作,但是执行完了还会回来;要不就是变到另一种持续状态,速度不为零的某个运动状态,然后保持住。前一种状态有Any State来保证了,所以这里就不需要再写。图5中,从Entry到每个状态,只需要判断OnceActionType的int值,出去不用做什么判断,因为(再强调一遍)这里的动作都是用trigger触发的,注意这里,如果没有连接各个动作到Exit的话(这里的transition不需要有条件),执行一遍这里动作就回不到默认Idle动作了,因为没有出口。到这里,(其实中间的每一步都和别人讨论了很久)一个比较复杂(不是轴对称动作)的状态机就完成了。三个星期没更新专栏真是抱歉了呢~Blender上手虽然比较快,但是我离熟悉还有段距离。给你们看看我的成果,一个low-poly的牛仔,讲真,蛮自豪的呢~也就新手班排名前五吧!最后想说点政治不正确的话开专栏了这么久,会遇到一些热心网友给我的各种留言和私信,我其实挺感激的,因为代表了他们对你的信任,中间有我能回答的我第一时间看到后都会回答,希望能力所能及的帮上忙,可是呢,总会有不太开心的情况出现。第一种比较常见的就是,没头没脑的问你“我没实现XXX这是为什么”,问出这种问题的,通常是学生或刚工作没多久的人,首先我建议你读一本书叫《学会提问》,同时请问你,不知道你任何操作步骤的情况下我怎么回答你,什么都不描述,你就是在知乎发个问题,请个高手来回答,我估计喷你的可能性会高一些吧。我也关注了一些大神回答一些比较初级的问题,能回答的都是问题本身是有理有据,有详细的步骤或代码描述的。第二种,我不回答用Google能搜出来的问题,因为没什么好回答的,如“请问XXX是什么/怎么配置/怎么实现?”第三种,目前碰到单例,十分让我不爽,一定要我当时帮他解决某某问题,还说这问题一定对我来说很简单,我就问你你的判断标准是什么?!你怎么知道有我空没空呢?!我客气得表示目前没空,就不理我+把我删了,真没礼貌呢小伙子!我以前在知乎或者某学习研究群里也问过问题,最终的结果是别人能帮你的真的很少,就算帮能不能帮到点上也很愁人,因为要描述清楚问题怎么出现的,出现在哪,整个问题的流程是个需要功力的活,往详细的讲,大家的注意力和精力很宝贵,没空看,往简略的讲,大家最多给你个可能的方向,怎么解决还是得靠自己。目前,我在学习中也遇到很多问题,往近了说就是学Blender的时候,各种对新手来说很神奇的坑,我只有靠我自己的英文水平和翻Google的能力,那种实在太特定并且复杂的问题,推荐当面找熟人问吧!我目前还在学习英文,虽然体力不如以前,但是分析能力上了很大一个台阶,感觉英语学起来不是那么枯燥难懂了,因为需要不停的去用、去练,当我能听懂YouTube上的视频时,成就感爆棚啊!~好了,不小心扯了这么多,本篇就到这里,欢迎您的收看,我们下次再见!~","updated":"T10:42:06.000Z","canComment":false,"commentPermission":"anyone","commentCount":13,"collapsedCount":0,"likeCount":14,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/v2-5d40222afe5c047f344a499c_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[{"url":"/topic/","id":"","name":"Unity(游戏引擎)"}],"adminClosedComment":false,"titleImageSize":{"width":658,"height":439},"href":"/api/posts/","excerptTitle":"","column":{"slug":"doulinote","name":"程序媛豆狸的笔记本"},"tipjarState":"inactivated","annotationAction":[],"sourceUrl":"","pageCommentsCount":13,"hasPublishingDraft":false,"snapshotUrl":"","publishedTime":"T18:42:06+08:00","url":"/p/","lastestLikers":[{"bio":"unity","isFollowing":false,"hash":"c929a14b881c2d21ae0af8ad2865dfc7","uid":759600,"isOrg":false,"slug":"a-ding-89-47","isFollowed":false,"description":"","name":"阿丁","profileUrl":"/people/a-ding-89-47","avatar":{"id":"da8e974dc","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"业余游戏开发","isFollowing":false,"hash":"781dac9ea9bae4b9a4b6cc3e2e2aac2f","uid":92,"isOrg":false,"slug":"wu-zhi-yuan-23","isFollowed":false,"description":"","name":"特立独行的猪","profileUrl":"/people/wu-zhi-yuan-23","avatar":{"id":"e1e15ffc03afa95ed83c9d","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":null,"isFollowing":false,"hash":"a9a16ab6b1b4cc2ccd643b1","uid":532740,"isOrg":false,"slug":"zhi-hu-zhe-ye-51-40","isFollowed":false,"description":"","name":"之乎者也","profileUrl":"/people/zhi-hu-zhe-ye-51-40","avatar":{"id":"f3faf0ffb634c938c6a44d14ca0f0593","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"充满好奇心的青年/游戏玩家/宅/","isFollowing":false,"hash":"8e9cb87da9a782c2d1eb177a","uid":84,"isOrg":false,"slug":"qin-yiwen","isFollowed":false,"description":"年龄 == 废宅资历\n兴趣爱好广泛
//全部未入门","name":"秦一文","profileUrl":"/people/qin-yiwen","avatar":{"id":"cf2b0772c","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"我们的世界","isFollowing":false,"hash":"80dd20b902aa23e0b68f71bb530e3433","uid":365800,"isOrg":false,"slug":"chen-jia-de-2-84","isFollowed":false,"description":"","name":"行方","profileUrl":"/people/chen-jia-de-2-84","avatar":{"id":"7adb67c01b8b1e","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false}],"summary":"1. 总体介绍要做个Demo,结果又碰到个比较生的领域——怎么做出我想要的动画状态机,这里面包括了几个我不是很懂的方面:如何划分动作使用情形?需不需要用Blend Tree及怎么使用?动作间的过度怎么搞?变量的一些细微区别? 2. 拿到一些Animation Clip,如…","reviewingCommentsCount":0,"meta":{"previous":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/50/v2-e1afabec612c2be6341eda8b0e7aa399_xl.jpg","links":{"comments":"/api/posts//comments"},"topics":[{"url":"/topic/","id":"","name":"Unity(游戏引擎)"}],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"努力当个程序媛里长的最可爱的","isFollowing":false,"hash":"162cb71c258d70a1475e","uid":44,"isOrg":false,"slug":"sakura3301","isFollowed":false,"description":"","name":"豆狸","profileUrl":"/people/sakura3301","avatar":{"id":"c11c25af841accd2a449d51fcf5a53bb","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"doulinote","name":"程序媛豆狸的笔记本"},"content":"本篇关键词为什么用UMAUMA资源UMA四个基本术语:Slot , Overlay , DNA , RacePipelineBlender正文1. 为什么又想用UMA了?UMA发音乌门儿(音标不好打见谅),不要读成三个字母哦。其实不是 Mixamo 不好,而是用它做了个模型后发现,它的使用范围有点窄,一是只能做写实风格的人物,我想做个局部夸张的Q版都不行,比如肩部到两个上手臂发达的战士;二是我想给人物加点装备或是加个翅膀,貌似没有直接提供接口让我实现吧?强加的话估计就只能去看Unity提供的 Vertices , mesh 等 API 了,那样的话,我的游戏不知道什么时候能开始做了。UMA 就不一样了,因为它把 Avatar 用代码在Unity里封装了一遍,所以天然对程序员友好,而且在Unity之外还是可以无缝跟美术对接的,只要做出符合条件的资源就可以;它还有个好处是,在什么都不确定,不可能请人做模型的情况下,符合“改改就能用”准则。那再稍微说下 UMA 缺点,经过两个星期的学习,对于不会美术的程序员(比如我)有点费劲,难点在于必须自己在3D软件里建模,自己做贴图,我看作者和其他教程的录制者来说,这都是小意思,他们两手抓两手都硬,所以我要用的话就得暂时去学习下 Blender 了。2. UMA的学习资料来源及比较1) UMA Manual优点:前部分可以了解到作者的创者意图;中部说怎么做UMA“素材”,因为作者什么都会,所以说的很简略;后一部分可以大致了解下UMA基本概念和基本API,真的都是基本的。缺点:对于你直接导入FBX文件,写个程序试试看没什么直接帮助;Manual里语法错误真多(原来某些中国人的常见错误,全世界人民都一样哈哈哈),不止一两处哦。2) 优点:特别详细!我只看了前几个,目前不适合我就没继续看,从标题来看方方面面都说了下,毕竟作者最了解自己的作品。缺点:这人发音实在接受不了,说话声音小,建议戴耳机听,极大考验我的听力;从前几个视频来看他的重点放在了建模和贴图上,程序一笔带过,我 ZBrush 和 Blender 都不会用,挺着急的。3) 优点:这个教程的点击率可比UMA作者的点击率高多了,看完这个教程,你能迅速明白 UMA的概念,在程序方面能干什么,没有纠结在美术上,对程序员比较友好。缺点:声音小需要戴耳机,说话挺快的,在一些 API 方面讲的不是特别明白,当然API方面好像所有的教程都不讲,需要自己去琢磨了。4) 优点:这个教程给你介绍+举例了一个完整的 UMA pipeline 是怎么回事,美术资源如何处理,怎么在 Unity 里处理写代码都说了,比较全面。缺点:前面介绍pipeline的时候,废话实在有点多,程序的部分只介绍最基本的。以上资料最好都根据重点都看一遍。另外很抱歉,中文只搜到一个把Manual整个翻译一遍的博客,除此之外没有任何其他中文资料,有的话欢迎提醒我。3. UMA四个基本术语:Slot , Overlay , DNA , Race这四个基本术语是掌握UMA的关键,建议先看一遍Manual里是怎么解释的,然后做一遍 A Practical Guide to UMA 来加深理解,我认为 Practical\nGuide 里的解释比 Manual 好,但是需要体验一下过程再理解。下面说下我的理解,其实是参照 Practical Guide1) Slot:就是 mesh,组成 character 的基本单位。SlotList是有顺序的,这个顺序视频有给出,我不太明白的是在特定位置加 slot 怎么反应在代码里(比如加翅膀),总隐约感觉是3D软件里处理好后,放到基础 slot 列表里最后一个,这个我以后做的时候会验证一下。2) Overlay:蒙在 mesh 上的贴图,就是 character 的皮肤。3) DNA:改变外形的一组参数。4) Race:一组链接到特定用途 mesh 的 slots,分为男人和女人。4. 什么是 pipeline?就是做事流程的高雅叫法。为什么我也很强调,因为以前在公司做事时没特别留意到,现在自己做东西才发现规范化这个过程很重要。拿我现在学 UMA 过程举例:开始我只关注程序部分,怎么把它显示出来,操作它,学完后觉得还挺容易的,什么都给你做好了,调调参数就行了,可是一旦我要自定义了,麻烦来了,导入 Unity 之前的工作是什么完全不知道,回头又看了几遍Manual还是不会,这才开始了网上找教程之旅,或详细或简略的看教程,一个个解决内心的疑问,把他们穿起来才明白了整个 pipeline。总结下整个过程也挺简单的,不就是先建模,再骨骼,然后蒙皮,最后导入 Unity 嘛!你要是和他人协作那当然没问题,只要关心自己的一亩三分地就行。可对我来说,我的情况需要每个环节都掌握,不求精通但求基础,随便拿个东西能改,出问题能查,能根据自己的需求和标准设计 pipeline 是个很重要的能力,并且在这个过程中也提高了自学能力。5. Blender我的pipeline第一步建模我都不会,现在学习中……之所以选择Blender不光因为免费且开源,还因为作者也用它,对于初学者来说,一步步复现都挺困难的,3D MAX这种太专业,就交给专业美术同志吧。我惊讶于Blender的强大,它居然还是个游戏引擎,提供了Python接口给你自己开发。作者碎碎念:1.
\n说个小小问题,好的教程都是英文的,且在YouTube上(YouTube真是好好好方便哦~~~)被各种英文教程虐完发现,我的听力还是不行啊,我学的是英式英文,但是为啥我听美式发音这么顺耳呢,英式那种短促的发音真是难以辨清,再说的快……虐哭……看来我又要去读文章了,老师还说我最近有进步来着……2.
\n不知道为什么,走上社会年纪大了后,就越来越不想把时间浪费在找免费的key上,能花点小钱解决那就花钱吧,不想花钱就找免费的软件来用吧,比动不动就提示你“软件过期”或“您是盗版软件的受害者”要舒心一点,并且免费也没那么难用嘛!3.
\n可能又要分别俩星期啦,学Blender去喽~~感觉当个技术美术也好有意思啊!好了,本篇就到这里,感谢您的收看,(让我们大力挥手)下次再见喽!~","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T15:34:37+08:00","url":"/p/","title":"UMA——Unity探索笔记之视觉解决方案(二)","summary":"本篇关键词为什么用UMAUMA资源UMA四个基本术语:Slot , Overlay , DNA , RacePipelineBlender正文1. 为什么又想用UMA了?UMA发音乌门儿(音标不好打见谅),不要读成三个字母哦。其实不是 Mixamo 不好,而是用它做了个模型后发现,它的使用范围有点窄,一是…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":5,"likesCount":7},"next":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/50/v2-00e1efaf1a21f8a95bf2f5c032be87c1_xl.jpg","links":{"comments":"/api/posts//comments"},"topics":[{"url":"/topic/","id":"","name":"电子游戏"},{"url":"/topic/","id":"","name":"电子游戏产业"},{"url":"/topic/","id":"","name":"雅达利"}],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"努力当个程序媛里长的最可爱的","isFollowing":false,"hash":"162cb71c258d70a1475e","uid":44,"isOrg":false,"slug":"sakura3301","isFollowed":false,"description":"","name":"豆狸","profileUrl":"/people/sakura3301","avatar":{"id":"c11c25af841accd2a449d51fcf5a53bb","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"doulinote","name":"程序媛豆狸的笔记本"},"content":"为什么突然转画风要了解下历史?直接原因,老是被某些人说,你一个游戏行业的连这个(“这个”指的是某个在游戏界常识性知识,因为不玩游戏我可能连听都没听说过)都不知道?!(实在是烦透了!)间接原因,虽然身为个程序员,只要乖乖把策划要求的功能做出来就好了,可是时间久了总会想既然下决心做一行爱一行了,那了解游戏背后的历史也是很有必要的。我们不是常说以史为鉴,可以知兴替,历史是过往事件的总和,历史的眼光是总结性地看待过去以及预见性的看待未来,其中间是选择性的评价现在。资料来源:1. B站视频2. 某些词条参考维基百科3. 整个大纲来自某个不愿署名的游戏界高手(我认为的)警告!图片非常大,小心流量!观后感:1. 小时候家里穷连游戏都玩不起,没有参与到这个历史进程里感到非常遗憾啊!仙剑奇侠传我看别人(不同人)玩了四遍,我一遍都没玩过。2. 开始了解任天堂历史的时候,觉得山内溥真是心胸狭窄的人,后来更深一层了解整个历史后,觉得一个帝国是需要一位独裁者,不过这个帝国也会毁于这个人。3. 我对山内溥的识人眼光佩服的五体投地,啥时候我也能有这样的能力呢?4. 我觉得世嘉好惨啊,再一次感慨商城如战场,一步错步步错,可这步到底是不是下错了,只能靠自己了。5. 我提了个关于游戏历史的问题,,而不是其他国家?希望有知道的人能提供下线索。\n\n6. 这几天会继续把欧美和中国的都总结上。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T23:13:28+08:00","url":"/p/","title":"电子游戏发展史1——日本篇","summary":"为什么突然转画风要了解下历史?直接原因,老是被某些人说,你一个游戏行业的连这个(“这个”指的是某个在游戏界常识性知识,因为不玩游戏我可能连听都没听说过)都不知道?!(实在是烦透了!)间接原因,虽然身为个程序员,只要乖乖把策划要求的功能做出…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":2,"likesCount":9}},"annotationDetail":null,"commentsCount":13,"likesCount":14,"FULLINFO":true}},"User":{"sakura3301":{"isFollowed":false,"name":"豆狸","headline":"","avatarUrl":"/c11c25af841accd2a449d51fcf5a53bb_s.jpg","isFollowing":false,"type":"people","slug":"sakura3301","bio":"努力当个程序媛里长的最可爱的","hash":"162cb71c258d70a1475e","uid":44,"isOrg":false,"description":"","profileUrl":"/people/sakura3301","avatar":{"id":"c11c25af841accd2a449d51fcf5a53bb","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{"experimentFeatures":{"ge3":"ge3_9","ge2":"ge2_1","nwebStickySidebar":"sticky","newMore":"new","liveReviewBuyBar":"live_review_buy_bar_2","liveStore":"ls_a2_b2_c1_f2","isOffice":"false","homeUi2":"default","answerRelatedReadings":"qa_recommend_with_ads_and_article","remixOneKeyPlayButton":"headerButton","qrcodeLogin":"qrcode","newBuyBar":"livenewbuy3","newMobileColumnAppheader":"new_header","zcmLighting":"zcm","favAct":"default","appStoreRateDialog":"close","mobileQaPageProxyHeifetz":"m_qa_page_nweb","iOSNewestVersion":"4.2.0","default":"None","wechatShareModal":"wechat_share_modal_show","qaStickySidebar":"sticky_sidebar","androidProfilePanel":"panel_b"}},"columns":{"next":{},"doulinote":{"following":false,"canManage":false,"href":"/api/columns/doulinote","name":"程序媛豆狸的笔记本","creator":{"slug":"sakura3301"},"url":"/doulinote","slug":"doulinote","avatar":{"id":"v2-4c75bd1b0ccce6c49e4e78a38495d4da","template":"/{id}_{size}.jpg"}}},"columnPosts":{},"columnSettings":{"colomnAuthor":[],"uploadAvatarDetails":"","contributeRequests":[],"contributeRequestsTotalCount":0,"inviteAuthor":""},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"switches":{"couldAddVideo":false},"draft":{"titleImage":"","titleImageSize":{},"isTitleImageFullScreen":false,"canTitleImageFullScreen":false,"title":"","titleImageUploading":false,"error":"","content":"","draftLoading":false,"globalLoading":false,"pendingVideo":{"resource":null,"error":null}},"drafts":{"draftsList":[],"next":{}},"config":{"userNotBindPhoneTipString":{}},"recommendPosts":{"articleRecommendations":[],"columnRecommendations":[]},"env":{"edition":{},"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"},"isApp":false},"sys":{},"message":{"newCount":0},"pushNotification":{"newCount":0}}}

我要回帖

更多关于 unity animationcurve 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信